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

Feature driven browsing

Published:25 August 2007Publication History

ABSTRACT

Development environments typically present the software engineer with a structural perspective of an object-oriented system in terms of packages, classes and methods. From a structural perspective it is difficult to gain an understanding of how source entities participate in a system's features at runtime, especially when using dynamic languages such as Smalltalk. In this paper we evaluate the usefulness of offering an alternative, complementary feature-centric perspective of a software system when performing maintenance activities. We present a feature-centric environment combining interactive visual representations of features with a source code browser displaying only the classes and methods participating in a feature under investigation. To validate the usefulness of our feature-centric view, we conducted a controlled empirical experiment where we measured and compared the performance of subjects when correcting two defects in an unfamiliar software system with a traditional development environment and with our feature-centric environment. We evaluate both quantitative and qualitative data to draw conclusions about the usefulness of a feature-centric perspective to support program comprehension during maintenance activities.

References

  1. Basili, V.: Evolving and packaging reading technologies. Journal Systems and Software 38(1) (1997) 3--12 Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Corbi, T. A.: Program understanding: Challenge for the 1990's. IBM Systems Journal 28(2) (1989) 294--306 Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Demeyer, S., Ducasse, S., Mens, K., Trifu, A., Vasa, R.: Report of the ECOOP'03 workshop on object-oriented reengineering (2003)Google ScholarGoogle Scholar
  4. Dunsmore, A., Roper, M., Wood, M.: Object-oriented inspection in the face of delocalisation. In: Proceedings of ICSE '00 (22nd International Conference on Software Engineering), ACM Press (2000) 467--476 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Wilde, N., Huitt, R.: Maintenance support for object-oriented programs. IEEE Transactions on Software Engineering SE-18(12) (December 1992) 1038--1044 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Nielsen, J., Richards, J. T.: The Experience of Learning and Using Smalltalk. IEEE Software 6(3) (1989) 73--77 Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Ingalls, D., Kaehler, T., Maloney, J., Wallace, S., Kay, A.: Back to the future: The story of Squeak, A practical Smalltalk written in itself. In: Proceedings OOPSLA '97, ACM SIGPLAN Notices, ACM Press (November 1997) 318--326 Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Cincom Smalltalk (September 2003) http://www.cincom.com/scripts/smalltalk.dll/.Google ScholarGoogle Scholar
  9. Mehta, A., Heineman, G.: Evolving legacy systems features using regression test cases and components. In: Proceedings ACM International Workshop on Principles of Software Evolution, New York NY, ACM Press (2002) 190--193 Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Eisenbarth, T., Koschke, R., Simon, D.: Locating features in source code. IEEE Computer 29(3) (March 2003) 210--224 Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Renggli, L.: Magritte - meta-described web application development. Master's thesis, University of Bern (June 2006)Google ScholarGoogle Scholar
  12. Jerding, D., Stasko, J., Ball, T.: Visualizing message patterns in object-oriented program executions. Technical Report GIT-GVU-96-15, Georgia Institute of Technology (May 1996)Google ScholarGoogle Scholar
  13. Licata, D., Harris, C., Krishnamurthi, S.: The feature signatures of evolving programs. In: Proceedings IEEE International Conference on Automated Software Engineering, Los Alamitos CA, IEEE Computer Society Press (October 2003) 281--285Google ScholarGoogle Scholar
  14. Greevy, O.: Enriching Reverse Engineering with Feature Analysis. PhD thesis, University of Berne (May 2007)Google ScholarGoogle Scholar
  15. Philippe Flajolet, Paolo Sipala, J. M. S.: Analytic variations on the common subex-pression problem. In: Automata, Languages, and Programming. Volume 443 of LNCS., Springer Verlag (1990) 220--234 Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Hamou-Lhadj, A., Lethbridge, T.: An efficient algorithm for detecting patterns in traces of procedure calls. In: Proceedings of 1st International Workshop on Dynamic Analysis (WODA). (May 2003)Google ScholarGoogle Scholar
  17. Kanji, G. K.: 100 Statistical Tests. SAGE Publications (1999)Google ScholarGoogle Scholar
  18. Wilcoxon, F.: Individual Comparisons by Ranking Methods. International Biometric Society (1945)Google ScholarGoogle Scholar
  19. O'Brien, M., Buckley, J., Exton, C.: Empirically studying software practitioners - bridging the gap between theory and practice. In: Proceedings of the 21st IEEE International Conference on Software Maintenance (ICSM 2005), IEEE Computer Society Press (2005) Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Zeller, A.: Isolating cause-effect chains from computer programs. In: SIGSOFT '02/FSE-10: Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering, New York, NY, USA, ACM Press (2002) 1--10 Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Hamou-Lhadj, A., Braun, E., Amyot, D., Lethbridge, T.: Recovering behavioral design models from execution traces. In: Proceedings IEEE European Conference on Software Maintenance and Reengineering (CSMR 2005), Los Alamitos CA, IEEE Computer Society Press (2005) 112--121 Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. 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
  23. Nielson, F.: The typed lambda-calculus with first-class processes. In Odijk, E., Syre, J. C., eds.: Proceedings PARLE '89, Vol II. LNCS 366, Eindhoven, Springer-Verlag (June 1989) 357--373 Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Chen, J. B., Lee, S. C.: Generation and Reorganization of Subtype hierarchies. Journal of Object Oriented Programming 8(8) (January 1996) 26--35Google ScholarGoogle Scholar
  25. Brade, K., Guzdial, M., Steckel, M., Soloway, E.: Worf: A visualization tool for software maintenance. In: Proceedings of IEEE Workshop on Visual Languages, IEEE Society Press (1992) 148--154Google ScholarGoogle Scholar
  26. Greevy, O., Lanza, M., Wysseier, C.: Visualizing live software systems in 3D. In: Proceedings of SoftVis 2006 (ACM Symposium on Software Visualization). (September 2006) Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Kleyn, M. F., Gingrich, P. C.: GraphTrace --- understanding object-oriented systems using concurrently animated views. In: Proceedings OOPSLA '88 (International 99 Conference on Object-Oriented Programming Systems, Languages, and Applications. Volume 23., ACM Press (November 1988) 191--205 Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Reiss, S. P.: Visualizing Java in action. In: Proceedings of SoftVis 2003 (ACM Symposium on Software Visualization). (2003) 57--66 Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. 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
  30. De Pauw, W., Helm, R., Kimelman, D., Vlissides, J.: Visualizing the behavior of object-oriented systems. In: Proceedings OOPSLA '93. (October 1993) 326--337 Google ScholarGoogle ScholarDigital LibraryDigital Library
  1. Feature driven browsing

      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