Language independent framework for static code analysis

The aim of this paper is to describe a framework consisting of a set of static analyzers. The main characteristic of all incorporated tools is their independency of input programming language. This independency is based on a universal representation of the source code that is to be analyzed. The overall goal of this research is to provide a framework that is suitable for consistent analysis of the source code with the intention to ensure, check, and consequently increase the quality of the heterogeneous software products. The framework currently integrates three tools: software metrics tool -- SMIILE, extractor of software networks -- SNEIPL and structure change analyzer -- SSCA, with tendency to extend this set of components. Further application of these tools in collaboration with other tools on higher level provides even broader applicability of described framework.

[1]  Steve Counsell,et al.  Power law distributions in class relationships , 2003, Proceedings Third IEEE International Workshop on Source Code Analysis and Manipulation.

[2]  Rainer Koschke,et al.  Clone Detection Using Abstract Syntax Suffix Trees , 2006, 2006 13th Working Conference on Reverse Engineering.

[3]  C.J.H. Mann,et al.  Object-Oriented Metrics in Practice: Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems , 2007 .

[4]  Christopher R. Myers,et al.  Software systems as complex networks: structure, function, and evolvability of software collaboration graphs , 2003, Physical review. E, Statistical, nonlinear, and soft matter physics.

[5]  Serge Demeyer,et al.  The FAMOOS Object-Oriented Reengineering Handbook , 1999 .

[6]  Xiaowei Li,et al.  The Automatic Generation of Basis Set of Path for Path Testing , 2005, 14th Asian Test Symposium (ATS'05).

[7]  Martin P. Ward The formal transformation approach to source code analysis and manipulation , 2001, Proceedings First IEEE International Workshop on Source Code Analysis and Manipulation.

[8]  David Notkin,et al.  An empirical study of static call graph extractors , 1998, TSEM.

[9]  Mirjana Ivanović,et al.  Extractor of software networks from enriched concrete syntax trees , 2012 .

[10]  Mirjana Ivanovic,et al.  Characteristics of Class Collaboration Networks in Large Java Software Projects , 2011, Inf. Technol. Control..

[11]  Stéphane Ducasse,et al.  A language independent approach for detecting duplicated code , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[12]  Simon M. Kaplan,et al.  Scale-Free Nature of Java Software Package, Class and Method Collaboration Graphs , 2006 .

[13]  Lian Wen,et al.  Software Engineering and Scale-Free Networks , 2009, IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics).

[14]  Zoran Budimac,et al.  XML-Based Integration of the SMIILE Tool Prototype and Software Metrics Repository , 2011 .

[15]  Zoran Budimac,et al.  Introducing Enriched Concrete Syntax Trees , 2013, ArXiv.

[16]  Ying-Cheng Lai,et al.  Signatures of small-world and scale-free properties in large computer programs , 2003, Physical review. E, Statistical, nonlinear, and soft matter physics.

[17]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[18]  Sergi Valverde,et al.  Hierarchical Small Worlds in Software Architecture , 2003 .

[19]  Zoran Budimac,et al.  Towards the Better Software Metrics Tool , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[20]  Fabrizio Silvestri,et al.  The social network of Java classes , 2006, SAC.

[21]  Zoran Budimac,et al.  A programming language independent framework for metrics-based software evolution and analysis , 2012, Comput. Sci. Inf. Syst..

[22]  Tom Arbuckle Measuring multi-language software evolution: a case study , 2011, IWPSE-EVOL '11.

[23]  Dimitris Christodoulakis,et al.  Towards an automated tool for software certification , 1989, [Proceedings 1989] IEEE International Workshop on Tools for Artificial Intelligence.

[24]  Marjan Hericko,et al.  Mining source code changes from software repositories , 2011, 2011 7th Central and Eastern European Software Engineering Conference (CEE-SECR).

[25]  Zoran Budimac,et al.  SSQSA architecture , 2012, BCI '12.

[26]  Zoran Budimac,et al.  Problems in Systematic Application of Software Metrics and Possible Solution , 2013, ArXiv.

[27]  Stéphane Ducasse,et al.  Moose: an Extensible Language-Independent Environment for Reengineering Object-Oriented Systems , 2000 .

[28]  Terence Parr The Definitive ANTLR Reference: Building Domain-Specific Languages , 2007 .

[29]  Stéphane Ducasse,et al.  Object-Oriented Metrics in Practice , 2005 .

[30]  Marjan Hericko,et al.  Evaluating Refactoring with a Quality Index , 2010 .