An Object-Oriented Software Complexity Metric for Cohesion

Author(s):  
A. Joy Christy ◽  
A. Umamakeswari
Author(s):  
Chi-Ming Chung ◽  
Timothy K. Shih ◽  
Chun-Chia Wang ◽  
Ming-Chi Lee

Software testing methodologies and metrics are key issues to improve and assure software quality. They are important areas in the research of Software Engineering. However, not many focus on the testing criteria and metrics evaluation of a class hierarchy. This paper introduces an important concept named URI (Unit Repeated Inheritance) to realize integrated object-oriented testing and object-oriented metrics. The approach describes an ILT (Inheritance Level Technique) method as a guide to test object-oriented software errors and measure the software complexity of a class hierarchy. The proposed technique shows that inheritance has a close relation to object-oriented software complexity and reveals that overuse of repeated(multiple) inheritance will increase software complexity and be prone to implicit software errors. Also, two test criteria: intra level first and inter level first are presented.


Author(s):  
Timothy K. Shih ◽  
Yule-Chyun Lin ◽  
Wen C. Pai ◽  
Chun-Chia Wang

Software metrics serve as a significant issue to improve software quality. It is an important research of software engineering. In line with the methodologies of object-oriented analysis and design widely developed, many software metrics techniques have been proposed. However, not many focus on the metrics evaluation of an inheritance hierarchy. In this paper, we propose a novel concept named unit repeated inheritance (URI) in Z notation to realize object-oriented software metrics. The approach describes an inheritance level technique (ILT) method as a guide to measure the software complexity of an inheritance hierarchy. The measures of inheritance metrics are formed based on the proposed mechanism. Also, we use Lex and Yacc to construct a windowing tool which is used in conjunction with a conventional C++ programming environment to assist a programmer to analyze and measure his/her C++ programs.


2014 ◽  
Vol 17 (07n08) ◽  
pp. 1450006 ◽  
Author(s):  
WEIFENG PAN ◽  
BING LI ◽  
BO JIANG ◽  
KUN LIU

It is an intrinsic property of real-world software to evolve, which is usually accompanied by the increase of software complexity and deterioration of software quality. So successful software has to be reconditioned from time to time. Though many refactoring approaches have been proposed, only a few of them are performed at the package level. In this paper, we present a novel approach to refactor the package structure of object-oriented (OO) software. It uses weighted bipartite software networks to represent classes, packages, and their dependencies; it proposes a guidance community detection algorithm (GUIDA) to obtain the optimized package structure; and it finally provides a list of classes as refactoring candidates by comparing the optimized package structure with the real package structure. Through a set of experiments we have shown that the proposed approach is able to identify a majority of classes that experts recognize as refactoring candidates, and the benefits of our approach are illustrated in comparison with other two approaches.


1997 ◽  
Vol 39 (8) ◽  
pp. 515-529 ◽  
Author(s):  
Timothy K. Shih ◽  
Chun-Chia Wang ◽  
Chi-Ming Chung

1999 ◽  
Vol 21 (2) ◽  
pp. 179
Author(s):  
Timothy K. Shih ◽  
Chun-Chia Wang ◽  
Chi-Ming Chung

1995 ◽  
Vol 13 (3-4) ◽  
pp. 241-262 ◽  
Author(s):  
David P. Tegarden ◽  
Steven D. Sheetz ◽  
David E. Monarchi

Sign in / Sign up

Export Citation Format

Share Document