Experience-Based Refactoring for Goal-Oriented Software Quality Improvement

In agile software development refactoring is an important phase for the continuous improvement of software quality. Unfortunately, the application of refactorings is very subjective and heavily based on the expertise of the developers resulting in an unstable quality assurance. In this paper, we present an experience-based approach for the semi-automatic and goal-oriented refactoring of software systems based on didactical augmented experiences, following the experience factory paradigm. This approach promises the accelerated acquisition, (re-) use, and learning of knowledge in the refactoring process.

[1]  Alain Abran,et al.  The Guide to the Software Engineering Body of Knowledge , 1999, IEEE Softw..

[2]  Stephan Weibelzahl,et al.  Embedding Experiences in Micro-didactical Arrangements , 2004, LSO.

[3]  Jörg Rech Towards Knowledge Discovery in Software Repositories to Support Refactoring Jörg Rech Fraunhofer IESE , 2004 .

[4]  Andreas Zeller,et al.  Mining Version Histories to Guide Software Changes , 2004 .

[5]  Agile Manifesto,et al.  Manifesto for Agile Software Development , 2001 .

[6]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[7]  Benjamin S. Bloom,et al.  Taxonomy of Educational Objectives: The Classification of Educational Goals. , 1957 .

[8]  Tom Mens,et al.  Refactoring: Current Research and Future Trends , 2003, LDTA@ETAPS.

[9]  Frank Simon Meßwertbasierte Qualitätissicherung - Ein generisches Distanzmaß zur Erweiterung bisheriger Softwareproduktmaße , 2001, Softwaretechnik-Trends.

[10]  William G. Griswold Program restructuring as an aid to software maintenance , 1992 .

[11]  Kent L. Beck,et al.  Extreme programming explained - embrace change , 1990 .

[12]  Leon Moonen,et al.  Exploring software systems , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[13]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[14]  Mel O Cinn eide Automated application of design patterns: a refactoring approach , 2001 .

[15]  Oscar Nierstrasz,et al.  Finding refactorings via change metrics , 2000, OOPSLA '00.

[16]  Keith H. Bennett,et al.  Software maintenance and evolution: a roadmap , 2000, ICSE '00.

[17]  M. David Merrill,et al.  First principles of instruction , 2012 .

[18]  Don Roberts,et al.  Practical analysis for refactoring , 1999 .

[19]  Sher ry Folsom-Meek,et al.  Human Performance , 2020, Nature.

[20]  Ladan Tahvildari,et al.  Quality-driven object-oriented re-engineering framework , 2004, 20th IEEE International Conference on Software Maintenance, 2004. Proceedings..