skip to main content
10.1145/1723028.1723045dlproceedingsArticle/Chapter ViewAbstractPublication PagescasconConference Proceedingsconference-collections
research-article

Identifying components in object-oriented programs using dynamic analysis and clustering

Published:02 November 2009Publication History

ABSTRACT

We propose an approach for component candidate identification as a first step towards the extraction of component-based architectures from object-oriented programs. Our approach uses as input dynamic call graphs, built from execution traces corresponding to use cases. This allows to better capture the functional dependencies between classes. The component identification is treated as a clustering problem. To this end, we use formal concept analysis and design heuristics.

We evaluate the feasibility of our approach on two programs. The obtained results are very satisfactory from both the performance and qualitative points of view.

References

  1. Johannes Bohnet and Jürgen Döllner. Visual exploration of function call graphs for feature location in complex software systems. In SOFTVIS, pages 95--104, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Sylvain Chardigny, Abdelhak Seriai, Dalila Tamzalit, and Mourad Oussalah. Quality-driven extraction of a component-based architecture from an object-oriented system. In CSMR, pages 269--273, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Thomas Eisenbarth, Rainer Koschke, and Daniel Simon. Locating features in source code. IEEE Trans. Software Eng., 29(3):210--224, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Robert Godin, Guy W. Mineau, Rokia Missaoui, Marc St-Germain, and Najib Faraj. Applying concept formation methods to software reuse. International Journal of Software Engineering and Knowledge Engineering, 5(1):119--142, 1995.Google ScholarGoogle ScholarCross RefCross Ref
  5. Orla Greevy and Stéphane Ducasse. Correlating features and code using a compact two-sided trace analysis approach. In 9th European Conference on Software Maintenance and Reengineering (CSMR 2005), 21--23 March 2005, Manchester, UK, Proceedings, pages 314--323. IEEE Computer Society, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Réda Kadri, Franois Merciol, and Salah Sadou. CBSE in Small and Medium-Sized Enterprise: Experience Report. In CBSE, 2006.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. P. Kruchten. The 4+1 view model of architecture. IEEE Software, 12(6):42--50, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Dapeng Liu, Andrian Marcus, Denys Poshyvanyk, and Vaclav Rajlich. Feature location via information retrieval based filtering of a single scenario execution trace. In R. E. Kurt Stirewalt, Alexander Egyed, and Bernd Fischer, editors, ASE, pages 234--243, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. H. Lorenz and J. Vlissides. Designing components versus objects: a transformational approach. In ICSE, May 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Mark W. Maier, David Emery, and Rich Hilliard. Ansi-ieee 1471 and systems engineering. System Engineering, 7(3):257--270, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Nenad Medvidovic and Vladimir Jakobac. Using software evolution to focus architectural recovery. Automated Software Engineering, 13(2):225--256, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Brian S. Mitchell and Spiros Mancoridis. On the evaluation of the bunch search-based software modularization algorithm. Soft Comput., 12(1):77--93, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Denys Poshyvanyk, Yann-Gal Guhneuc, Andrian Marcus, Giuliano Antoniol, and Vclav Rajlich. Feature location using probabilistic ranking of methods based on execution scenarios and information retrieval. volume 33, pages 420--432, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Roger S. Pressman. Software Engineering: A Practitioner's Approach. McGraw-Hill, 6th edition, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Houari A. Sahraoui, Hakim Lounis, Walcélio Melo, and Hafedh Mili. A concept formation based approach to object identification in procedural code. Automated Software Engineering, 6(4):387--410, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Houari A. Sahraoui, Walcélio Melo, Hakim Lounis, and Francois Dumont. Applying concept formation methods to object identification in procedural code. In ASE, pages 210--218, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Michael Siff and Thomas W. Reps. Identifying modules via concept analysis. IEEE Transaction on Software Engineering, 25(6):749--768, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Allier Simon, Grollemund Natan, Lalluque Renaud, and Delfour Kevin. http://naitan.free.fr/logo/.Google ScholarGoogle Scholar
  19. Petko Valtchev, David Grosser, Cyril Roume, and Mohamed Rouane Hacene. Galicia: an open platform for lattices. In ICCS, pages 241--254. Shaker Verlag, 2003.Google ScholarGoogle Scholar
  20. Arie van Deursen and Tobias Kuipers. Identifying objects using cluster and concept analysis. In ICSE, pages 246--255, Los Alamitos, CA, USA, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Hironori Washizaki and Yoshiaki Fukazawa. A technique for automatic component extraction from object-oriented programs by refactoring. Sci. Comput. Program., 56(1--2):99--116, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Identifying components in object-oriented programs using dynamic analysis and clustering

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in
            • Published in

              cover image DL Hosted proceedings
              CASCON '09: Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research
              November 2009
              392 pages

              Publisher

              IBM Corp.

              United States

              Publication History

              • Published: 2 November 2009

              Qualifiers

              • research-article

              Acceptance Rates

              Overall Acceptance Rate24of90submissions,27%
            • Article Metrics

              • Downloads (Last 12 months)1
              • Downloads (Last 6 weeks)0

              Other Metrics

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader