skip to main content
10.1145/1117696.1117701acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Relo: helping users manage context during interactive exploratory visualization of large codebases

Published: 16 October 2005 Publication History

Abstract

As software systems grow in size and use more third-party libraries and frameworks, the need for developers to understand unfamiliar large codebases is rapidly increasing. In this paper, we present a tool, Relo, that supports developers' understanding by allowing interactive exploration of code. As the developer explores relationships found in the code, Relo builds and automatically manages the context in a visualization, thereby helping build the developer's mental representation of the code. Developers can group viewed artifacts or use the viewed items to ask Relo for further exploration suggestions. Relo is built as an Eclipse plug-in integrated into the Java Tooling (JDT), and uses a standard, RDF, based backend allowing for maintaining code relationships and performing inferences about the relationships.

References

[1]
B. Shneiderman. "Software Psychology: Human Factors in Computer and Information Systems." Winthrop Publishers Inc., 1980.
[2]
M.-A. Storey, H. Muller, and K. Wong. "Manipulating and documenting software structures using SHriMP views", ICSM 1995.
[3]
M.-A. Storey, H. Muller, and K. Wong. "How Do Program Understanding Tools Affect How Programmers Understand Programs?", WCRE 1997.
[4]
Doug Janzen and Kris De Volder. "Navigating and Querying Code Without Getting Lost", AOSD 2003.
[5]
N. Pennington. "Stimulus structures and mental representations in expert comprehension of computer programs". Cognitive Psychology, 19:295--341, 1987.
[6]
E. Soloway, J. Pinto, S. Letovsky, D. Littman, and R. Lampert. "Designing documentation to compensate for delocalized plans". Communications of the ACM, 31(11):1259--1267, 1988.
[7]
M.-A. Storey, F. Fracchia, and H. Muller. "Cognitive design elements to support the construction of a mental model during software visualization". IWPC'97.
[8]
Sim, S. E. and Holt, R. C. "The Ramp-Up Problem in Software Projects: A Case Study of How Software Immigrants Naturalize", ICSE 1998
[9]
Rational Rose, IBM, http://www.ibm.com/software/rational/
[10]
Together Technologies, Borland Software Corp., http://www.borland.com/together/
[11]
Fujaba Tool Suite, Universität Paderborn Software Engg. Group. http://wwwcs.uni-paderborn.de/cs/fujaba/
[12]
JHotDraw. http://www.jhotdraw.org/
[13]
Jaime Teevan, Christine Alvarado, Mark S. Ackerman, and David R. Karger. "The perfect search engine is not enough: a study of orienteering behavior in directed search". CHI 2004.
[14]
Martin P. Robillard, Gail C. Murphy, "Concern graphs: finding and describing concerns using structural program dependencies", In ICSE 2002, Orlando, Florida
[15]
Reiss, S. "Visualization for Software Engineering - Programming Environments", Chapter 18, pages 259--276, in "Software Visualization", ed. Stasko et al.
[16]
Wang, L. "Animated Exploring of Huge Software Systems", Masters Thesis, School of Information Technology and Engineering, University of Ottawa, 2002
[17]
Ko, A. J., Aung, H., and Myers, B. A. (2005). "Eliciting Design Requirements for Maintenance-Oriented IDEs: A Detailed Study of Corrective and Perfective Maintenance Tasks". ICSE 2004.
[18]
Lindgaard, G., "Usability Testing and System Evaluation: A Guide for Designing Useful Computer Systems", 1994, Chapman and Hall, London, U.K. ISBN 0-412-46100-5
[19]
O. Lassila and R. Swick. "Resource description framework (RDF): Model and syntax specification", http://www.w3.org/TR/1999/REC-rdf-syntax-19990222, February 1999. W3C Recommendation

Cited By

View all
  • (2023)Log-it: Supporting Programming with Interactive, Contextual, Structured, and Visual LogsProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3581403(1-16)Online publication date: 19-Apr-2023
  • (2021)Striffs: Architectural Component Diagrams for Code Reviews2021 International Conference on Code Quality (ICCQ)10.1109/ICCQ51190.2021.9392939(69-78)Online publication date: 27-Mar-2021
  • (2017)Flower: Navigating program flow in the IDE2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VLHCC.2017.8103445(19-23)Online publication date: Oct-2017
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
eclipse '05: Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange
October 2005
141 pages
ISBN:1595933425
DOI:10.1145/1117696
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: 16 October 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. large software systems
  2. program comprehension
  3. program understanding
  4. software visualization

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 38 of 79 submissions, 48%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

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

Other Metrics

Citations

Cited By

View all
  • (2023)Log-it: Supporting Programming with Interactive, Contextual, Structured, and Visual LogsProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3581403(1-16)Online publication date: 19-Apr-2023
  • (2021)Striffs: Architectural Component Diagrams for Code Reviews2021 International Conference on Code Quality (ICCQ)10.1109/ICCQ51190.2021.9392939(69-78)Online publication date: 27-Mar-2021
  • (2017)Flower: Navigating program flow in the IDE2017 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VLHCC.2017.8103445(19-23)Online publication date: Oct-2017
  • (2016)Amplifying side channels through performance degradationProceedings of the 32nd Annual Conference on Computer Security Applications10.1145/2991079.2991084(422-435)Online publication date: 5-Dec-2016
  • (2014)CodeGraffiti: Using hand-drawn sketches connected to code bases in navigation tasks2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VLHCC.2014.6883024(65-68)Online publication date: Jul-2014
  • (2014)Context-Based Search, Recommendation and Browsing in Software DevelopmentContext in Computing10.1007/978-1-4939-1887-4_4(45-62)Online publication date: 10-Dec-2014
  • (2014)Plugging in and into code bubblesSoftware—Practice & Experience10.1002/spe.219644:3(261-276)Online publication date: 1-Mar-2014
  • (2011)Enabling program comprehension through a visual object-focused development environment2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VLHCC.2011.6070389(127-134)Online publication date: Sep-2011
  • (2010)Studying Onboarding to Improve Program Comprehension Tool SupportProceedings of the 2010 IEEE Symposium on Visual Languages and Human-Centric Computing10.1109/VLHCC.2010.47(257-258)Online publication date: 21-Sep-2010
  • (2007)Building an Ecologically valid, Large-scale Diagram to Help Developers Stay Oriented in Their CodeProceedings of the IEEE Symposium on Visual Languages and Human-Centric Computing10.1109/VLHCC.2007.12(157-162)Online publication date: 23-Sep-2007

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