skip to main content
10.1145/1352678.1352686acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicdlConference Proceedingsconference-collections
research-article

Object flow analysis: taking an object-centric view on dynamic analysis

Published:25 August 2007Publication History

ABSTRACT

To extract abstract views of the behavior of an object-oriented system for reverse engineering, a body of research exists that analyzes a system's runtime execution. Those approaches primarily analyze the control flow by tracing method execution events. However, they do not capture information flows. We address this problem by proposing a novel dynamic analysis technique named Object Flow Analysis, which complements method execution tracing with an accurate analysis of the runtime flow of objects. To exemplify the usefulness of our analysis we present a visual approach that allows a system engineer to study classes and components in terms of how they exchange objects at runtime. We illustrate and validate our approach on two case studies.

References

  1. De Pauw, W., Lorenz, D., Vlissides, J., Wegman, M.: Execution patterns in objectoriented visualization. In: Proceedings Conference on Object-Oriented Technologies and Systems (COOTS '98), USENIX (1998) 219--234 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Lange, D., Nakamura, Y.: Interactive visualization of design patterns can help in framework understanding. In: Proceedings ACM International Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 1995), New York NY, ACM Press (1995) 342--357 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Richner, T., Ducasse, S.: Recovering high-level views of object-oriented applications from static and dynamic information. In Yang, H., White, L., eds.: Proceedings of 15th IEEE International Conference on Software Maintenance (ICSM'99), Los Alamitos CA, IEEE Computer Society Press (September 1999) 13--22 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Antoniol, G., Guéhéneuc, Y. G.: Feature identification: a novel approach and a case study. In: Proceedings IEEE International Conference on Software Maintenance (ICSM 2005), Los Alamitos CA, IEEE Computer Society Press (September 2005) 357--366 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Kleyn, M. F., Gingrich, P. C.: GraphTrace---understanding object-oriented systems using concurrently animated views. In: Proceedings OOPSLA '88 (International Conference on Object-Oriented Programming Systems, Languages, and Applications. Volume 23., ACM Press (November 1988) 191--205 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Greevy, O., Ducasse, S.: Correlating features and code using a compact two-sided trace analysis approach. In: Proceedings of 9th European Conference on Software Maintenance and Reengineering (CSMR'05), Los Alamitos CA, IEEE Computer Society (2005) 314--323 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. El-Ramly, M., Stroulia, E., Sorenson, P.: Recovering software requirements from system-user interaction traces. In: Proceedings ACM International Conference on Software Engineering and Knowledge Engineering, New York NY, ACM Press (2002) 447--454 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Zaidman, A., Calders, T., Demeyer, S., Paredaens, J.: Applying webmining techniques to execution traces to support the program comprehension process. In: Proceedings IEEE European Conference on Software Maintenance and Reengineering (CSMR 2005), Los Alamitos CA, IEEE Computer Society Press (2005) 134--142 Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. De Pauw, W., Kimelman, D., Vlissides, J.: Modeling object-oriented program execution. In Tokoro, M., Pareschi, R., eds.: Proceedings ECOOP '94. LNCS 821, Bologna, Italy, Springer-Verlag (July 1994) 163--182 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Walker, R. J., Murphy, G. C., Freeman-Benson, B., Wright, D., Swanson, D., Isaak, J.: Visualizing dynamic software system information through high-level models. In: Proceedings OOPSLA '98, ACM (October 1998) 271--283 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Ducasse, S., Lanza, M., Bertuli, R.: High-level polymetric views of condensed run-time information. In: Proceedings of 8th European Conference on Software Maintenance and Reengineering (CSMR'04), Los Alamitos CA, IEEE Computer Society Press (2004) 309--318 Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Hill, T., Noble, J., Potter, J.: Scalable visualisations with ownership trees. In: Proceedings of TOOLS '00. (June 2000)Google ScholarGoogle Scholar
  13. De Pauw, W., Sevitsky, G.: Visualizing reference patterns for solving memory leaks in Java. In Guerraoui, R., ed.: Proceedings ECOOP '99. Volume 1628 of LNCS., Lisbon, Portugal, Springer-Verlag (June 1999) 116--134 Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Hind, M.: Pointer analysis: Haven't we solved this problem yet? In: 2001 ACM SIGPLAN-SIGSOFT Workshop on Program Analysis for Software Tools and Engineering (PASTE'01), Snowbird, UT (2001) Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Nierstrasz, O., Ducasse, S., Gîrba, T.: The story of Moose: an agile reengineering environment. In: Proceedings of the European Software Engineering Conference (ESEC/FSE 2005), New York NY, ACM Press (2005) 1--10 Invited paper. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Meyer, M., Gîrba, T., Lungu, M.: Mondrian: An agile visualization framework. In: ACM Symposium on Software Visualization (SoftVis 2006), New York, NY, USA, ACM Press (2006) 135--144 Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Gschwind, T., Oberleitner, J.: Improving dynamic data analysis with aspectoriented programming. In: Proceedings of CSMR 2003, IEEE Press (2003) Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Hogg, J., Lea, D., Wills, A., deChampeaux, D., Holt, R.: The Geneva convention on the treatment of object aliasing. SIGPLAN OOPS Mess. 3(2) (1992) 11--16 Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Noble, J., Potter, J., Vitek, J.: Flexible alias protection. In Jul, E., ed.: Proceedings ECOOP '98. Volume 1445 of LNCS., Brussels, Belgium, Springer-Verlag (July 1998) Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Lienhard, A., Greevy, O., Nierstrasz, O.: Tracking objects to detect feature dependencies. In: Proceedings International Conference on Program Comprehension (ICPC 2007), Washington, DC, USA, IEEE Computer Society (June 2007) 59--68 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Ball, T.: The concept of dynamic analysis. In: Proceedings European Software Engineering Conference and ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSC 1999). Number 1687 in LNCS, Heidelberg, Springer Verlag (sep 1999) 216--234 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Systä, Koskimies, Müller: Shimba --- an environment for reverse engineering Java software systems. Software --- Practice and Experience 1(1) (January 2001) Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Salah, M., Denton, T., Mancoridis, S., Shokoufandeh, A., Vokolos, F. I.: Scenariographer: A tool for reverse engineering class usage scenarios from method invocation sequences. In: Proceedings of ICSM 2005 (21th International Conference on Software Maintenance), IEEE Computer Society Press (September 2005) Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Chen, T. Y., Low, C. K.: Dynamic data flow analysis for C++. In: APSEC '95: Proceedings of the Second Asia Pacific Software Engineering Conference, Washington, DC, USA, IEEE Computer Society (1995) 22 Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Boujarwah, A. S., Saleh, K., Al-Dallal, J.: Dynamic data flow analysis for Java programs. Information & Software Technology 42(11) (2000) 765--775Google ScholarGoogle ScholarCross RefCross Ref

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 ACM Other conferences
    ICDL '07: Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
    August 2007
    254 pages
    ISBN:9781605580845
    DOI:10.1145/1352678

    Copyright © 2007 ACM

    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]

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 25 August 2007

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article

    Acceptance Rates

    ICDL '07 Paper Acceptance Rate11of16submissions,69%Overall Acceptance Rate11of16submissions,69%

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader