JISE


  [1] [2] [3] [4] [5] [6] [7] [8]


Journal of Information Science and Engineering, Vol. 16 No. 4, pp. 619-647


Flow Analysis of Class Relationships for Object-Oriented Programs


Jiun-Liang Chen and Feng-Jian Wang
Department of Computer Science and Information Engineering 
National Chiao Tung University 
Hsinchu, Taiwan 300, R.O.C.


    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.


Keywords: program analysis, class relationship, object-oriented, software engineering, program dependence graph

  Retrieve PDF document (JISE_200004_06.pdf)