@Test public void testGetVarNotDeclError() { String code = "void f(){c = 1;}"; pane.setText(code); ArrayList<CodeError> ers = finder.getErrors(); }
@Override public ArrayList<CodeError> getErrors() { String code = JTextPaneToolbox.getText(pane); ArrayList<String> seperated = new ArrayList<>(); seperated.add("#ifndef V\n #define V 1\n #endif"); seperated.add("#ifndef C\n #define C 1\n #endif"); seperated.add("#ifndef S\n #define S 1\n #endif"); seperated.add("void verify() {}"); seperated.add("void __CPROVER_assert(int x, int y) {}"); seperated.add("void __CPROVER_assume(int x) {}"); seperated.add("struct result { unsigned int arr[S]; };"); seperated.add("struct stack_result { unsigned int arr[C]; };"); seperated.add("void assume(int x) {}"); seperated.add("void assert(int x) {}"); seperated.add("void assert2(int x, int y) {}"); seperated.add("int nondet_int() {return 0;}"); seperated.add("unsigned int nondet_uint() {return 0;}"); seperated.add("unsigned char nondet_uchar() {return 0;}"); seperated.add("char nondet_char() {return 0;}"); seperated.add("int main() {"); seperated.add("}"); String codeSep[] = code.split("\n"); for (int i = 0; i < codeSep.length; i++) { seperated.add(codeSep[i]); } ArrayList<CodeError> found = new ArrayList<>(DeepErrorChecker.checkCodeForErrors(seperated)); return found; }
CVariableErrorFinder implements ErrorFinder { @Override public ArrayList<CodeError> getErrors() { String code = JTextPaneToolbox.getText(pane); ArrayList<String> seperated = new ArrayList<>(); seperated.add("#ifndef V\n #define V 1\n #endif"); seperated.add("#ifndef C\n #define C 1\n #endif"); seperated.add("#ifndef S\n #define S 1\n #endif"); seperated.add("void verify() {}"); seperated.add("void __CPROVER_assert(int x, int y) {}"); seperated.add("void __CPROVER_assume(int x) {}"); seperated.add("struct result { unsigned int arr[S]; };"); seperated.add("struct stack_result { unsigned int arr[C]; };"); seperated.add("void assume(int x) {}"); seperated.add("void assert(int x) {}"); seperated.add("void assert2(int x, int y) {}"); seperated.add("int nondet_int() {return 0;}"); seperated.add("unsigned int nondet_uint() {return 0;}"); seperated.add("unsigned char nondet_uchar() {return 0;}"); seperated.add("char nondet_char() {return 0;}"); seperated.add("int main() {"); seperated.add("}"); String codeSep[] = code.split("\n"); for (int i = 0; i < codeSep.length; i++) { seperated.add(codeSep[i]); } ArrayList<CodeError> found = new ArrayList<>(DeepErrorChecker.checkCodeForErrors(seperated)); return found; } }
CVariableErrorFinder implements ErrorFinder { @Override public ArrayList<CodeError> getErrors() { String code = JTextPaneToolbox.getText(pane); ArrayList<String> seperated = new ArrayList<>(); seperated.add("#ifndef V\n #define V 1\n #endif"); seperated.add("#ifndef C\n #define C 1\n #endif"); seperated.add("#ifndef S\n #define S 1\n #endif"); seperated.add("void verify() {}"); seperated.add("void __CPROVER_assert(int x, int y) {}"); seperated.add("void __CPROVER_assume(int x) {}"); seperated.add("struct result { unsigned int arr[S]; };"); seperated.add("struct stack_result { unsigned int arr[C]; };"); seperated.add("void assume(int x) {}"); seperated.add("void assert(int x) {}"); seperated.add("void assert2(int x, int y) {}"); seperated.add("int nondet_int() {return 0;}"); seperated.add("unsigned int nondet_uint() {return 0;}"); seperated.add("unsigned char nondet_uchar() {return 0;}"); seperated.add("char nondet_char() {return 0;}"); seperated.add("int main() {"); seperated.add("}"); String codeSep[] = code.split("\n"); for (int i = 0; i < codeSep.length; i++) { seperated.add(codeSep[i]); } ArrayList<CodeError> found = new ArrayList<>(DeepErrorChecker.checkCodeForErrors(seperated)); return found; } CVariableErrorFinder(JTextPane pane); }
CVariableErrorFinder implements ErrorFinder { @Override public ArrayList<CodeError> getErrors() { String code = JTextPaneToolbox.getText(pane); ArrayList<String> seperated = new ArrayList<>(); seperated.add("#ifndef V\n #define V 1\n #endif"); seperated.add("#ifndef C\n #define C 1\n #endif"); seperated.add("#ifndef S\n #define S 1\n #endif"); seperated.add("void verify() {}"); seperated.add("void __CPROVER_assert(int x, int y) {}"); seperated.add("void __CPROVER_assume(int x) {}"); seperated.add("struct result { unsigned int arr[S]; };"); seperated.add("struct stack_result { unsigned int arr[C]; };"); seperated.add("void assume(int x) {}"); seperated.add("void assert(int x) {}"); seperated.add("void assert2(int x, int y) {}"); seperated.add("int nondet_int() {return 0;}"); seperated.add("unsigned int nondet_uint() {return 0;}"); seperated.add("unsigned char nondet_uchar() {return 0;}"); seperated.add("char nondet_char() {return 0;}"); seperated.add("int main() {"); seperated.add("}"); String codeSep[] = code.split("\n"); for (int i = 0; i < codeSep.length; i++) { seperated.add(codeSep[i]); } ArrayList<CodeError> found = new ArrayList<>(DeepErrorChecker.checkCodeForErrors(seperated)); return found; } CVariableErrorFinder(JTextPane pane); @Override ArrayList<CodeError> getErrors(); }
CVariableErrorFinder implements ErrorFinder { @Override public ArrayList<CodeError> getErrors() { String code = JTextPaneToolbox.getText(pane); ArrayList<String> seperated = new ArrayList<>(); seperated.add("#ifndef V\n #define V 1\n #endif"); seperated.add("#ifndef C\n #define C 1\n #endif"); seperated.add("#ifndef S\n #define S 1\n #endif"); seperated.add("void verify() {}"); seperated.add("void __CPROVER_assert(int x, int y) {}"); seperated.add("void __CPROVER_assume(int x) {}"); seperated.add("struct result { unsigned int arr[S]; };"); seperated.add("struct stack_result { unsigned int arr[C]; };"); seperated.add("void assume(int x) {}"); seperated.add("void assert(int x) {}"); seperated.add("void assert2(int x, int y) {}"); seperated.add("int nondet_int() {return 0;}"); seperated.add("unsigned int nondet_uint() {return 0;}"); seperated.add("unsigned char nondet_uchar() {return 0;}"); seperated.add("char nondet_char() {return 0;}"); seperated.add("int main() {"); seperated.add("}"); String codeSep[] = code.split("\n"); for (int i = 0; i < codeSep.length; i++) { seperated.add(codeSep[i]); } ArrayList<CodeError> found = new ArrayList<>(DeepErrorChecker.checkCodeForErrors(seperated)); return found; } CVariableErrorFinder(JTextPane pane); @Override ArrayList<CodeError> getErrors();  }