This project’s goal is to research and deploy novel pattern mining algorithms in an industrial prototype of an intelligent modernisation assistant for legacy software systems. The assistant pro-actively recommends software engineers source code modernisation actions by comparing their current development efforts with insights gained by treating source code repositories as data. The assistant draws its intelligence from continuously mining for previously unknown patterns in the current state and structure of the system’s source code (programming idioms, coding conventions, library usage protocols) and in changes made to this code (systematic edits, repetitive changes). The proposed modernisation actions appear increasingly informed as the recommendation assistant uncovers and refines more patterns in the code, version and change repositories it mines. The success of the modernisation assistant hinges on the quality of the pattern mining algorithms it incorporates and their ability to improve their results by learning from their interaction with the software engineers.
aDoctor is a tool able to identify 15 Android-specific code smells from the catalogue by Reimann et al. It is built on top of the Eclipse Java Development Toolkit (JDT)
aDoctor is released under MIT license.
PETrA is a software able to estimate the energy consumption of method calls in Android apps. It is based on some Android tools that are Monkey, Batterystats, Systrace, and dmtracedump.
Landfill is a Web-based platform for sharing code smell datasets. It also provides a set of APIs for programmatically accessing its data. Anyone can contribute by: improving existing datasets or sharing and posting new datasets.
Gnome Maps is a map application for GNOME.
GraphHopper offers memory efficient algorithms in Java for routing on graphs. E.g. Dijkstra and A* but also optimized road routing algorithms like Contraction Hierarchies. It stands under the Apache License and is build on a large test suite.