Skip to content

NPEFix not finding patches Bugs it should #24

@andre15silva

Description

@andre15silva

This is related to eclipse-repairnator/repairnator#1159

1.5 (uses fr.inria.spirals 0.7) 1.5.1 (uses fr.inria.gforge.spirals 0.7) 1.6-SNAPSHOT (master) (uses fr.inria.gforge.spirals 0.7)
collections-331 Compilation failure (unrelated to NPEFix) Compilation failure (unrelated to NPEFix) Compilation failure (unrelated to NPEFix)
collections-360 Compilation failure (unrelated to NPEFix) Compilation failure (unrelated to NPEFix) Compilation failure (unrelated to NPEFix)
felix-4960 Patch found Patch found Patch found
lang-304 Patch found Patch found JSONObject["executions"] not found.
lang-587 No diffs JSONObject["executions"] not found. JSONObject["executions"] not found.
lang-703 No diffs JSONObject["executions"] not found. JSONObject["executions"] not found.
math-290 No executions JSONObject["executions"] not found. JSONObject["executions"] not found.
math-305 No executions JSONObject["executions"] not found. JSONObject["executions"] not found.
math-369 No executions JSONObject["executions"] not found. JSONObject["executions"] not found.
math-988a Has diffs Patch found Patch found
math-988b No executions JSONObject["executions"] not found. JSONObject["executions"] not found.
math-1115 No executions JSONObject["executions"] not found. JSONObject["executions"] not found.
math-1117 No executions JSONObject["executions"] not found. JSONObject["executions"] not found.
pdfbox_2812 Could not resolve dependencies (unrelated to NPEFix) Could not resolve dependencies (unrelated to NPEFix) Could not resolve dependencies (unrelated to NPEFix)
pdfbox_2965 Has diffs Patch found Patch found
pdfbox_2995 Has diffs Patch found Patch found
sling_4982 Has diffs Patch found Patch found

NPEFix lost functionality over time as shown in the table below (left to right, oldest to latest):

Bug ID da6f155 60298ca d9b38d0 (v0.6) 1acca99 5992d4e (fr.inria.spirals v0.7)
felix-4960 Has diffs Has diffs java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException
lang304 Has diffs Has diffs Has diffs Has diffs Has diffs (but different)
lang587 Has diffs No diffs No diffs No diffs No diffs
lang703 Has diffs No diffs java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException
math290 Has diffs Has diffs java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException java.lang.reflect.InvocationTargetException
math305 Has diffs Has diffs Has diffs Has diffs Has diffs (but different)
math369 Has diffs Has diffs Has diffs Has diffs Has diffs (but different)
pdfbox-2965 Has diffs Has diffs Has diffs Has diffs Has diffs (but different)
pdfbox-2995 Has diffs Has diffs (but different result) Has diffs (but different result) Has diffs (but different^2 result) Has diffs (but different^3 result)
sling-4982 Has diffs Has diffs Has diffs Has diffs Has diffs (but different)

To replicate configure the location of the dataset in src/main/resources/config.ini and run:

$ git checkout <commit-id>
$ mvn clean compile
$ mvn clean compile assembly:single
$ java -jar target/npefix-<version>-jar-with-dependencies.jar -p <bug-id>

My analysis:

  • There are several bugs, introduced over time, that were/are affecting the outputs.
  • I believe the executions bug in maven-repair is caused by the java.lang.reflect.InvocationTargetException exception.
  • There might be a couple more bugs in the middle of all the changes

This analysis is WIP, I'll continue digging tomorrow and try to fix the exception bug.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions