skip to main content
10.1145/1321631.1321669acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
research-article

Inferring structural patterns for concern traceability in evolving software

Published: 05 November 2007 Publication History

Abstract

As part of the evolution of software systems, effort is often invested to discover in what parts of the source code a feature (or other concern) is implemented. Unfortunately, knowledge about a concern's implementation can become invalid as the system evolves. We propose to mitigate this problem by automatically inferring structural patterns among the elements identified as relevant to a concern's implementation. We then document the inferred patterns as rules that can be checked as the source code evolves. Checking whether structural patterns hold across different versions of a system enables the automatic identification of new elements related to a documented concern. We implemented our technique for JAVA in an Eclipse plug-in called ISIS and applied it to a number of concerns. With a case study spanning 34 versions of the development history of an open-source system, we show how our approach supports the tracking of a concern's implementation through modifications such as extensions and refactorings

References

[1]
S. Breu and T. Zimmermann. Mining aspects from version history. In 21st International Conference on Automated Software Engineering, pages 221--230, 2006.
[2]
J. Dean, D. Grove, and C. Chambers. Optimization of object-oriented programs using static class hierarchy analysis. In Proceedings of the European Conference on Object-oriented Programming, pages 77--101, 1995.
[3]
A. H. Eden and R. Kazman. Architecture, design, implementation. In Proceedings of the 25th International Conference on Software Engineering, pages 149--159, 2003.
[4]
A. Egyed, G. Binder, and P. Grunbacher. STRADA: A tool for scenario-based feature-to-code trace detection and analysis. In Companion to the Proceedings of the 29th International Conference on Software Engineering, pages 41--42, 2007.
[5]
A. Egyed and P. Grunbacher. Supporting software understanding with automated traceability. International Journal of Software Engineering and Knowledge Engineering, 15(5):783--810, 2005.
[6]
S. G. Eick, T. L. Graves, A. F. Karr, J. Marron, and A. Mockus. Does code decay? Assessing the evidence from change management data. IEEE Transactions on Software Engineering, 27(1):1--12, 2001.
[7]
T. Eisenbarth, R. Koschke, and D. Simon. Locating features in source code. IEEE Transactions on Software Engineering, 29(3):210--224, 2003.
[8]
M. D. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin. Dynamically discovering likely program invariants to support program evolution. In Proceedings of the 21st International Conference on Software Engineering, pages 213--224, 1999.
[9]
W. G. Griswold, J. J. Yuan, and Y. Kato. Exploiting the map metaphor in a tool for software evolution. In Proceedings of the 23rd International Conference on Software Engineering, pages 265--274, 2001.
[10]
D. Janzen and K. D. Volder. Navigating and querying code without getting lost. In 2nd International Conference on Aspect-Oriented Software Development, 2003.
[11]
G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proceedings of the 11th European Conference on Object-oriented Programming, volume 1241 of Lecture Notes in Computer Science, pages 220--242. Springer, 1997.
[12]
R. Koschke and J. Quante. On dynamic feature location. In Proceedings of the 20th International Conference on Automated Software Engineering, pages 420--432, 2005.
[13]
M. Marin, L. Moonen, and A. van Deursen. A common framework for aspect mining based on crosscutting concern sorts. In 13th IEEE Working Conference on Reverse Engineering, 2006.
[14]
M. Marin, A. van Deursen, and L. Moonen. Identifying aspects using fan-in analysis. In Proceedings of the 11th Working Conference on Reverse Engineering, pages 132--141, 2004.
[15]
K. Mens and A. Kellens. IntensiVE, a toolsuite for documenting and checking structural source-code regularities. In 10th European Conference on Software Maintenance and Reengineering (CSMR 2006), 2006.
[16]
D. Poshyvanyk, Y.-G. Guéhéneuc, A. Marcus, G. Antoniol, and V. Fajlich. Combining probabilistic ranking and latent semantic indexing for feature identification. In Proceedings of the 14th IEEE International Conference on Program Comprehension, pages 77--101, 2006.
[17]
M. P. Robillard. Tracking concerns in evolving source code: An empirical study. In 22nd IEEE International Conference on Software Maintenance, pages 479--482, 2006.
[18]
M. P. Robillard and G. C. Murphy. Representing concerns in source code. ACM Transactions on Software Engineering and Methodology, 16(1):3, 2007.
[19]
M. P. Robillard, D. Shepherd, E. Hill, K. Vijay-Shanker, and L. Pollock. An empirical study of the concept assignment problem. Technical Report SOCS-TR-2007.3, School of Computer Science, McGill University, 2007.
[20]
M. P. Robillard and F. Weigand-Warr. ConcernMapper: simple view--based separation of scattered concerns. In 2005 OOPSLA Workshop on Eclipse technology eXchange, pages 65--69, 2005.
[21]
E. Soloway, R. Lampert, S. Letovsky, D. Littman, and J. Pinto. Designing documentation to compensate for delocalized plans. Communications of the ACM, 31(11):1259--1267, 1988.
[22]
P. Tarr, W. Harrison, and H. Ossher. Pervasive query support in the concern manipulation environment. Technical report, IBM Research, 2005. Report RC23343.
[23]
P. Tonella and M. Ceccato. Aspect mining through the formal concept analysis of execution traces. In 11th Working Conference on Reverse Engineering, pages 112--121, 2004.
[24]
W. Zhao, L. Zhang, Y. Liu, J. Sun, and F. Yang. SNIAFL: Towards a static non-interactive approach to feature location. In Proceedings of the 26th International Conference on Software Engineering, pages 293--303, 2004.

