Mining software repositories to instantiate software frameworks and react to API changes
Software systems are constantly getting larger and more complex. Nowadays it is not enough to reason about individual systems rather we have to examine entire ecosystems of software. The complexity of understanding and maintaining such ecosystems is mainly driven by the number of dependencies they have to other systems such as frameworks and libraries. As these external frameworks are beyond the control of the system developers, they can change in unforeseen ways, requiring developers to adapt their system to changes that occurred to an API of either a framework or a library. Also the initial usage of a new framework or library can impose a challenge as they are often not well documented.
In this project we aim at advising developers on how to instantiate a framework or library, in particular after significant changes and updates to its API. For this we mine large repositories of existing software systems to locate examples of API usages with the goal to characterize different usages. This will enable us to recommend to developers how to instantiate the framework for their particular use case at hand. We plan to integrate directly in the development environment recommendations based on existing examples of framework instantiations. This will allow developers to quickly find out how to use a framework or library to solve a particular problem while writing code.
This project will focus on software written in Java or Smalltalk, hence analyzing large repositories with systems written in these languages. As a cornerstone of this project we reuse existing tools and platforms we developed to efficiently analyze large-scale software repositories containing thousands of systems with millions of lines of code.
David Röthlisberger (international coordinator), researcher, Universidad Diego Portales
Javier Pereira, researcher, Universidad Diego Portales
Samuel Sierra, student, Universidad Diego Portales
Sebastían Vera, student, Universidad Diego Portales
Marcelo de Almeida Maia (local coordinator), researcher, Federal University of Uberlândia
Raquel Fialho Lafetá, PhD student, Federal University of Uberlândia
Fernanda Madeiral Delfim, PhD student, Federal University of Uberlândia
Eduardo Cunha Campos, student, Federal University of Uberlândia
Damien Cassou (local coordinator), associate professor, University of Lille & Lifl/CNRS & Inria
Martin Monperrus, associate professor, University of Lille & Lifl/CNRS & Inria
Romain Rouvoy, associate professor, University of Lille & Lifl/CNRS & Inria
Jifen Xuan, researcher, Lifl/CNRS & Inria
Gérard Palligot, engineer, Lifl/CNRS
Martin Dias, PhD student, Lifl/CNRS & Inria
Gustavo Santos, PhD student, Lifl/CNRS & Inria
Matias Martinez, PhD student, Lifl/CNRS & Inria
Vincenzo Musco, PhD student, Lifl/CNRS & Inria
Benoit Cornu, PhD student, Lifl/CNRS & Inria
Maria Gomez Lacruz, PhD student, Lifl/CNRS & Inria
First Workshop held in Federal University of Uberlândia in February, 2015.