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 language | English |
---|---|
Title of host publication | 9th ECOOP Workshop for PhD Students in Object-Oriented Programming, Lisbon,Portugal |
Publication status | Published - 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