APIEvolutionMiner

During software evolution, source code is constantly refactored. In real-world migrations, many methods in the newer version are not present in the old version. This requires changes to be consistently applied to reflect the new API and avoid further maintenance problems. APIEvolutionMiner is a tool to extract rules by monitoring API changes applied in source code during system evolution. In this process, changes are mined at revision level in code history. The tool focuses on mining invocation changes to keep track of how they are evolving.


Screencasts

Screencast-overview: Overview about the tool.

Screencast-Pharo: Pharo case study.

Screencast-Seaside: Seaside case study.

Screencast-Roassal: Roassal case study.


Downloads

Mac (unzip and double click the .app file to open APIEvolutionMiner)

APIEvolutionMiner-Pharo. APIEvolutionMiner-Seaside. APIEvolutionMiner-Roassal.

Windows (unzip and double click the .exe file to open APIEvolutionMiner)

APIEvolutionMiner-Pharo. APIEvolutionMiner-Seaside. APIEvolutionMiner-Roassal.


Below we see the main browser of APIEvolutionMiner. In the Input pane the developer can set the minimum support and the evidences. The Association Rule pane shows the associations rules with confidence and support generated by the given input. When a rule is selected, the Delta pane displays a list with all the deltas in which the rule was found. In addition, there is an alternative displaying of the deltas using distribution map, where the box represents a delta, the color represents the commiter of the delta, and the size represents the size of the delta. When a delta is selected, the Diff pane shows original code from which the delta came. It shows the old revision of the code on the left side and newer revision on the right side. Main-browser


Screenshots

Appendix-step1-small Appendix-step2-small Appendix-step3-small