skip to main content
10.1145/1404953.1404956acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
research-article

Mining application-specific coding patterns for software maintenance

Published: 31 March 2008 Publication History

Abstract

A crosscutting concern is often implemented based on a coding pattern, or a particular sequence of method calls and control statements. We have applied a sequential pattern mining algorithm to capture coding patterns in Java programs. We have manually investigated the resultant patterns that involve both crosscutting concerns and implementation idioms. This paper discusses the detail of our pattern mining algorithm and reports detected crosscutting concerns.

References

[1]
Acharya, M., Xie, T., Pei, J. and Xu, J.: Mining API Patterns as Partial Orders from Source Code: From Usage Scenarios to Specifications. In Proc. of the Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), pp. 25--34, 2007.
[2]
Agrawal, R. and Srikant, R.: Mining Sequential Patterns, In Proc. of the International Conference on Data Engineering (ICDE), pp. 3--14, 1995.
[3]
Baker, B. S.: A Program for Identifying Duplicated Code. Computing Science and Statistics, Vol. 6, pp. 49--57, 1992.
[4]
Baxter, I., Yahin, A., Moura, L., Anna, M. and Bier, L.: Clone Detection Using Abstract Syntax Trees. In Proc. of the International Conference on Software Maintenance (ICSM), pp. 368--377, 1998.
[5]
Breu, S. and Zimmermann, T.: Mining Aspects from Version History. In Proc. of the International Conference on Automated Software Engineering (ASE), pp. 221--230, 2006.
[6]
Bruntink, M., van Deursen, A., van Engelen, R. and Tourwe, T.: On the Use of Clone Detection for Identifying Crosscutting Concern Code. IEEE Transactions on Software Engineering, Vol. 31, No. 10, pp. 804--818, 2005.
[7]
Bruntink, M., van Deursen, A., D'Hondt, M. and Tourwé, T.: Simple crosscutting concerns are not so simple - analysing variability in large-scale idioms-based implementations. In Proc. of the International Conference on Aspect-Oriented Software Development (AOSD), pp. 199--211, 2007.
[8]
Fowler, M.: Refactoring: improving the design of existing code. Addison-Wesley, 1999.
[9]
Gamma, E., Helm, R., Johnson, R. and Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
[10]
Higo, Y., Ueda, Y., Kusumoto, S. and Inoue, K.: Simultaneous Modification Support based on Code Clone Analysis. In Proc. of the Asia-Pacific Software Engineering Conference (APSEC), pp. 262--269, 2007.
[11]
Hon, T. and Kiczales, G.: Fluid AOP Join Point Models. In Proc. of the Asian Workshop on Aspect-Oriented Software Development (AOAsia), pp. 14--17, 2006.
[12]
Kamiya, T., Kusumoto, S. and Inoue, K.: CCFinder: A Multi-Linguistic Token-based Code Clone Detection System for Large Scale Source Code. IEEE Transactions on Software Engineering, Vol. 28, No. 7, pp. 654--670, 2002.
[13]
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C. V., Loingtier, J. and Irwin, J.: Aspect Oriented Programming. In Proc. of the European Conference on Object-Oriented Programming (ECOOP), pp. 220--242, 1997.
[14]
Kim, M. Bergman, L., Lau, T. and Notkin, D.: An Ethnographic Study of Copy and Paste Programming Practices in OOPL. In Proc. of the International Symposium on Empirical Software Engineering (ISESE), pp. 83--92, 2004.
[15]
Kim, M., Sazawal, V., Notkin, D., and Murphy, G. C.: An Empirical Study of Code Clone Genealogies. In Proc. of the Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering (ESEC/FSE), pp. 187--196, 2005.
[16]
J. Krinke: Identifying Similar Code with Program Dependence Graphs. In Proc. of the Working Conference on Reverse Engineering (WCRE), pp. 301--309, 2001.
[17]
Krinke, J.: Mining Control Flow Graphs for Crosscutting Concerns. In Proc. of the Working Conference on Reverse Engineering (WCRE), pp. 334--342, 2006.
[18]
Marin, M., van Deursen, A. and Moonen, L.: Identifying Aspects using Fan-in Analysis. In Proc. of the Working Conference on Reverse Engineering (WCRE), pp. 132--141, 2004.
[19]
Marin, M.: Reasoning about Assessing and Improving the Seed Quality of a Generative Aspect Mining Technique. In Proc. of the International Linking Aspect Technology and Evolution Workshop (LATE), http://aosd.net/workshops/late/2006/, 2006.
[20]
Marin, M., Moonen, L. and van Deursen, A.: SoQueT: Query-Based Documentation of Crosscutting Concerns. In Proc. of the International Conference on Software Engineering (ICSE), pp. 758--761, 2007.
[21]
Marin, M., Moonen, L. and van Deursen, A.: An Integrated Crosscutting Concern Migration Strategy and its Application to JHOTDRAW. In Proc. of the International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 101--110, 2007.
[22]
Pei, J., Han. J, Mortazavi-Asl, B., Pinto, H., Chen, Q., Dayal, U. and Hsu, M.: PrefixSpan: Mining Sequential Patterns by Prefix-Projected Growth. In Proc. of the International Conference on Data Engineering (ICDE), pp. 215--224, 2001.
[23]
Roy, C. K., Uddin, M. G., Roy, B. and Dean, T. R.: Evaluating Aspect Mining Techniques: A Case Study. In Proc. of the International Conference on Program Comprehension (ICPC), pp. 167--176, 2007.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
LATE '08: Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolution
March 2008
43 pages
ISBN:9781605581477
DOI:10.1145/1404953
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]

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 31 March 2008

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

AOSD08

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 476
    Total Downloads
  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 31 Dec 2024

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media