A metrics tool for multi-language software

In this paper, we present a prototype tool that automates the process of detecting, gathering and visualizing multi-language software metrics at an intermediate-language level. More specifically, the current version of our tool focuses on code written using the Microsoft Visual Studio .NET software development environment. It facilitates the process of locating and extracting software metrics found at the MSIL (Microsoft Intermediate Language) level. We illustrate the basic functionality of our tool and we discuss a preliminary case study performed in order to verify its functionality and validate its usefulness. Based on the results of this study, we continue improving the tool. Our broader research goal is to show that complexity analysis of multi-language software, when it is done at an intermediate language level, it can be as effective as when conducted at the level of each individual language. This will eventually eliminate the need for developing different syntax parsers for each programming language used to develop multi-language software. The prototype tool described in this paper is the first step towards accomplishing such an objective.

[1]  John Walkenbach Excel 2003 Power Programming with VBA Set , 2007 .

[2]  Stephen R. Schach,et al.  Comprehending Multilanguage and Multiparadigm Software , 1999 .

[3]  Panagiotis K. Linos,et al.  A tool for understanding multi-language program dependencies , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

[4]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[5]  T. Capers Jones,et al.  Estimating software costs , 1998 .

[6]  Nouredine Melab,et al.  Analysis and manipulation of distributed multi-language software code , 2001, Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation.

[7]  P. K. Linos PolyCARE: a tool for re-engineering multi-language program integrations , 1995, Proceedings of First IEEE International Conference on Engineering of Complex Computer Systems. ICECCS'95.

[8]  Kenny Wong,et al.  Comprehension and Maintenance of Large-Scale Multi-Language Software Applications , 2006, 2006 22nd IEEE International Conference on Software Maintenance.

[9]  Welf Löwe,et al.  Cross-Language Program Analysis and Refactoring , 2006, 2006 Sixth IEEE International Workshop on Source Code Analysis and Manipulation.