-
Notifications
You must be signed in to change notification settings - Fork 7
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
Nopol in RepairThemAll experiment fail to repair several bugs which can be repaired by nopol before #4
Comments
Hi @DehengYang Sorry for the late answer.
There is no easy answer to this question and the reason that there is a difference is multiple.
I honestly don't know, the 2017 version will work better on some bugs, the 2019 version will work better on different bugs. It is really difficult to know. Sorry for my vague answer, I would love to have a clear and precise reason but I think there is none. |
Dear @tdurieux , Thank you so much your detailed explanation! The various possible reasons mentioned above really help me to gain a deeper understanding of Nopol (e.g., the seed, and the classpaths). For one of the mentioned factor named Thank you again for your answer. And would you mind further answering one of my doubts? I would like to ask that: have you dealt with the problem that some Defects4J bugs may yield unexpected failed tests when built under JDK 1.8 version? Such doubt can also be seen in program-repair/RepairThemAll#19 Thank you again for your great help. Best, |
We are well aware of this, and the timezone of the machine also has an impact on the Time project.
Unfortunately not, Nopol needs to run in >=jdk 1.8. And since Nopol is mostly a dynamic analyzer + synthesizer. The buggy application needs to be executed in the same JVM instance as Nopol this the bug needs to be executed in >=jdk 1.8. I expect that the impact of this can be:
And the cases that are more tricky
I, unfortunately, don't have an estimation of the proportion of each case. The two last cases seem less likely but I don't have scientific evidence to show that. There is currently no paper that tries to understand what is happening in defects4j with jkd1.8. This work will be really interesting to understand the difference of behavior between two jdk. I hope that someone will study this. |
Thank you for your great help! This still remains a research question for exploring the different behaviour between two jdk versions. It is very meaningful and pertinent to fundamental mechanisms in the research field. Maybe in the future I will try to figure it out by further study. Thank you again for your time and consideration. |
I compared the results of Nopol in two experiments:
The first experiment used Nopol-2017 version built under jdk 1.7, while the second experiment used Nopol-2018 version built under jdk 1.8. It is weird that the latter Nopol version cannot repair several bugs that can be repaired in the former Nopol version, e.g., Time 16, 18, 19, Mockito 29, 38.
So I would like to ask that why this different performance occurs and which nopol version is better/more powerful ?
Thanks,
Dale
The text was updated successfully, but these errors were encountered: