Refining the Architecture Recovery Approach ArchMine by Incrementally Performing Evaluation Studies

  • Aline Vasconcelos UFRJ / CEFET Campos
  • Cláudia Werner UFRJ

Resumo


Several architecture recovery approaches have been proposed in the literature with distinct goals. ArchMine, an architecture recovery approach based on dynamic analysis and data mining, aims to assist in program understanding and software reuse by detecting cohesive classes that implement a set of related functionalities, i.e. architectural elements. It is supported by a tool set integrated into a reuse based software development environment. The approach and its tool set have been detailed in previous works. The focus of this paper is to describe how ArchMine and its tool set were evaluated and refined through a series of evaluation studies. These evaluations allowed to gradually refine the approach based on the lessons learned.

Referências

AGRAWAL, R., SRIKANT, R., 1994, "Fast Algorithms for Mining Association Rules". 20th Very Large Databases Conference, pp. 487-499, Santiago, Chile, September.

ANQUETIL, N., FOURRIER, C., LETHBRIDGE, T.C., 1999, "Experiments with Hierarchical Clustering Algorithms as Software Remodularization Methods". In: Working Conference on Reverse Engineering, pp. 235-255, Pittsburgh, PA, USA, October.

ANQUETIL, N., LETHBRIDGE, T., 1999, "Recovering Software Architecture from the Names of Source Files", Journal of Software Maintenance: Research and Practice, John Wiley & Sons Ltd., v. 11, pp. 201-221.

BARCELOS, R., TRAVASSOS, G.H., 2006, "Evaluation Approaches for Software Architectural Documents: A Systematic Review". In: Ideas 2006, v. 1, pp. 433-446, La Plata, Argentina, April.

BASS, L., CLEMENTS, P., KAZMAN, R., 2003, Software Architecture in Practice, 2nd ed., Addison-Wesley.

BOJIC, D., VELASEVIC, D., 2000, "A Use-Case Driven Method of Architecture Recovery for Program Understanding and Reuse Reengineering". In: 4th CSMR, pp. 23-31, Zuriq, Swiss, February/March.

CORREA, A.L., WERNER, C.M.L., 2004, "Applying Refactoring Techniques to UML/OCL Models". In: International Conference on the Unified Modeling Language (UML'04), pp. 173-187, Lisbon, Portugal, October.

DANTAS, A.R., et al., 2006, "Model Driven Game Development - Experience and Model Enhacements in Software Project Management Education", Software Process Improvement and Practice, v. 11, n. 4, pp. 411-421.

DEURSEN, A.V., HOFMEISTER, C., KOSCHKE, R., et al., 2004, "Symphony: View-Driven Software Architecture Reconstruction". In: Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004), pp. 122-132, Oslo, Norway, June.

DUENAS, J.C., DE OLIVEIRA, W.L., DE LA PUENTE, J.A., 1998, "A Software Architecture Evaluation Model". In: 2nd International ESPRIT ARES Workshop, pp. 148-157, Las Palmas de Gran Canaria, Spain, February.

KAZMAN, R., BASS, L., G., A., et al., 1994, "SAAM: a Method for Analyzing the Properties of Software Architectures". In: International Conference on Software Engineering (ICSE), pp. 81-90, Sorrento, Italy, May.

KAZMAN, R., CARRIÈRE, S.J., 1997, Playing Detective: Reconstructing Software Architecture from Available Evidence, Technical Report CMU/SEI-97-TR-010.

KAZMAN, R., KLEIN, M., CLEMENTS, P., 2000, ATAM: Method for Architecture Evaluation, CMU/SEI, Technical Report, CMU/SEI-2000-TR-004.

LIMA, M.J.D., URURAHY, C., et al., 2006, "CSBase: A Framework for Building Customized Grid Environments". In: Third International Workshop on Emerging Technologies for Next-generation GRID, pp. 187-192, Manchester, UK, January.

MITCHELL, B.S., MANCORIDIS, S., 2006, "On the Automatic Modularization of Software Systems Using the Bunch Tool", IEEE Transactions on Software Engineering, v. 32, n. 3 (March), pp. 193-208.

MURTA, L.G.P., et al. 2006, "ArchTrace: Policy-Based Support for Managing Evolving Architecture-to-Implementation Traceability Links". In: International Conference on Automated Software Engineering (ASE), pp. 135-144, Tokyo, Japan, September.

O'BRIEN, L., STOERMER, C., 2003, Architecture Reconstruction Case Study, Software Engineering Institute, Technical Note CMU/SEI-2003-TN-008.

ODYSSEY, 2007, "Odyssey: Software Reuse Infrastructure based on Domain Models". In: http://reuse.cos.ufrj.br/site/en/, accessed in May.

SAMETINGER, J., 1997, Software Engineering with Reusable Components, Springer-Verlag New York, Inc.

SARTIPI, K., 2003, Software Architecture Recovery based on Pattern Matching, PhD Thesis, School of Computer Science, University of Waterloo.

SCHMERL, B., et al., 2006, "Discovering Architectures from Running Systems", IEEE Transactions on Software Engineering, v. 32, n. 7 (July), pp. 454-466.

TZERPOS, V., 2001, Comprehension-Driven Software Clustering, PhD, Department of Computer Science, University of Toronto.

VASCONCELOS, A.P.V., 2007, An Approach to Support the Creation of Domain Reference Architectures based on Legacy Systems Analysis, PhD Thesis, COPPE, UFRJ, Rio de Janeiro, April, In Portuguese.

VASCONCELOS, A.P.V., WERNER, C.M.L., 2007a, "Architectural Elements Recovery and Quality Evaluation to Assist in Reference Architectures Specification". In: 19th SEKE Conference (SEKE'2007), pp. 494-499, Boston, USA, July.

VASCONCELOS, A.P.V., WERNER, C.M.L., 2007b, "Architecture Recovery and Evaluation Aiming at Program Understanding and Reuse". In: Third International Conference on the Quality of Software Architecture, pp. 65-82, Boston, USA, July.

WOHLIN, C., RUNESON, P., HÖST, M., et al., 2000, Experimentation in Software Engineering: an Introduction, USA, Kluwer Academic Publishers.
Publicado
13/10/2008
VASCONCELOS, Aline; WERNER, Cláudia. Refining the Architecture Recovery Approach ArchMine by Incrementally Performing Evaluation Studies. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 22. , 2008, Campinas. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2008 . p. 172-187. DOI: https://doi.org/10.5753/sbes.2008.21331.