TY - JOUR
T1 - Flow analysis of class relationships for object-oriented programs
AU - Chen, Jiun Liang
AU - Wang, Feng-Jian
PY - 2000/7/1
Y1 - 2000/7/1
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=0034228240&partnerID=8YFLogxK
U2 - 10.6688/JISE.2000.16.4.4
DO - 10.6688/JISE.2000.16.4.4
M3 - Article
AN - SCOPUS:0034228240
SN - 1016-2364
VL - 16
SP - 619
EP - 647
JO - Journal of Information Science and Engineering
JF - Journal of Information Science and Engineering
IS - 4
ER -