-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
failing Evosuite test cases #1
Comments
@martinezmatias I looked at the possible_change tests generate by Evosuite. I would think the problem is because our "correct" version is not exactly "correct". Noted that the failing tests do not have assertion in the test method. Further, these failing tests is not casued by assertion error but the StackOverFlowError. In the correct version, two issues are not considered well and EvoSuites expose these two problems: The correct version passed all the tests cases we generated from Json tests because those tests not exposed the problems and make us think it is the correct version. To test it, I translated the Evosuite test2/test4 to Jsons ([[[-2124], 1], 20]; [[[0, 0, 1161, -2685, 639], 639], 20]) to test correct Python programs and they failed as well with similar errors: [[[-2124], 1], 20] [[[0, 0, 1161, -2685, 639], 639], 20] |
For us, this situation helps us to motivate our research: the original inputs are not enough and we need more inputs/outputs. The previous correct version could allow us to motivate the problem.
Great work. Does it mean that the correct python version from Quixfix is incorrect, right? @SophieHYe The previous correct version modifies the if condition by adding a new term. Do you have in mind a correct version for that buggy "possible_change" program? |
It means that the correct version is correct and we don't have to change anything on it. @martinezmatias during the postprocessing of evosuite tests, have you removed try/catch blocks or @expected annotations? |
"Does it mean that the correct python version from Quixfix is incorrect, right?" "The previous correct version modifies the if condition by adding a new term. Do you have in mind a correct version for that buggy "possible_change" program?" The buggy program is "if (total < 0)" and the "correct" program is "if (total < 0 ||coins.length==0)". |
So, we should probably do an issue on QuixBug repo
We need to find the new correct version for python/java and do the PR |
Hi @SophieHYe |
So I imagine that the experiment could replace that one uses Evosuite which has some problems as
we have previously discuss in this issue.
We'll discuss about that tomorrow over Skype.
|
@SophieHYe
Evosuite generates test cases that fail on the version used for generating them.
A test case reproduces the bug
I executed Evosuite command over the correct version of repository QuixBug (ie., without our infrastructure) and the problem continues.
The command used was: java -jar <local_path>/quixbugs-experiment/test_executors_java/./libs/evosuite-master-1.0.6-SNAPSHOT.jar -class correct_java_programs.POSSIBLE_CHANGE -projectCP <local_path_to_quixbug>/target/classes -base_dir <local_path_to_quixbug>/src/main/java/correct_java_programs_test -Dglobal_timeout 120 -seed 1 -Drandom_seed 1 -Dsearch_budget 60 -Dstopping_condition MaxTime -Dsandbox false -Dno_runtime_dependency true -mem 2000 -Djunit_check true
The text was updated successfully, but these errors were encountered: