Extending software quality assessment techniques to Java systems

The paper presents extensions to Bell Canada source code quality assessment suite (DATRIX tm) for handling Java language systems. Such extensions are based on source code object metrics, including Java interface metrics, which are presented and explained in detail. The assessment suite helps to evaluate the quality of medium-large software systems identifying parts of the system which have unusual characteristics. The paper also studies and reports the occurrence of clones in medium-large Java software systems. Clone presence affects quality since it increases a system size and often leads to higher maintenance costs. The clone identification process uses Java specific metrics to determine similarities between methods throughout a system. The results obtained from experiments with software evaluation and clone detection techniques, on over 500 KLOC of Java source code, are presented.

[1]  Chris F. Kemerer,et al.  A Metrics Suite for Object Oriented Design , 2015, IEEE Trans. Software Eng..

[2]  Steven P. Reiss,et al.  Support for Maintaining Object-Oriented Programs , 1992, IEEE Trans. Software Eng..

[3]  Jean-Francois Girard,et al.  Reverse engineering of user interfaces , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[4]  Shing-Chi Cheung,et al.  Checking subsystem safety properties in compositional reachability analysis , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[5]  Michel Dagenais,et al.  An analysis framework for understanding layered software architectures , 1998, Proceedings. 6th International Workshop on Program Comprehension. IWPC'98 (Cat. No.98TB100242).

[6]  J. Howard Johnson Using textual redundancy to understand change , 1995, CASCON.

[7]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[8]  Ettore Merlo,et al.  Assessing the benefits of incorporating function clone detection in a development process , 1997, 1997 Proceedings International Conference on Software Maintenance.

[9]  Jean Mayrand,et al.  System acquisition based on software product assessment , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[10]  Shyam R Chidamber A metrics suite for object oriented software design , 1994 .

[11]  Spencer Rugaber,et al.  The representation problem in reverse engineering , 1993, [1993] Proceedings Working Conference on Reverse Engineering.

[12]  E. Merlo,et al.  A process algebra based program and system representation for reverse engineering , 1993, [1993] IEEE Second Workshop on Program Comprehension.

[13]  Ettore Merlo,et al.  Experiment on the automatic detection of function clones in a software system using metrics , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[14]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[15]  Michel Dagenais,et al.  Clones occurence in large object oriented software packages , 1998, CASCON.

[16]  F. Guay,et al.  Inheritance graph assessment using metrics , 1996, Proceedings of the 3rd International Software Metrics Symposium.

[17]  H. D. Rombach,et al.  The Goal Question Metric Approach , 1994 .

[18]  Brenda S. Baker,et al.  On finding duplication and near-duplication in large software systems , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[19]  Mark Lorenz Object-Oriented Software Metrics , 1994 .