skip to main content
10.1145/1453101.1453129acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
research-article

Automatically locating framework extension examples

Published: 09 November 2008 Publication History

Abstract

Using and extending a framework is a challenging task whose difficulty is exacerbated by the poor documentation that generally comes with the framework. Even in the presence of documentation, developers often desire implementation examples for concrete guidance. We propose an approach that automatically locates implementation examples from a code base given lightweight documentation of a framework. Based on our experience with concern-oriented documentation, we devised an approach that uses the framework documentation as a template and that finds instances of this template in a code base. The concern instances represent self-contained and structured implementation examples: the relationships and the roles of parts composing the examples are uncovered and explained. We implemented our approach in a tool and conducted a study comparing the results of our tool with results provided by Eclipse committers, showing that our approach can locate examples with high precision.

References

[1]
M. Antkiewicz, T. T. Bartolomei, and K. Czarnecki. Automatic extraction of framework-specific models from framework-based application code. In Proc. of the 22nd Int'l Conf. on Automated Software Engineering, pages 214--223, 2007.
[2]
M. Bruch, T. Schäfer, and M. Mezini. FrUiT: IDE support for framework understanding. In Proc. of the OOPSLA Workshop on Eclipse Technology eXchange, pages 55--59, 2006.
[3]
B. Dagenais and H. Ossher. Aiding evolution with concern-oriented guides. In Proc. of the 3rd AOSD Workshop on Linking Aspect Technology and Evolution, page 4, 2007.
[4]
T. Eisenbarth, R. Koschke, and D. Simon. Locating features in source code. IEEE Transactions on Software Engineering, 29(3):210--224, 2003.
[5]
G. Fairbanks, D. Garlan, and W. Scherlis. Design fragments make using frameworks easier. In Proc. of the 21st Conf. on Object-Oriented Programming Systems, Languages, and Applications, pages 75--88, 2006.
[6]
L. Gong, T. Klinger, P. Matchen, P. Tarr, R. Uceda-Sosa, A. Ying, J. Xu, and X. Zhou. Integrated solution engineering. In Companion to the 21st Conf. on Object-Oriented Programming Systems, Languages, and Applications, pages 726--727, 2006.
[7]
R. Holmes, R. J. Walker, and G. C. Murphy. Approximate structural context matching: An approach for recommending relevant examples. IEEE Transactions on Software Engineering, 32(12):952--970, 2006.
[8]
G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proc. of the 11th European Conf. on Object-Oriented Programming, pages 220--242, 1997.
[9]
R. Koschke and J. Quante. On dynamic feature location. In Proc. of the 20th Int'l Conf. on Automated Software Engineering, pages 420--432, 2005.
[10]
D. Liu, A. Marcus, D. Poshyvanyk, and V. Rajlich. Feature location via information retrieval based filtering of a single scenario execution trace. In Proc. of the 22nd Int'l Conf. on Automated Software Engineering, pages 234--243, 2007.
[11]
D. Mandelin, L. Xu, R. Bodík, and D. Kimelman. Jungloid mining: helping to navigate the api jungle. In Proc. of the Conf. on Object-Oriented Programming Systems, Languages, and Applications, pages 48--61, 2005.
[12]
J. Nykaza, R. Messinger, F. Boehme, C. L. Norman, M. Mace, and M. Gordon. What programmers really want: results of a needs assessment for sdk documentation. In Proc. of the 20th Int'l Conf. on Computer Documentation, pages 133--141, 2002.
[13]
M. P. Robillard, W. Coelho, and G. C. Murphy. How effective developers investigate source code: An exploratory study. IEEE Transactions on Software Engineering, 30(12):889--903, 2004.
[14]
M. P. Robillard and G. C. Murphy. Representing concerns in source code. ACM Transactions on Software Engineering and Methodology, 16(1):3, 2007.
[15]
N. Sahavechaphan and K. Claypool. Xsnippet: mining for sample code. In Proc. of the 21st Conf. on Object-Oriented Programming Systems, Languages, and Applications, pages 413--430, 2006.
[16]
V. Sundaresan, P. Lam, E. Gagnon, R. Vallée-Rai, L. Hendren, and P. Co. Soot - a java optimization framework. In Proc. of CASCON, pages 125--135, 1999.
[17]
P. Tarr, H. Ossher, W. Harrison, and J. Stanley M. Sutton. N degrees of separation: multi-dimensional separation of concerns. In Proc. of the 21st Int'l Conf. on Software Engineering, pages 107--119, 1999.
[18]
S. Thummalapenta and T. Xie. PARSEWeb: A programmer assistant for reusing open source code on the web. In Proc. of the 22nd Int'l Conf. on Automated Software Engineering, pages 204--213, 2007.
[19]
Z. Xing and E. Stroulia. UMLDiff: an algorithm for object-oriented design differencing. In Proc. of the Int'l Conf. on Automated Software Engineering, pages 54--65, 2005.
[20]
W. Zhao, L. Zhang, Y. Liu, J. Sun, and F. Yang. SNIAFL: Towards a static non-interactive approach to feature location. In Proc. of the 26th Int'l Conf. on Software Engineering, pages 293--303, 2004.

