Flow analysis of class relationships for object-oriented programs

Jiun Liang Chen, Feng-Jian Wang

Research output: Contribution to journalArticlepeer-review

7 Scopus citations

Abstract

Program analysis techniques have been widely applied in various fields of software engineering, such as debugging, testing, and proof of simple correctness properties. In object-oriented (OO) programs, inheritance, association, and aggregation relationships may introduce complicated dependencies concealed within classes that might obstruct program analysis. This paper proposes a class relationship flow models to provide analysis for inheritance, association, and aggregation of class relationships. The flow model consists of three flows, inheritance, association, and aggregation flows, corresponding to these relationships. A sequence of class relationships is represented as a flow path from one class to another. Along a flow path, each member within a class is associated with an operation, define or use, to represent whether its status is changed or referenced. Thereby, the concealed dependencies introduced by class relationships can be analyzed according to the flow operations. The analysis might be used as a technique for program understanding, anomaly detection, and program testing.

Original languageEnglish
Pages (from-to)619-647
Number of pages29
JournalJournal of Information Science and Engineering
Volume16
Issue number4
DOIs
StatePublished - 1 Jul 2000

Fingerprint Dive into the research topics of 'Flow analysis of class relationships for object-oriented programs'. Together they form a unique fingerprint.

Cite this