Software Engineering Group

Bericht Forschungsorientierte wissenschaftliche Hilfskraft von Josefine Wegert

Im Rahmen einer Hilfskraftstelle in der Arbeitsgruppe Software Engineering von Herrn Hasselbring beteiligte ich mich im Sommersemster 2016 für vier Monate á 40 Stunden am Forschungsprojekt ExplorViz im Team von Christian Zirkelbach.

ExplorViz ermöglicht Monitoring von großen Softwarelandschaften, indem u. a. Methodenaufrufe getrackt werden. Es visualisiert die untersuchte Softwarelandschaft mithilfe von 2D- und 3D-Modellen. Visualisierung ist ein wichtiges Mittel, um die oft komplexe Struktur einer Softwarelandschaft verständlich und übersichtlich darzustellen und somit das Arbeiten im Team mit der Software zu erleichtern.

Das Projekt ExplorViz ist open-source und unter GitHub verfügbar. Die durchgeführten Experimente, deren Ergebnisse in verschiedenen Papern veröffentlicht wurden, sollen replizierbar sein. Um dies zu erreichen, muss das Tool für jeden nutzbar sein, so dass die Experimente nachgestellt und die veröffentlichten Ergebnisse überprüft werden können. Hierfür ist eine verständliche Dokumentation unerlässlich, die es einem projektfremden Menschen ermöglicht, das Tool zu installieren und zu bedienen. Da ich zu Beginn der Hilfskraftstelle zu den projektfremden Menschen gehörte, bestand meine erste Aufgabe darin das Paper „Hierarchical Software Landscape Visualization for System Comprehension: A Controlled Experiment“ zu lesen und das darin erwähnte Experiment nachzustellen. Dies tat ich, indem ich mit den vorhandenen Informationen aus dem Paper, das Tool installierte und für das vermeintliche Experiment einrichtete. Aus meinen gesammelten Erfahrungen heraus entwickelte ich Verbesserungsvorschläge für die Dokumentation. Im Gespräch mit Projektinteressierten sind die Verbesserungen an der Dokumentation positiv erwähnt worden.

Im nächsten Schritt überarbeitete ich die Homepage des Projekts mit dem Ziel sie übersichtlicher zu gestalten und damit die Verfügbarkeit der Informationen zu erhöhen.

Zwei Studenten und eine Tasse KaffeeDes weiteren war ich als Tutorin auf dem Girls Day 2016 tätig. Dort stellte ich den Schülerinnen ausgedruckte 3D-Modelle, die mit ExplorViz erstellt worden waren, vor und half ihnen, durch gezielte Fragen, die dargestellte Softwarelandschaft zu erkunden. Neben dieser Darstellung der Softwarelandschaft wurden an zwei anderen Stationen die 3D-Darstellung auf dem Bildschirm und  die 3D-Darstellung mit der 3D-Brille (Oculus Rift)  vorgestellt. Ich verglich mit den Schülerinnen die drei Darstellungsweisen und sprach über Vor- und Nachteile von diesen. Auch berichtete ich über Inhalte und meine Erfahrungen im Verlauf meines Informatikstudiums.

Zum Ende der Hiwi-Zeit arbeitete ich mich in den Programmcode von ExplorViz ein, um an der Verbesserung des Sourcecode-Viewers zu arbeiten. Mit dem Sourcecode-Viewer kann der Nutzer bei Bedarf von jedem Punkt im Modell zur zugehörigen Stelle im Quellcode springen.

Für die aus Gleichstellungsmitteln von Präsidium und Technischer Fakultät zur Förderung leistungsstarker Studentinnen finanzierte Hilfskraftstelle wurde ich von Herrn Hasselbring vorgeschlagen. Darüber bin ich froh, weil ich mich nicht von allein als wissenschaftliche Hilfskraft für die Forschung beworben hätte. Durch die Arbeit konnte ich Einblicke in den Forschungsalltag einer Arbeitsgruppe gewinnen. Da es mir gut gefallen hat, werde ich im Wintersemester das neue Mastermodul Forschungsprojekt ebenfalls in der Arbeitsgruppe Software Engineering belegen.

Introducing Type-Systems in Xtext-Languages

Link to the blog

 


Domain-specific languages (DSL) are very popular among software developers, as they provide a more compact and constricted way to formulate certain aspects of the resulting system. There are already a wide range of different approaches and tool-chains to the topic of DSL development. Therefor, we use the existing Xtext framework for external DSLs in this [...]

 

 

 

Soot Tutorial

Setup

Available Versions

Soot is available in two versions: the official release version and the trunk version:

Current official release version: 2.5.0 (release year: 2005)

Current trunk version: ? (last modification: few days ago)

Command line call

For version 2.5.0

java -cp *soot-jar*;*classes-to-analyze*;*libraries*; soot.Main *main-class*

If the following error occurs then you do not use the version 2.5.0, but the trunk version:

soot.SootResolver$SootClassNotFoundException: couldn't find class: ...

For trunk version

java -cp *soot-jar*; soot.Main -cp *classes-to-analyze*;*libraries*; -pp soot.Main *main-class*

If the following error occurs then you compiled the *classes-to-analyze* with a different java version than you use to execute the command above.

Unknown tag in constant pool: *a number* at entry *another number* Exception in thread "main" java.lang.RuntimeException: Could not load classfile: java.lang.CharSequence

 

Command line arguments

Overview: https://ssebuild.cased.de/nightly/soot/doc/soot_options.htm

Example Eclipse project

gitlab URL: https://build.se.informatik.uni-kiel.de/gitlab/chw/SootTutorial

Official, but incomplete setup description

https://github.com/Sable/soot/wiki/Running-Soot

Upcoming Events

Research Projects

  • more...

     ExplorVizLogo160x37[1].png    iobserve-logo-small    logo-science20

     

    Future-Ocean-logo    kieker-logo       PubFlow

     

    teetime-logo  HOSST_Banner.jpg  CloudM!G 

Teaching