A Simple Static Model for Understanding the Dynamic Behavior of Programs

  • Authors:
  • Affiliations:
  • Venue:
  • IWPC '04 Proceedings of the 12th IEEE International Workshop on Program Comprehension
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

To maintain software and to adapt it to changing requirements,one needs to have a solid understanding of both itsstructure and behavior. While there are a number of reverseengineering tools that aid in understanding the runtime behaviorof programs, these are mostly based on variants ofUML sequence diagrams or statechart diagrams. We proposea new model for understanding runtime behavior thatpresents several advantages over the more traditional models:it has a simple syntax (a very small subset of UML).Second one can tailor the same type of model to differentabstraction levels while maintaining traceability. Third,they have a clearly defined semantics that makes them executable.Finally they capture both static and dynamic aspectsof a system.We present three scenarios where our model - namedEOP-model- aids with program comprehension: (1) high-leveldebugging, with which one can observe the executionof the program at a higher level of abstraction; (2)high-level program slicing, which allows to identify the dataitems in our model that may influence an operation, regardlessof the abstraction level, and (3) generating abstractviews at varying levels of detail while maintaining traceabilitybetween model elements and the code.