An Initial Quality Model for Patches within a Stream of Changes

Research team:
Team leader (HDR):
Stéphane Ducasse
Project leader:
Verónica Uquillas (
Project context:
Software systems are continuously changing to introduce new features, fix bugs, maintain and improve existing behavior, and adapt to changes in the environment. Therefore, the source code representing the evolution of a software system contains a wealth of information than can assist developers in their daily implementation and maintenance tasks, integrators in their change integration tasks, and so on.
The differences between two revisions of the system are known as a patch. Several patches may constitute a whole change, and over time a software system undergoes a stream of changes. Understanding and evaluating patches in the context of a stream of changes can provide information regarding the quality of the development of such project. For example, knowing that a patch was modified after introduction, that it was rolled-back, that it was modified to correct a bug or modified in any other way can ease the understanding of the stream of changes.
Not much work has been done to support the analysis of patches within a stream of changes. Recent work is focused on assisting the integration of changes by characterizing patches in isolation using the structural information of the affected program entities [1], and by characterizing a stream of changes based on the dependencies between patches [2]. This however, can be complemented with an initial quality model for patches that provides software developers with more information regarding the how and why these patches were modified within the stream.
Work plan:
Extend the RMod tools to support analyzes of patches within a stream of changes. For this the student will have to:
  • evaluate existing change models to determine which is needed to support our requirements;
  • implement an initial quality model for patches in a given programming language (e.g. Smalltalk or Java);
  • implement a browser to actually allow developers to analyze patches.
Benefits for the student:
  • Integration into a prolific research group, fond of software development and programming languages;
  • Traveling to Belgium may be needed as the project leader is a partner working at the Vrije Universiteit Brussel.
  • Potential integration as a PhD student either within the group or within one of its numerous partners around the world (Switzerland, Chile, Belgium, Argentina, Italy).
  • [1] Verónica Uquillas Gómez, Stéphane Ducasse and Theo DʼHondt. Visually Supporting Source Code Changes Integration: the Torch Dashboard. In Proceedings of the 17th Working Conference on Reverse Engineering, WCREʼ10, pages 55–64, October 2010.
  • [2] Verónica Uquillas Gómez. Supporting Integration Activities in Object-Oriented Applications. PhD Thesis. Vrije Universiteit Brussel / University of Lille1. Chapters 5 and 6. 2012