Reverse engineering framework reuse interfaces

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.

[1]  Bernhard Ganter,et al.  Formal Concept Analysis: Mathematical Foundations , 1998 .

[2]  Ralph Johnson Documenting frameworks using patterns , 1992, OOPSLA 1992.

[3]  Grady Booch,et al.  Object Solutions: Managing the Object-Oriented Project , 1995 .

[4]  Ralph E. Johnson,et al.  A framework for run-time systems and its visual programming language , 1996, OOPSLA '96.

[5]  L. Beran,et al.  [Formal concept analysis]. , 1996, Casopis lekaru ceskych.

[6]  Thomas W. Reps,et al.  Identifying modules via concept analysis , 1997, 1997 Proceedings International Conference on Software Maintenance.

[7]  Alex Quilici Reverse Engineering of Legacy Systems: A Path Toward Success , 1995, 1995 17th International Conference on Software Engineering.

[8]  Thomas W. Reps,et al.  Identifying Modules via Concept Analysis , 1999, IEEE Trans. Software Eng..

[9]  Rainer Koschke,et al.  Incremental location of combined features for large-scale programs , 2002, International Conference on Software Maintenance, 2002. Proceedings..

[10]  Jan Bosch,et al.  Design, implementation and evolution of object oriented frameworks: concepts and guidelines , 2001, Softw. Pract. Exp..

[11]  Wim Codenie,et al.  From custom applications to domain-specific frameworks , 1997, CACM.

[12]  L. P. Deutsch,et al.  Design reuse and frameworks in the smalltalk-80 system , 1989 .

[13]  Anssi Karhinen,et al.  Software Metrics by Architectural Pattern Mining , 2000 .

[14]  Victor R. Basili,et al.  How reuse influences productivity in object-oriented systems , 1996, CACM.

[15]  Giuliano Antoniol,et al.  Object oriented design pattern inference , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[16]  Kai Koskimies,et al.  Annotating reusable software architectures with specialization patterns , 2001, Proceedings Working IEEE/IFIP Conference on Software Architecture.

[17]  Kai Koskimies,et al.  Generating Application Development Environments for Java Frameworks , 2001, GCSE.

[18]  Stephen Travis Pope,et al.  A cookbook for using the model-view controller user interface paradigm in Smalltalk-80 , 1988 .

[19]  Marcelo R. Campo,et al.  Towards agent-oriented assistance for framework instantiation , 2000, OOPSLA '00.

[20]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[21]  Gregor Snelting,et al.  Reengineering of configurations based on mathematical concept analysis , 1996, TSEM.

[22]  Nader Nada,et al.  Three empirical studies of a software reuse reference model , 2000 .

[23]  Paul G. Sorenson,et al.  Hooking into Object-Oriented Application Frameworks , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[24]  Wolfgang Pree,et al.  Design Patterns for Object-Oriented Software Development , 1994, Proceedings of the (19th) International Conference on Software Engineering.

[25]  Richard C. Waters,et al.  Reverse engineering: progress along many dimensions , 1994, CACM.

[26]  Douglas C. Schmidt,et al.  Object-oriented application frameworks , 1997, CACM.

[27]  James H. Cross,et al.  Reverse engineering and design recovery: a taxonomy , 1990, IEEE Software.

[28]  Nader Nada,et al.  Three empirical studies of a software reuse reference model , 2000, Softw. Pract. Exp..

[29]  Douglas C. Schmidt,et al.  Building application frameworks: object-oriented foundations of framework design , 1999 .

[30]  Forrest Shull,et al.  Investigating Reading Techniques for Object-Oriented Framework Learning , 2000, IEEE Trans. Software Eng..