skip to main content
10.1145/2351676.2351712acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
Article

Locating distinguishing features using diff sets

Published:03 September 2012Publication History

ABSTRACT

In this paper, we focus on the problem of feature location for families of related software products realized via code cloning. Locating code that corresponds to features in such families is an important task in many software development activities, such as support for sharing features between different products of the family or refactoring the code into product line representations that eliminate duplications and facilitate reuse. We suggest two heuristics for improving the accuracy of existing feature location techniques when locating distinguishing features – those that are present in one product variant while absent in another. Our heuristics are based on identifying code regions that have a high potential to implement a feature of interest. We refer to these regions as diff sets and compute them by comparing product variants to each other. We exemplify our approach on a small but realistic example and describe initial evaluation results.

References

  1. D. Beuche. Transforming Legacy Systems into Software Product Lines. In Proc. of SPLC’11 Tutorial, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. P. C. Clements and L. Northrop. Software Product Lines: Practices and Patterns . SEI Series in Software Engineering. Addison-Wesley, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. B. Dit, M. Revelle, M. Gethers, and D. Poshyvanyk. Feature Location in Source Code: A Taxonomy and Survey. J. of Soft. Maintenance and Evolution , 23(8), 2011.Google ScholarGoogle Scholar
  4. N. A. Ernst, S. M. Easterbrook, and J. Mylopoulos. Code Forking in Open-Source Software: a Requirements Perspective. CoRR, abs/1004.2889, 2010.Google ScholarGoogle Scholar
  5. B. Fluri, M. Wuersch, M. Pinzger, and H. Gall. Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction. IEEE TSE, 33:725–743, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. P. Frenzel, R. Koschke, A. P. J. Breu, and K. Angstmann. Extending the Reflexion Method for Consolidating Software Variants into Product Lines. In Proc. of WCRE’07, pages 160–169, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. E. Hill, L. Pollock, and K. Vijay-Shanker. Exploring the Neighborhood with Dora to Expedite Software Maintenance. In Proc. of ASE’07, pages 14–23, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. C. Kästner and S. Apel. Integrating Compositional and Annotative Approaches for Product Line Engineering. In Proc. of GPCE Wrksp. on Modul., Comp. and Gen. Tech. for PLE (McGPLE) , pages 35–40, 2008.Google ScholarGoogle Scholar
  9. C. Kästner, A. Dreiling, and K. Ostermann. Variability Mining with LEADT. Technical report, Philipps University Marburg, 2011.Google ScholarGoogle Scholar
  10. C. W. Krueger. Easing the Transition to Software Mass Customization. In Proc. of 4th Wrksp. on Soft. Product-Family Eng. (PFE) , pages 282–293, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. T. Mende, R. Koschke, and F. Beckwermert. An Evaluation of Code Similarity Identification for the Grow-and-Prune Model. Journal of Software Maintenance and Evolution: Research and Practice , 21(2):143–169, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. V. Rajlich and P. Gosavi. Incremental Change in Object-Oriented Programming. IEEE Software, 21:62–69, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. M. Revelle and D. Poshyvanyk. An Exploratory Study on Assessing Feature Location Techniques. In Proc. of IWPC’09 , pages 218–222, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  14. M. P. Robillard. Automatic Generation of Suggestions for Program Investigation. In Proc. of ESEC/FSE-13, pages 11–20, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. P. Robillard, D. Shepherd, E. Hill, K. Vijay-Shanker, and L. Pollock. An Empirical Study of the Concept Assignment Problem. Technical report, McGill University, 2007.Google ScholarGoogle Scholar
  16. J. Rubin and M. Chechik. A Survey of Feature Location Techniques. In I. Reinhartz-Berger et al., editor, Domain Engineering: Product Lines, Conceptual Models, and Languages. Springer, To appear.Google ScholarGoogle Scholar
  17. J. Rubin, A. Kirshin, G. Botterweck, and M. Chechik. Managing Forked Product Variants. In Proc. of SPLC’12, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. A. Y. Yao. CVSSearch: Searching through Source Code using CVS Comments. In Proc. of ICSM’01, pages 364–373, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K. Yoshimura, F. Narisawa, K. Hashimoto, and T. Kikuno. FAVE: Factor Analysis Based Approach for Detecting Product Line Variability from Change History. In Proc. of MSR’08 , pages 11–18, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. T. Zimmermann, P. Weisgerber, S. Diehl, and A. Zeller. Mining Version Histories to Guide Software Changes. In Proc. of ICSE’04 , pages 563–572, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Locating distinguishing features using diff sets

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            ASE '12: Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
            September 2012
            409 pages
            ISBN:9781450312042
            DOI:10.1145/2351676

            Copyright © 2012 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 3 September 2012

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • Article

            Acceptance Rates

            Overall Acceptance Rate82of337submissions,24%

            Upcoming Conference

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader