rjust / defects4j

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

Problem with instrument_classes #563

Closed lehmanns54 closed 6 days ago

lehmanns54 commented 2 months ago

Hello,

I´m having problems with using the instrument_classes option while running defects4j mutation. I want to execute each class modified by the bug separately and not all together. So I´ve created an instrument_classes.txt with for example "Parser.java" for Jsoup 3. Then in the console i´ve run

defects4j mutation -i /Path/instrument_classes.txt Compiling mutant definition (mml).......................................... OK Running ant (mutate)....................................................... OK Cannot mutate project! at /Users/sascha/git/defects4j/framework/bin/d4j/d4j-mutation line 149. Compilation failed in require at /Users/sascha/git/defects4j/framework/bin/defects4j line 195.

Any ideas why this happen? If i use defects4j mutation without the -i flag, it works fine

rjust commented 2 months ago

Hi @lehmanns54,

Looks like a format issue to me. defects4j mutation -i expects fully qualified class names.

I can successfully run mutation on "Parser.java":

d4j % defects4j mutation
Compiling mutant definition (mml).......................................... OK
Running ant (mutate)....................................................... OK
Running ant (compile.tests)................................................ OK
Running ant (mutation.test)................................................ OK
Mutants generated: 788
  Mutants covered: 774
   Mutants killed: 487
   Mutation score: 62.9% (61.8%)
   Total run time: 88.6 seconds

d4j % find src -name "Parser.java"
src/main/java/org/jsoup/parser/Parser.java

d4j % echo "org.jsoup.parser.Parser" > instrument.txt

d4j % defects4j mutation -i instrument.txt           
Compiling mutant definition (mml).......................................... OK
Running ant (mutate)....................................................... OK
Running ant (compile.tests)................................................ OK
Running ant (mutation.test)................................................ OK
Mutants generated: 197
  Mutants covered: 197
   Mutants killed: 167
   Mutation score: 84.8% (84.8%)
   Total run time: 17.3 seconds

Hope this helps.

Best, René