add to favorites : reference url back to results : previous : next
 

A SPARSE PROGRAM DEPENDENCE GRAPH FOR OBJECT ORIENTED PROGRAMMING LANGUAGES
Access this item.
TitleA SPARSE PROGRAM DEPENDENCE GRAPH FOR OBJECT ORIENTED PROGRAMMING LANGUAGES
AuthorGarfield, Keith
KeywordsDependence Graphs
Program Representation
Object Oriented
Java
Program Dependences
AbstractThe Program Dependence Graph (PDG) has achieved widespread acceptance as a useful tool for software engineering, program analysis, and automated compiler optimizations. This thesis presents the Sparse Object Oriented Program Dependence Graph (SOOPDG), a formalism that contains elements of traditional PDG's adapted to compactly represent programs written in object-oriented languages such as Java. This formalism is called sparse because, in contrast to other OO and Java-specific adaptations of PDG's, it introduces few node types and no new edge types beyond those used in traditional dependence-based representations. This results in correct program representations using smaller graph structures and simpler semantics when compared to other OO formalisms. We introduce the Single Flow to Use (SFU) property which requires that exactly one definition of each variable be available for each use. We demonstrate that the SOOPDG, with its support for the SFU property coupled with a higher order rewriting semantics, is sufficient to represent static Java-like programs and dynamic program behavior. We present algorithms for creating SOOPDG representations from program text, and describe graph rewriting semantics. We also present algorithms for common static analysis techniques such as program slicing, inheritance analysis, and call chain analysis. We contrast the SOOPDG with two previously published OO graph structures, the Java System Dependence Graph and the Java Software Dependence Graph. The SOOPDG results in comparatively smaller static representations of programs, cleaner graph semantics, and potentially more accurate program analysis. Finally, we introduce the Simulation Dependence Graph (SDG). The SDG is a related representation that is developed specifically to represent simulation systems, but is extensible to more general component-based software design paradigms. The SDG allows formal reasoning about issues such as component composition, a property critical to the creation and analysis of complex simulation systems and component-based design systems.
AdviserHughes, Charles
PublisherUniversity of Central Florida
DegreePh.D.
Degree DisciplineSchool of Electrical Engineering and Computer Science
Degree GrantorEngineering and Computer Science
Degree ProgramComputer Science
Graduation Date2006-12-01
TypeDoctoral dissertation
Access LevelPublic - Allow Worldwide Access
Release Date2007-01-11
RepositoryUniversity Archives
Repository CollectionElectronic Theses and Dissertations
IdentifierCFE0001499
Access Linkhttp://purl.fcla.edu/fcla/etd/CFE0001499

add to favorites : reference url back to results : previous : next
powered by CONTENTdm ® | contact us  ^ to top ^