Nopol-Plugin

Compatible with: IntelliJ IDEA PhpStorm WebStorm PyCharm RubyMine AppCode CLion Gogland DataGrip Rider Android Studio
09.12.2016
15
Automatic repair of bugs with Nopol What this plugin does?

This plugin allows you to automatically fix your program based on the test suite. The fix is done by either changing an if-condition or by adding a pre-condition (adding an if before a statement). The fix search is driven by the failing test case trigerring the bug, and the other successful test cases.

How to use it?

As soon as you have a failing test case, right-click on the test class, and select "Nopol", and then "Fix Me" (the default configuration should work). The other configuration options are explained in the Readme.

To getting started, you can generate a toy module that contains a failing test case (Right Click >> Nopol >> Preferences >> generate toy project).

How it works?

Nopol performs static and dynamic analysis of the failling and passing test cases. When Nopol succeeds to find a patch, all tests are passing / green.

Authors

The librepair project is a project of the SPIRALS research group at Inria Lille (a French research institute).

More information: nopol,nopol-ui-intellij,spirals

Contributions

Found a bug? Want to contribute? Any question? Do not hesitate to open issues or pull-requests on the github repositories.

Download plugin

Recent change notes

Change-notes

General usage instructions

An IDE plugin for automatic repair with NoPol
How to install the plugin?

TODO


How to perform automatic repair on a toy project?

In order to try the plugin, you can create a new project, and then right click in the project view window (on the left), and select "Generate toy-project". This will create a new module (and let existing sources unchanged), named toy-project which is contains:



  • * one source class: src/NopolExample.java

  • * one test on this source: test/NopolExampleTest.java

  • * one pom.xml

  • First, compile sources, by running the test: Open NopolExampleTest in Intellij and right click run NopolExampleTest Then you can right click on the test, or the source (which make longer to fix) and click on Nopol. In the new window, you can click on the button "Fix me", in order to run nopol in the default mod. You can find more information about the customization. How to perform automatic repair on a bug of your project?


    Such as for the toy-project, right click on a class, click on Nopol and select Fix me. But remember that Nopol need a failing test case, and if you launch nopol from it, Nopol will compute faster.


    Broadcast email You can join the broadcast email : librepair@inria.fr in order to be updated or ask questions.