Improving Software Quality through Program Analysis

In this paper, we present the Program Analysis Framework (PAF) to analyze the software architecture and software modularity of large software packages using techniques in Aspect Mining. The basic idea about PAF is to record the call relationships information among the important elements firstly and then use the different analysis algorithms to find the crosscutting concerns which could destroy the modularity of the software from this recording information. We evaluate our framework through analyzing DATE, the ALICE Data-Acquisition (DAQ) software which handles the data flow from the detector electronics to the permanent storage archiving. The analysis results prove the effectiveness and efficiency of our framework. PAF has pinpointed a number of possible optimizations which could be applied and help maximizing the software quality. PAF could also be used for the analysis of other projects written in C language.

[1]  Gregor Kiczales,et al.  Aspect-oriented programming , 1996, CSUR.

[2]  G.C. Murphy,et al.  Identifying, Assigning, and Quantifying Crosscutting Concerns , 2007, First International Workshop on Assessment of Contemporary Modularization Techniques (ACoM '07).

[3]  Jing Yang,et al.  Aspect Mining Using Link Analysis , 2010, 2010 Fifth International Conference on Frontier of Computer Science and Technology.

[4]  Hans-Arno Jacobsen,et al.  Efficiently mining crosscutting concerns through random walks , 2007, AOSD.

[5]  Olga Ormandjieva,et al.  Measurement of Cohesion and Coupling in OO Analysis Model Based on Crosscutting Concerns , 2005 .

[6]  Jon Kleinberg,et al.  Authoritative sources in a hyperlinked environment , 1999, SODA '98.

[7]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[8]  Rajeev Motwani,et al.  The PageRank Citation Ranking : Bringing Order to the Web , 1999, WWW 1999.

[9]  Jennifer Widom,et al.  SimRank: a measure of structural-context similarity , 2002, KDD.

[10]  Arie van Deursen,et al.  Identifying aspects using fan-in analysis , 2004, 11th Working Conference on Reverse Engineering.

[11]  Alfred V. Aho,et al.  Do Crosscutting Concerns Cause Defects? , 2008, IEEE Transactions on Software Engineering.

[12]  Marcelo de Almeida Maia,et al.  On the impact of crosscutting concern projection on code measurement , 2011, AOSD '11.

[13]  Danfeng Zhang,et al.  Automated Aspect Recommendation through Clustering-Based Fan-in Analysis , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.