From the post Understanding Frama-C slicer results, it seems Frama-C supports the forward conditioned slicing with Frama-C. For the following example test.c, I wonder how to do the forward conditioned slicing with the specific function "event". @Pascal Cuoq
/*@ requires a == 1 ;
*/
#include <stdio.h>
int event() {
int r;
scanf("%d", &r);
if (r>10) return 1;
else return 0;
}
void event_process() {
int x=0;
printf("event process\n");
x=1;
}
void no_event()
{
int y=0;
printf("no event\n");
}
void main ( ) {
int a;
if((a=event()) == 1)
event_process();
else
no_event();
printf("in main\n");
return;
}
I tried frama-c test.c -slice-calls event -then-on 'Slicing export' -print, why it outputs as follows:
/* Generated by Frama-C */
void event_slice_1(void)
{
return;
}
void main(void)
{
event_slice_1();
return;
}