package test;
interface AllTestCases{
// Reaching Definition Analysis
static interface RD{
public final String MAIN_CLASS = "test.cases.RD";
public static String[] INTRAPROC = {
"<test.cases.RD: void test_stack_rd()>",
"<test.cases.RD: void test_heap_rd()>",
"<test.cases.RD: void test_array_dep()>",
"<test.cases.RD: void test_kill()>",
"<test.cases.RD: int test_on_entry(int,int)>"
};
public static String[] INTERPROC = {
"<test.cases.RD: void test_simple_call()>",
"<test.cases.RD: void test_single_call()>",
"<test.cases.RD: void test_virtual_call(int)>",
};
}
// Reaching Use Analysis
static interface RU{
public final String MAIN_CLASS = "test.cases.RU";
public static String[] INTRAPROC = {
"<test.cases.RU: void test_stack_ru()>",
"<test.cases.RU: void test_heap_ru()>",
"<test.cases.RU: void test_array_ru()>",
"<test.cases.RU: void test_global()>",
"<test.cases.RU: int test_on_entry(int,int)>"
};
public static String[] INTERPROC = {
"<test.cases.RU: void test_simple_call()>",
"<test.cases.RU: void test_single_call()>",
"<test.cases.RU: void test_virtual_call(int)>"
};
}
// DependenceQuery
static interface DepQuery{
public final String MAIN_CLASS = "test.cases.DepQuery";
public static String[] CTRL_DEPENDENCE_QUERY = {
"<test.cases.DepQuery: int test_ctrl_dep1(int)>",
"<test.cases.DepQuery: int test_ctrl_dep2(int)>",
"<test.cases.DepQuery: int test_ctrl_dep3(int)>",
"<test.cases.DepQuery: int test_ctrl_dep4(int)>",
"<test.cases.DepQuery: int test_ctrl_dep5(int)>",
"<test.cases.DepQuery: int test_ctrl_dep6(int)>",
};
public static String[] FLOW_DEPENDENCE_QUERY = {
"<test.cases.DepQuery: int test_flow_dep1(int)>",
"<test.cases.DepQuery: int test_flow_dep2(int)>",
"<test.cases.DepQuery: int test_flow_dep3(int)>",
"<test.cases.DepQuery: int test_flow_dep4(int)>",
"<test.cases.DepQuery: int test_flow_dep5(int)>",
};
public static String[] ANTI_DEPENDENCE_QUERY = {
"<test.cases.DepQuery: int test_anti_dep1(int)>",
"<test.cases.DepQuery: int test_anti_dep2(int)>",
"<test.cases.DepQuery: int test_anti_dep3(int)>",
};
public static String[] OUTPUT_DEPENDENCE_QUERY = {
"<test.cases.DepQuery: int test_output_dep1(int)>",
"<test.cases.DepQuery: int test_output_dep2(int)>",
};
}
static interface SDGCases{
public final String[] CLASSES = {
"test.cases.SDG1",
"test.cases.SDG2",
"test.cases.SDG3",
"test.cases.SDG4",
"test.cases.SDG5",
"test.cases.SDG6",
"test.cases.SDG7",
"test.cases.SDG8",
};
public static String[][] SDG_ENTRIES = {
{
"<test.cases.SDG1: void test1()>",
"<test.cases.SDG1: void test2()>",
"<test.cases.SDG1: void test3()>",
"<test.cases.SDG1: void test4()>",
"<test.cases.SDG1: void test5()>",
"<test.cases.SDG1: void test6()>",
"<test.cases.SDG1: void test7()>",
},
{
"<test.cases.SDG2: void test1()>",//10
"<test.cases.SDG2: void test2()>",
},
{
"<test.cases.SDG3: void test1()>",
},
{
"<test.cases.SDG4: void test1()>", //16
"<test.cases.SDG4: void test2()>",
"<test.cases.SDG4: void test3()>",
"<test.cases.SDG4: void test4()>",
"<test.cases.SDG4: void test5()>",
"<test.cases.SDG4: void test6()>",//21
},
{
"<test.cases.SDG5: void main(java.lang.String[])>",
},
{
"<test.cases.SDG6: void test1()>",
},
{
"<test.cases.SDG7: void test1()>",
}
};
}
public final String SLICE_MAIN_CLASS = "test.cases.Slice";
//////////////////////// PDG Construction ////////////////////////////
public final String PDG_MAIN_CLASS = "test.dependency.cases.PDG";
public static String[] PDG = {
"<test.cases.PDG: void test_param_passing()>",
"<test.cases.PDG: void test_reflection()>",
};
//////////////////// Local Slicing Test Cases ///////////////////////
public static String[] SLICING_START={
"<test.cases.Slice: void test1()>",
"<test.cases.Slice: int A(int,int)>",
"<test.cases.Slice: void test2()>",
"<test.cases.Slice: void test3()>",
"<test.cases.Slice: void test4()>",
"<test.cases.Slice: void test5()>",
"<test.cases.Slice: void test6()>",
"<test.cases.Slice: void test7()>",
"<test.cases.Slice: void main(java.lang.String[])>",
};
/////////////////////////////////////////////////////////////////////
public final String[] FIELDS = {
"<test.cases.Slice$C: int global>",
"<test.cases.Slice$C: int f>",
};
public static String[] RD_HEAP_STRONG_UPDATE = {
"<test.cases.PDG: void test_kill_2()>",
"<test.cases.PDG: void test_kill_3()>",
"<test.cases.PDG: void test_kill_4()>",
"<test.cases.PDG: void test_kill_5()>",
"<test.cases.PDG: void test_kill_6()>",
"<test.cases.PDG: void test_kill_7()>",
"<test.cases.PDG: void test_kill_8()>"
};
public static String[] RD_HEAP_INTERPROC_STRONG_UPDATE = {
"<test.cases.PDG: void test_interproc_kill_1()>",
"<test.cases.PDG: void test_interproc_kill_2()>",
"<test.cases.PDG: void test_interproc_kill_3()>",
"<test.cases.PDG: void test_interproc_kill_4()>"
};
public static String[] RU_BAISC={
"<test.cases.ExPDG: void simple()>",
"<test.cases.ExPDG: void multi_path()>",
"<test.cases.ExPDG: void loop()>",
"<test.cases.ExPDG: void test_relative_update()>",
"<test.cases.ExPDG: void test_update_entry(test.slicing.cases.ExPDGCase$Node)>"
};
public static String[] RU2_INTERPROC={
"<test.cases.ExPDG: void method_gen()>",
"<test.cases.ExPDG: void method_kill()>"
};
public static String[] PDG_USE ={
"<test.cases.ExPDG: void test_method_use1(int,test.slicing.cases.ExPDGCase$Node)>",
"<test.cases.ExPDG: void test_method_use2()>",
"<test.cases.ExPDG: void test_method_use3(test.slicing.cases.ExPDGCase$Node)>",
"<test.cases.ExPDG: void test_method_use4()>",
"<test.cases.ExPDG: void test_method_use5()>"
};
public static String[] PDG_METHODS = {
"<test.cases.PDG3: int test1(int,test.slicing.cases.PDG3$Node)>",
"<test.cases.PDG3: void test2()>",
};
public static String[] METHODS={
"<test.cases.SDG4: int foreach2()>",//21
};
//"<test.slicing.cases.ExPDGCase: void use1(test.slicing.cases.ExPDGCase$Node)>"
static interface SideEffect{
public static String TESTED_APP = "test.cases.SideEffect";
public static String FIELD_SCANER_CASES[] = {
"<test.cases.SideEffect: void simpleTest()>",
"<test.cases.SideEffect: void directRecursionTest()>",
"<test.cases.SideEffect: void indirectRecursionTest()>",
"<test.cases.SideEffect: void iterativeComputingTest()>"};
public static String SIDE_EFFECT_CASES[] = {
"<test.cases.SideEffect: void simpleSideEffectTest(test.cases.Node)>",
"<test.cases.SideEffect: void arrayAccessTest()>",
"<test.cases.SideEffect: void crossThreadTest()>",
"<test.cases.SideEffect: void test7()>"};
}
}