Static Analysis of Object-Oriented Programs

Christoph Georg Steindl

Research output: Chapter in Book/Report/Conference proceedingConference proceedings

Abstract

Static analysis derives information by inspection of the source code. The information must be valid for all possible executions of the program. Conservative assumptions must be taken if the program uses conditional branches and iteration since it is not known at compile time which branches will be taken at run time and how many iterations there will be. Two main concepts of object-oriented programming are polymorphism and dynamic binding. Furthermore object-oriented programs make heavy use of pointers (or references to objects). These dynamic aspects are difficult to integrate into static analysis. We have developed a program slicer that models dynamic aspects of object-oriented programs correctly. Starting from conservative assumptions about dynamic binding and aliases, new user guidance techniques are used to reduce these assumptions.
Original languageEnglish
Title of host publication9th ECOOP Workshop for PhD Students in Object-Oriented Programming, Lisbon,Portugal
Publication statusPublished - Jun 1999

Fields of science

  • 102 Computer Sciences
  • 102009 Computer simulation
  • 102011 Formal languages
  • 102013 Human-computer interaction
  • 102029 Practical computer science
  • 102022 Software development
  • 102024 Usability research

Cite this