Cited By

View all
  • (2022)Mining for Framework Instantiation Pattern Interplays2022 IEEE 22nd International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM55253.2022.00019(121-131)Online publication date: Oct-2022
  • (2021)A Systematic Review of API Evolution LiteratureACM Computing Surveys10.1145/347013354:8(1-36)Online publication date: 4-Oct-2021
  • (2020)An Automated Approach for Constructing Framework Instantiation DocumentationInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402050020530:04(575-601)Online publication date: 6-May-2020
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGSOFT '08/FSE-16: Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
November 2008
369 pages
ISBN:9781595939951
DOI:10.1145/1453101
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: 09 November 2008

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

SIGSOFT '08/FSE-16
Sponsor:

Acceptance Rates

Overall Acceptance Rate 17 of 128 submissions, 13%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2022)Mining for Framework Instantiation Pattern Interplays2022 IEEE 22nd International Working Conference on Source Code Analysis and Manipulation (SCAM)10.1109/SCAM55253.2022.00019(121-131)Online publication date: Oct-2022
  • (2021)A Systematic Review of API Evolution LiteratureACM Computing Surveys10.1145/347013354:8(1-36)Online publication date: 4-Oct-2021
  • (2020)An Automated Approach for Constructing Framework Instantiation DocumentationInternational Journal of Software Engineering and Knowledge Engineering10.1142/S021819402050020530:04(575-601)Online publication date: 6-May-2020
  • (2019)Mining Scala Framework Extensions for Recommendation Patterns2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER.2019.8668019(514-523)Online publication date: Feb-2019
  • (2017)FEMIR: a tool for recommending framework extension examplesProceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering10.5555/3155562.3155688(967-972)Online publication date: 30-Oct-2017
  • (2017)Recommending Framework Extension Examples2017 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME.2017.80(456-466)Online publication date: Sep-2017
  • (2017)FEMIR: A tool for recommending framework extension examples2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE.2017.8115713(967-972)Online publication date: Oct-2017
  • (2016)Software-Specific Named Entity Recognition in Software Engineering Social Content2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)10.1109/SANER.2016.10(90-101)Online publication date: Mar-2016
  • (2015)Framework instantiation using cookbooks constructed with static and dynamic analysisProceedings of the 2015 IEEE 23rd International Conference on Program Comprehension10.5555/2820282.2820300(125-128)Online publication date: 16-May-2015
  • (2015)Framework Instantiation Using Cookbooks Constructed with Static and Dynamic AnalysisProceedings of the 2015 IEEE 23rd International Conference on Program Comprehension10.1109/ICPC.2015.21(125-128)Online publication date: 18-May-2015
  • Show More Cited By

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