Not logged in.

Contribution Details

Type Master's Thesis
Scope Discipline-based scholarship
Title Java Map enabled program comprehension
Organization Unit
Authors
  • Marc Weber
Supervisors
  • Harald Gall
  • Emanuel Giger
  • Michael Würsch
Language
  • English
Institution University of Zurich
Faculty Faculty of Economics, Business Administration and Information Technology
Number of Pages 84
Date 2014
Abstract Text Analyzing and understanding source code is one of the crucial tasks of every software developer. Object - oriented systems, with their logic distributed over several code entities are harder to understand and maintain than their procedural predecessors. But while modern software systems become more and more complex, software developers still have to use the same development tools already known for years. One of the main problems is the lack of a way to see the big picture. To fill this gap, we present in this thesis the JAVA MAP. It is a set of tools, fully integrated into the JAVA DEVELOPMENT TOOLKIT (JDT) of ECLIPSE, with the aim, to support the developer in his everyday work. All tools are available at the developers finger tips, using state of the art software visualization techniques to ease program- as well as project history comprehension. The core is built by the JAVA MAP, a visual representation of the whole software system in focus. It is based on the concepts of the CLASS BLUEPRINT and allows the user to quickly grasp the overall picture of the elements in focus, as well as their interaction. This core is augmented by additional tools for type hierarchy understanding, as well as history analysis. With a short user study at the end of our thesis, we have successfully verified the usefulness of the JAVA MAP in aiding program comprehension. The users of the study were significantly faster in solving the given program comprehension tasks when using the JAVA MAP.
Zusammenfassung Die Analyse und das Verstehen von Quellcode sind einige der wichtigsten Aufgaben eines jeden Entwicklers. Objektorientierte Systeme mit ihrer dezentralen Logik, verteilt über mehrere Codeelemente (Klassen), sind schwerer zu verstehen und zu warten als ihre prozeduralen Vorgänger. Doch während moderne Softwaresysteme immer komplexer werden, arbeiten die Entwickler seit Jahren mit den immer gleichen Werkzeugen. Eines der grossen Probleme ist die fehlende Möglichkeit, das Grosse Ganze zu sehen. Um diese Lücke zu füllen präsentieren wir in dieser Arbeit die JAVA MAP. Sie ist eine Sammlung von Werkzeugen welche vollständig in das JAVA DEVELOPMENT TOOLKIT (JDT) von ECLIPSE integriert sind. Ihr Ziel ist es, den Entwickler bei seiner täglichen Arbeit zu unterstützen. Der Anwender kann auf alle Werkzeuge direkt zugreifen und es werden modernste Techniken aus dem Bereich der Software Visualisierung verwendet um sowohl das Programmverständnis als auch die Analyse der Projekthistorie zu erleichtern. Das Kernelement wird von der JAVA MAP gebildet, einer visuellen Darstellung des gesamten Softwaresystems im Fokus. Die Darstellung basiert auf der Idee der CLASS BLUEPRINT und erlaubt es dem Anwender, sich schnell und einfach einen Überblick über die fokussierten Elemente und deren Zusammenspiel zu verschaffen. Dieser Kern wird durch zusätzliche Werkzeuge zur Analyse der Typhierarchie und der Projekthistorie ergänzt. Wir konnten mit einer kurzen Benutzerstudie am Ende unserer Arbeit erfolgreich aufzeigen, dass die JAVA MAP sich bestens eignet, um ein Softwaresystem zu analysieren. Die Benutzer der Studie waren signifikant schneller, beim Lösen von Aufgaben zum Programmverständnis, unter der Verwendung der JAVA MAP.
PDF File Download
Export BibTeX