Recommending Adaptive Changes for Framework Evolution

In the course of a framework’s evolution, changes ranging from a simple refactoring to a complete rearchitecture can break client programs. Finding suitable replacements for framework elements that were accessed by a client program and deleted as part of the framework’s evolution can be a challengin...

Full description

Saved in:
Bibliographic Details
Published inACM transactions on software engineering and methodology Vol. 20; no. 4; pp. 1 - 35
Main Authors Dagenais, Barthélémy, Robillard, Martin P.
Format Journal Article
LanguageEnglish
Published 01.09.2011
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:In the course of a framework’s evolution, changes ranging from a simple refactoring to a complete rearchitecture can break client programs. Finding suitable replacements for framework elements that were accessed by a client program and deleted as part of the framework’s evolution can be a challenging task. We present a recommendation system, SemDiff, that suggests adaptations to client programs by analyzing how a framework was adapted to its own changes. In a study of the evolution of one open source framework and three client programs, our approach recommended relevant adaptive changes with a high level of precision. In a second study of the evolution of two frameworks, we found that related change detection approaches were better at discovering systematic changes and that SemDiff was complementary to these approaches by detecting non-trivial changes such as when a functionality is imported from an external library.
Bibliography:ObjectType-Article-2
SourceType-Scholarly Journals-1
ObjectType-Feature-1
content type line 23
ISSN:1049-331X
1557-7392
DOI:10.1145/2000799.2000805