Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/940071.940101acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Reverse engineering framework reuse interfaces

Published: 01 September 2003 Publication History

Abstract

Object-oriented application frameworks provide an established way of reusing the design and implementation of applications in a specific domain. Using a framework for creating applications is not a trivial task, however, and special tools are needed for supporting the process. Tool support, in turn, requires explicit specification of the reuse interfaces of frameworks. Unfortunately these specifications typically become quite extensive and complex for non-trivial frameworks. In this paper we discuss the possibility to reverse engineer a reuse interface specification from a framework's and its example applications' source code. We also introduce a programming environment that supports both making and using such specifications. In our environment, the reuse interface modeling is supported by a concept analysis based reverse engineering technique described in this paper.

References

[1]
Basili V., Briand L., Melo W., How Reuse Influences Productivity in Object-Oriented Systems. Communications of the ACM 39, 10, 1996, 104--116.]]
[2]
Booch G., Object Solutions: Managing the Object-Oriented Project. Addison-Wesley, 1996.]]
[3]
Codenie W., De Hondt K., Steyaert P., Vercammen A., From Custom Applications to Domain-Specific Frameworks. Communications of the ACM 40, 10, 1997, 71--77.]]
[4]
Chikofsky E., Cross II J., Reverse Engineering and Design Recovery: A Taxonomy. IEEE Software 7, 1, 1996, 13--17.]]
[5]
Deutsch L., Design Reuse and Frameworks in the Smalltalk-80 System. In: Biggerstaff T., Perlis A. (eds.), Software Reusability Vol. II, ACM Press, 1989, 57--71.]]
[6]
Durham A., Johnson R., A Framework for Run-time Systems and Its Visual Programming Language. In: Proc. Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'96), San Jose, California, USA, October 1996, ACM SIGPLAN Notices 31, 10, 1996, 406--420.]]
[7]
Eisenbarth T., Koschke R., Simon D., Incremental Location of Combined Features for Large-Scale Programs. In: Proc. International Conference on Software Maintenance (ICSM 2002), Montreal, Canada, October 2002, IEEE Computer Society Press, 273--283.]]
[8]
Fayad M., Schmidt D., Object-Oriented Application Frameworks. Communications of the ACM 40, 10, 1997, 32--38.]]
[9]
Froehlich G., Hoover H., Liu L., Sorenson P., Hooking into Object-Oriented Application Frameworks. In: Proc. 19th International Conference on Software Engineering (ICSE'97), Boston, Massachusetts, USA, May 1997, IEEE Computer Society Press, 491--501.]]
[10]
Fayad M., Schmidt D., Johnson R., (eds.), Building Application Frameworks - Object-Oriented Foundations of Framework Design. Wiley, 1999.]]
[11]
Gamma E., Beck K., JUnit: A Cook's Tour. Java Report 4, 5, 1999, 27--38.]]
[12]
Ganter, B., Wille, R., Formal Concept Analysis - Mathematical Foundations. Springer, 1999.]]
[13]
Gamma E., Helm R., Johnson R., Vlissides J., Design Patterns - Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.]]
[14]
van Gurp J., Bosch J., Design, Implementation, and Evolution of Object Oriented Frameworks: Concepts and Guidelines. Software - Practice & Experience 31, 3, 2001, 277--300.]]
[15]
Hakala M., Hautamäki J., Koskimies K., Paakki J., Viljamaa A., Viljamaa J., Generating Application Development Environments for Java Frameworks. In: Proc. 3rd International Conference on Generative and Component-Based Software Engineering (GCSE'01), Erfurt, Germany, September 2001, Springer LNCS 2186, 163--176.]]
[16]
Hakala M., Hautamäki J., Koskimies K., Paakki J., Viljamaa A., Viljamaa J., Annotating Reusable Software Architectures with Specialization Patterns. In: Proc. Working IEEE/IFIP Conference on Software Architecture (WICSA 2001), Amsterdam, Netherlands, August 2001, IEEE Computer Society Press, 171--180.]]
[17]
Johnson R., Documenting Frameworks Using Patterns. In: Proc. Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'92), Vancouver, British Columbia, Canada, October 1992, ACM SIGPLAN Notices 27, 10, 1992, 63--76.]]
[18]
Krasner G., Pope S., A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk-80. Journal of Object-Oriented Programming 1, 3, 1988, 26--49.]]
[19]
Ortigosa A., Campo M., Salomon R., Towards Agent-Oriented Assistance for Framework Instantiation. In: Proc. Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2000), Minneapolis, Minnesota, USA, October 2000, ACM SIGPLAN Notices 35, 10, 2000, 253--263.]]
[20]
Paakki J., Karhinen A., Gustafsson J., Nenonen L., Verkamo I., Software Metrics by Architectural Pattern Mining. In: Proc. International Conference on Software: Theory and Practice (16th IFIP World Computer Congress), Beijing, China, August 2000, 325--332.]]
[21]
Pree W., Design Patterns for Object-Oriented Software Development. Addison-Wesley, 1995.]]
[22]
Quilici A., Reverse Engineering of Legacy Systems: A Path Toward Success. In: Proc. 17th International Conference on Software Engineering (ICSE'95), Seattle, Washington, USA, April 1995, IEEE Computer Society Press, 333--336.]]
[23]
Rine D., Nada N., Three Empirical Studies of a Software Reuse Reference Model. Software - Practice & Experience 30, 6, 2000, 685--722.]]
[24]
Siff M., Reps T., Identifying Modules via Concept Analysis. In: Proc. International Conference on Software Maintenance (ICSM'97), Bari, Italy, October 1997, IEEE Computer Society Press, 170--178.]]
[25]
Siff M., Reps T., Identifying Modules via Concept Analysis. TR-1337, Computer Sciences Department, University of Wisconsin, Madison, WI, 1998.]]
[26]
Shull F., Lanubile F., Basili V., Investigating Reading Techniques for Object-Oriented Framework Learning. IEEE Transactions on Software Engineering 26, 11, 2000, 1101--1118.]]
[27]
Snelting G., Reengineering of Configurations Based on Mathematical Concept Analysis. ACM Transactions on Software Engineering and Methodology 5, 2, 1996, 146--189.]]
[28]
Tonella P., Antoniol G., Object Oriented Design Pattern Inference. In: Proc. International Conference on Software Maintenance (ICSM'99), Oxford, England, August-September 1999, IEEE Computer Society Press, 230--239.]]
[29]
Viljamaa A., Pattern-Based Framework Annotation and Adaptation - A Systematic Approach. Licentiate thesis, Report C-2001-52, Department of Computer Science, University of Helsinki, 2001.]]
[30]
Viljamaa J., Automatic Extraction of Framework Specialization Patterns. Licentiate thesis, Report C-2002-47, Department of Computer Science, University of Helsinki, 2002.]]
[31]
Waters R., Chikofsky E. (eds.), Special Section on Reverse Engineering. Communications of the ACM 37, 5, 1994, 22--93.]]

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ESEC/FSE-11: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
September 2003
394 pages
ISBN:1581137435
DOI:10.1145/940071
  • cover image ACM SIGSOFT Software Engineering Notes
    ACM SIGSOFT Software Engineering Notes  Volume 28, Issue 5
    September 2003
    382 pages
    ISSN:0163-5948
    DOI:10.1145/949952
    Issue’s Table of Contents
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: 01 September 2003

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. documentation
  2. formal concept analysis
  3. framework
  4. pattern
  5. reuse
  6. reverse engineering

