Software Engineering Group

Bericht vom Girls' Day 2017

Auch in diesem Jahr haben wir uns wieder am Girls’Day des Fakultät mit dem Programm ”Software Erleben mithilfe von 3D-Visualisierungen” beteiligt.
In drei Gruppen könnten jeweils 10 Schülerinnern ab der 8. Klasse aktuelle Trends innerhalb der Informatik kennenlernen und insbesondere auch selbst ausprobieren.

Im Rahmen unseres Forschungsprojektes „ExplorViz“ (https://www.explorviz.net)  haben wir den Schülerinnen die Gelegenheit gegeben, sich mit modernen Interaktionskonzepten, wie etwa einer HTC Vive 3D-Brille in Kombination mit einer Gestensteuerung, Software in einer 3D-Umgebung virtuell zu erkunden („Software erkunden“).

Interaktion mit der HTC Vive Gestensteuerung mit der Leap Motion

Weiterhin haben wir mit einem 3D-Drucker hergestellte 3D-Modelle zur Verfügung gestellt.
Mithilfe der Modelle könnten die Schülerinnen versuchen im Team eine solche Software anzusehen, zu verstehen und anschließend zu diskutieren („Software zum Anfassen“).

Gedrucktes 3D-Modell einer Software

Wir haben durchweg positives Feedback zu unserem Angebot erhalten. Hier eine Zusammenfassung:

Die Schülerinnen waren ganz beeindruckt, es hat Ihnen viel Spaß gemacht. Die lockere Art der Referenten und ihre gute Vorbereitung  haben eine gute Atmosphäre geschaffen. Zitat: "Die waren alle total nett und man hat gemerkt, dass die richtig Spaß an ihrer Arbeit haben."

Wir werden auch im kommenden Jahre wieder dabei sein und versuchen Schülerinnen die Informatik näher zu bringen!

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    CloudMIG Xpress

     

    Future-Ocean-logo    kieker-logo       PubFlow

     

    teetime-logo   SpratGeRDI

Teaching