Deriving high-level abstractions from legacy software using example-driven clustering

Martin Faunes,Marouane Kessentini,H. Sahraoui
2011-11-07
Abstract:Much research in the past two decades has focused on automatic generation of abstractions from low-level software elements using clustering algorithms. This research is generally motivated by comprehension improvement through more abstract constructs, re-architecture of existing systems to improve their maintenance, or migration to new paradigms. In this paper, we start from a formulation of software clustering problems in a setting, where elements of a software system form a graph to be partitioned in order to derive high-level abstractions. We then propose a novel formulation where the graph partitioning solution is evaluated by the degree of its conformance with past clustering cases given as examples. We provide a concrete illustration of this formulation with the problem of object identification in procedural code.
What problem does this paper attempt to address?