Cited By

View all
  • (2019)Leveraging artifact trees to evolve and reuse safety casesProceedings of the 41st International Conference on Software Engineering10.1109/ICSE.2019.00124(1222-1233)Online publication date: 25-May-2019
  • (2019)Software EvolutionHandbook of Software Engineering10.1007/978-3-030-00262-6_6(223-284)Online publication date: 12-Feb-2019
  • (2016)Automating Traceability Link Recovery Using Information Retrievali-manager’s Journal on Software Engineering10.26634/jse.11.1.819111:1(13)Online publication date: 2016
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ASE '07: Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering
November 2007
590 pages
ISBN:9781595938824
DOI:10.1145/1321631
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 November 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. concern tracking
  2. feature location
  3. intension template
  4. software evolution

Qualifiers

  • Research-article

Conference

ASE07

Acceptance Rates

Overall Acceptance Rate 82 of 337 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 16 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2019)Leveraging artifact trees to evolve and reuse safety casesProceedings of the 41st International Conference on Software Engineering10.1109/ICSE.2019.00124(1222-1233)Online publication date: 25-May-2019
  • (2019)Software EvolutionHandbook of Software Engineering10.1007/978-3-030-00262-6_6(223-284)Online publication date: 12-Feb-2019
  • (2016)Automating Traceability Link Recovery Using Information Retrievali-manager’s Journal on Software Engineering10.26634/jse.11.1.819111:1(13)Online publication date: 2016
  • (2014)Using Traceability Links to Recommend Adaptive Changes for Documentation EvolutionIEEE Transactions on Software Engineering10.1109/TSE.2014.234796940:11(1126-1146)Online publication date: 1-Nov-2014
  • (2012)Pointcut RejuvenationIEEE Transactions on Software Engineering10.1109/TSE.2011.2138:3(642-657)Online publication date: 1-May-2012
  • (2010)Mining Source Code for Structural RegularitiesProceedings of the 2010 17th Working Conference on Reverse Engineering10.1109/WCRE.2010.12(22-31)Online publication date: 13-Oct-2010
  • (2010)Concern-Based Assessment of Architectural StabilityProceedings of the 2010 Fourth Brazilian Symposium on Software Components, Architectures and Reuse10.1109/SBCARS.2010.23(130-139)Online publication date: 27-Sep-2010
  • (2009)Detecting architecture instabilities with concern traces: An exploratory study2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture10.1109/WICSA.2009.5290815(261-264)Online publication date: Sep-2009
  • (2009)Pointcut RejuvenationProceedings of the 24th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2009.37(575-579)Online publication date: 16-Nov-2009
  • (2008)Reusing Program Investigation Knowledge for Code UnderstandingProceedings of the 2008 The 16th IEEE International Conference on Program Comprehension10.1109/ICPC.2008.10(202-211)Online publication date: 10-Jun-2008

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media