Hasso-Plattner-Institut25 Jahre HPI
Hasso-Plattner-Institut25 Jahre HPI
 

Reverse-Engineering (Wintersemester 2018/2019)

Lecturer: Prof. Dr. Robert Hirschfeld (Software-Architekturen)

General Information

  • Weekly Hours: 4
  • Credits: 6
  • Graded: yes
  • Enrolment Deadline: 26.10.2018
  • Teaching Form: Project seminar
  • Enrolment Type: Compulsory Elective Module
  • Course Language: German

Programs, Module Groups & Modules

IT-Systems Engineering MA
  • IT-Systems Engineering
    • HPI-ITSE-A Analyse
  • IT-Systems Engineering
    • HPI-ITSE-E Entwurf
  • IT-Systems Engineering
    • HPI-ITSE-K Konstruktion
  • IT-Systems Engineering
    • HPI-ITSE-M Maintenance
  • ISAE: Internet, Security & Algorithm Engineering
    • HPI-ISAE-K Konzepte und Methoden
  • ISAE: Internet, Security & Algorithm Engineering
    • HPI-ISAE-S Spezialisierung
  • ISAE: Internet, Security & Algorithm Engineering
    • HPI-ISAE-T Techniken und Werkzeuge
  • OSIS: Operating Systems & Information Systems Technology
    • HPI-OSIS-K Konzepte und Methoden
  • OSIS: Operating Systems & Information Systems Technology
    • HPI-OSIS-S Spezialisierung
  • OSIS: Operating Systems & Information Systems Technology
    • HPI-OSIS-T Techniken und Werkzeuge

Description

Understanding and enhancing existing software systems can be hard, especially when the subject system is legacy software or a still prototype and good documentation, architecture and software design are missing or not yet there. 

Reverse engineering is a process of analyzing such systems, by identifying its components and their interrelationships, and create representations of the system in another form or at a higher level of abstraction (see [1]), that help refactoring and evolving such systems.  

In this seminar, the participants will work in teams to develop reverse engineering tools in the context of exploratory development environments Squeak (Smalltalk) and Lively4 (JavaScript) that facilitate such a process. 

Requirements

In-depth knowledge in at least on dynamic programming language

Literature

[1] Chikofsky, E. J.; Cross, J. H. (January 1990). "Reverse engineering and design recovery: A taxonomy". IEEE Software. 7: 13–17. doi:10.1109/52.43044.

Examination

Die Leistung wird durch die erfolgreiche Bearbeitung eines gewählten Themas erbracht. Dazu soll das jeweilige Thema theoretisch erarbeitet und präsentiert sowie praktisch umgesetzt werden. In Gruppenarbeit werden Komponenten einer Explorativen Software-Entwicklungsumgebung implementiert und in ein bestehendes System integriert. Jede Gruppe stellt im Rahmen von regelmäßigen Treffen ihre Erkenntnisse und Ergebnisse vor. 

Zur Erlangung der sechs benoteten Leistungspunkte sind die folgenden Anforderungen zu erfüllen:

Regelmäßige Anwesenheit im Seminar bzw. beim Treffen mit den Projektbetreuern
Eigenständige Erarbeitung und Präsentation eines ausgewählten Themas zu den Seminargrundlagen
Bearbeitung eines Projektthemas in einer Gruppe sowie regelmäßige Demonstration des Fortschrittes
Abschlusspräsentation der Ergebnisse des Projektes

Zurück