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

Feature driven browsing

Published: 25 August 2007 Publication 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
[2]
Corbi, T. A.: Program understanding: Challenge for the 1990's. IBM Systems Journal 28(2) (1989) 294--306
[3]
Demeyer, S., Ducasse, S., Mens, K., Trifu, A., Vasa, R.: Report of the ECOOP'03 workshop on object-oriented reengineering (2003)
[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
[5]
Wilde, N., Huitt, R.: Maintenance support for object-oriented programs. IEEE Transactions on Software Engineering SE-18(12) (December 1992) 1038--1044
[6]
Nielsen, J., Richards, J. T.: The Experience of Learning and Using Smalltalk. IEEE Software 6(3) (1989) 73--77
[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
[8]
Cincom Smalltalk (September 2003) http://www.cincom.com/scripts/smalltalk.dll/.
[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
[10]
Eisenbarth, T., Koschke, R., Simon, D.: Locating features in source code. IEEE Computer 29(3) (March 2003) 210--224
[11]
Renggli, L.: Magritte - meta-described web application development. Master's thesis, University of Bern (June 2006)
[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)
[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--285
[14]
Greevy, O.: Enriching Reverse Engineering with Feature Analysis. PhD thesis, University of Berne (May 2007)
[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
[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)
[17]
Kanji, G. K.: 100 Statistical Tests. SAGE Publications (1999)
[18]
Wilcoxon, F.: Individual Comparisons by Ranking Methods. International Biometric Society (1945)
[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)
[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
[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
[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
[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
[24]
Chen, J. B., Lee, S. C.: Generation and Reorganization of Subtype hierarchies. Journal of Object Oriented Programming 8(8) (January 1996) 26--35
[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--154
[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)
[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
[28]
Reiss, S. P.: Visualizing Java in action. In: Proceedings of SoftVis 2003 (ACM Symposium on Software Visualization). (2003) 57--66
[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
[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

Cited By

View all
  • (2012)Modularization of Legacy Features by Relocation and ReconceptualizationProceedings of the 2012 16th European Conference on Software Maintenance and Reengineering10.1109/CSMR.2012.26(171-180)Online publication date: 27-Mar-2012
  • (2012)Remodularizing Java programs for improved locality of feature implementations in source codeScience of Computer Programming10.1016/j.scico.2010.10.00777:3(131-151)Online publication date: 1-Mar-2012
  • (2011)Understanding Legacy Features with FeatureousProceedings of the 2011 18th Working Conference on Reverse Engineering10.1109/WCRE.2011.64(435-436)Online publication date: 17-Oct-2011
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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 for this article.

Check for updates

Qualifiers

  • Research-article

Conference

ICDL '07

Acceptance Rates

ICDL '07 Paper Acceptance Rate 11 of 16 submissions, 69%;
Overall Acceptance Rate 11 of 16 submissions, 69%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 19 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2012)Modularization of Legacy Features by Relocation and ReconceptualizationProceedings of the 2012 16th European Conference on Software Maintenance and Reengineering10.1109/CSMR.2012.26(171-180)Online publication date: 27-Mar-2012
  • (2012)Remodularizing Java programs for improved locality of feature implementations in source codeScience of Computer Programming10.1016/j.scico.2010.10.00777:3(131-151)Online publication date: 1-Mar-2012
  • (2011)Understanding Legacy Features with FeatureousProceedings of the 2011 18th Working Conference on Reverse Engineering10.1109/WCRE.2011.64(435-436)Online publication date: 17-Oct-2011
  • (2011)Meta-Level Runtime Feature Awareness for JavaProceedings of the 2011 18th Working Conference on Reverse Engineering10.1109/WCRE.2011.40(271-274)Online publication date: 17-Oct-2011
  • (2010)Immediacy through InteractivityProceedings of the 2010 17th Working Conference on Reverse Engineering10.1109/WCRE.2010.17(77-86)Online publication date: 13-Oct-2010
  • (2010)FeatureousProceedings of the 2010 IEEE 18th International Conference on Program Comprehension10.1109/ICPC.2010.27(44-45)Online publication date: 30-Jun-2010
  • (2009)Remodularizing Java programs for comprehension of featuresProceedings of the First International Workshop on Feature-Oriented Software Development10.1145/1629716.1629722(19-26)Online publication date: 6-Oct-2009
  • (2009)Debugging into ExamplesProceedings of the 21st IFIP WG 6.1 International Conference on Testing of Software and Communication Systems and 9th International FATES Workshop10.1007/978-3-642-05031-2_18(235-240)Online publication date: 3-Nov-2009

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media