Note: This is an archvied version of our old webpage. Some links might be broken. The current one can be found here.
I7 Logo
Chair for Foundations of Software Reliability and Theoretical Computer Science
Informatik Logo TUM Logo
Courses

Tools und Methodiken zur Fehlersuche in Computerprogrammen
held by: Univ.-Prof. Dr. Helmut Veith †
Dr. Christian Schallhart
Dipl.-Inf. Michael Tautschnig
held in: WS 2007/2008
sws: 2
ects: 4
Das Seminar findet als Blockveranstaltung im Wintersemester 2007/2008 statt. Die Vorbesprechung wird zu Beginn des Semesters stattfinden. Interessenten melden sich bitte schon jetzt via E-Mail an Michael Tautschnig an. Mögliche Themen sind:
  • Delta Debugging: In delta debugging, the goal is to localize the reason for a failure automatically by systematically changing the circumstances (inputs, program source) which caused the failure. Using this approach, even bugs in systems as large as the GNU C compiler could be isolated automatically. Starting Point: http://www.st.cs.uni-sb.de/dd/
  • Runtime Verification: Approaches categorized under runtime verification use some specification to monitor the running system and to report on dynamically observed violations of these specifications. Starting Point: Runtime Verification 2007 Preproceedings
  • Diagnosis: In this field, the challenge is to localize a fault, typically by using some model of the system under diagnosis. There is a broad number of different approaches to achieve this goal. Starting Point: Wolfgang Mayer, Markus Stumptner: Model-Based Debugging - State of the Art And Future Challenges. Electr. Notes Theor. Comput. Sci. 174(4): 61-82 (2007)
  • Self-Healing Software: Because of the increasing size and complexity of today's software systems, approaches to check their behavior for correctness and to react on failures are becoming more important. Stating Point: "A survey of self-management in dynamic software architecture specifications" and the "Proceedings of the 1st ACM SIGSOFT workshop on Self-managed systems" in general.
  • Program Slicing: A slice is a subset of program statements. In program slicing, we attempt to find meaningful slices from a certain point of view. For example, we might be interested in all those statements which are collaboratively responsible for the value of a variable at a certain program location and at a certain execution step. Starting Point: The paper which introduced the term -- M. Weiser. Program Slicing. IEEE Transactions on Software Engineering, SE--10(4):352--357, 1982.
  • Practical Static Analysis: Static analysis refers to methods which analyze the software at hand statically, i.e., without executing it. These techniques range---depending on the definition---from compiler construction methods like flow analysis, over abstract interpretation, to model checking. Choose one or two tools on static analysis and present their capabilities. Starting Point: http://www.spinroot.com/static/
Teilnehmerliste: