Enhancing Software Product Line Maintenance with Source Code Mining

Large-scale reuse and accelerated software development have been some of the key attractions behind software product lines. Various strategies and processes have been developed to facilitate product line development, maintenance, and evolution. However, experiences with software product lines also showed that it is a rather challenging task to maintain software product lines and families over a long period of time. The time and effort needed to manage and maintain product lines increase and quality degrades as product lines evolve. Without proper methods and tools to support the evolution, the cost can outweigh the benefits. This paper describes an approach to simplifying the maintenance of software product lines and improving software quality by integrating traditional software maintenance practices with pattern-based source code mining for defect detection and correction. Our case studies were performed in an industrial setting where the evolution of multiple mobile phone models of a product line was investigated.

[1]  Claudio Riva,et al.  Experiences with software product family evolution , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[2]  Liam O'Brien,et al.  Mining Existing Assets for Software Product Lines , 2000 .

[3]  Douglas C. Schmidt,et al.  Addressing Domain Evolution Challenges in Software Product Lines , 2005, MoDELS.

[4]  Stephen R. Schach,et al.  Development/maintenance/reuse: software evolution in product lines , 2000, SPLC.

[5]  Wayne A. Babich,et al.  Software Configuration Management: Coordination for Team Productivity , 1986 .

[6]  Cornelia Boldyreff,et al.  Maintenance with reuse: an integrated approach based on software configuration management , 1999, Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509).

[7]  Michael Philippsen,et al.  Finding Plagiarisms among a Set of Programs with JPlag , 2002, J. Univers. Comput. Sci..

[8]  F. Hansen,et al.  Mining and managing software assets , 2002, 10th International Workshop on Software Technology and Engineering Practice.

[9]  Shinji Kusumoto,et al.  CCFinder: A Multilinguistic Token-Based Code Clone Detection System for Large Scale Source Code , 2002, IEEE Trans. Software Eng..

[10]  Jean-Michel Bruel,et al.  Satellite Events at the MoDELS 2005 Conference , 2006 .

[11]  Yuanyuan Zhou,et al.  CP-Miner: finding copy-paste and related bugs in large-scale software code , 2006, IEEE Transactions on Software Engineering.

[12]  Brenda S. Baker,et al.  On finding duplication and near-duplication in large software systems , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.