Qualifiers

  • Article

Conference

ESEC/FSE03
Sponsor:

Acceptance Rates

ESEC/FSE-11 Paper Acceptance Rate 33 of 168 submissions, 20%;
Overall Acceptance Rate 112 of 543 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)8
  • Downloads (Last 6 weeks)1
Reflects downloads up to 30 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2020)Using Hotspot Information to Evaluate Citizen Satisfaction in E-GovernmentInternational Journal of Public Administration in the Digital Age10.4018/IJPADA.20200101047:1(47-62)Online publication date: Jan-2020
  • (2013)FCA-CIAInformation and Software Technology10.1016/j.infsof.2013.02.00355:8(1437-1449)Online publication date: 1-Aug-2013
  • (2012)Combining concept lattice with call graph for impact analysisAdvances in Engineering Software10.1016/j.advengsoft.2012.07.00153(1-13)Online publication date: 1-Nov-2012
  • (2010)Mining subclassing directives to improve framework reuse2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010)10.1109/MSR.2010.5463347(141-150)Online publication date: May-2010
  • (2009)Model-Based Design for Ease of MaintenanceEffective Software Maintenance and Evolution10.1201/9781420013115.ch4(67-94)Online publication date: 4-Dec-2009
  • (2009)Architecture ReconstructionSoftware Engineering10.1007/978-3-540-95888-8_6(140-173)Online publication date: 22-Jan-2009
  • (2008)SpotWebProceedings of the 23rd IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2008.43(327-336)Online publication date: 15-Sep-2008
  • (2005)Rekonstruktion von Software-ArchitekturenInformatik - Forschung und Entwicklung10.1007/s00450-005-0180-119:3(127-140)Online publication date: 24-Mar-2005
  • (2024)Research Landscape of Patterns in Software Engineering: Taxonomy, State-of-the-Art, and Future DirectionsSN Computer Science10.1007/s42979-024-02767-85:4Online publication date: 8-Apr-2024
  • (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
  • Show More Cited By

View Options

Get Access

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