rjust / defects4j

A Database of Real Faults and an Experimental Infrastructure to Enable Controlled Experiments in Software Engineering Research
MIT License
687 stars 296 forks source link

version of Defects4 for Java 11 #461

Open monperrus opened 2 years ago

monperrus commented 2 years ago

Hi @rjust, all!

Java 11 is now well established and has been released more than 3 years ago in September 2018.

Some bugs in Defects4 are not compatible with Java 11 (eg Lang 5x).

What about preparing a version of Defects4 for Java 11?

cc/ @martinezmatias @sophiehye

monperrus commented 2 years ago

FTR, I have successfully ported four old Lang bugs to Java 11+: Lang44, Lang51, Lang53, Lang58

https://github.com/Spirals-Team/defects4j-repair/tree/Lang44-Java6 https://github.com/Spirals-Team/defects4j-repair/tree/Lang51-Java6 https://github.com/Spirals-Team/defects4j-repair/tree/Lang53-Java6 https://github.com/Spirals-Team/defects4j-repair/tree/Lang58-Java6

We use them in the CI of Nopol to make sure we can still repair the bugs we could repair before.

monperrus commented 2 years ago

FTR, we've identified the subset of 339 bugs from Defects4J that can be successfully compiled to Java 11 bytecode with OpenJDK 11.

cc/ @andre15silva @martinezmatias

andre15silva commented 2 years ago

FYI, the ant command uses an option which is deprecated and ignored since Java 8 (XX:MaxPermSize). Ref: https://knowledgebase.progress.com/articles/Article/JDK-8-warning-PermSize-and-MaxPermSize-JVM-arguments-are-ignored

For later version of Java, the command won't even execute due to that option being set. I've implemented a possible fix here: https://github.com/andre15silva/defects4j/commit/bc620782ebc53fb490d73c698e1f5d69f3130929

monperrus commented 10 months ago

List of the 340 bugs that are compatible with Java 11: https://github.com/ASSERT-KTH/flacoco_experiment/blob/main/flacoco/results_faultlocalization/java11_bugs.csv

mernst commented 1 week ago

Please see branch java-11-compatibility.