|
ABSTRACT
During maintenance and particularly during corrective and perfective tasks, systems tend to exhibit a weight gain. As a result, their quality tends to degrade. Software comprehension is vital in order to assess system quality. In this paper, we aim at deploying dynamic analysis of Ada programs for obtaining comprehension, and applying measurements to assess their quality. Program instrumentation is performed non-intrusively by AspectAda, an aspect-oriented extension to Ada which we discussed in earlier work. Events which are required for this analysis are captured as execution traces. We have defined a relational database schema to save execution traces, and a set of queries to obtain measures of quality metrics. New Ada-specific metrics are introduced and existing metrics have been adopted from the literature. Automation is also provided as a proof of concept through a prototypical tool which provides information on the run-time behavior of the system, performs measurements and provides visualization of the run-time behavior of the system through a call graph. An open source Ada program is used as a case study to demonstrate our approach.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
| |
2
|
Ada Static Analysis Tool. http://www.adastat.com/
|
| |
3
|
|
| |
4
|
|
 |
5
|
|
| |
6
|
|
| |
7
|
|
| |
8
|
|
| |
9
|
|
| |
10
|
|
| |
11
|
|
| |
12
|
|
| |
13
|
|
| |
14
|
M. Deters and R. K. Cytron. Introduction of program instrumentation using aspects. In Proceedings of the OOPSLA Workshop on Advanced Separation of Concerns in Object-Oriented Systems, 2001.
|
| |
15
|
|
| |
16
|
M. D. Ernst. Static and dynamic analysis: Synergy and duality. In Proceedings of the ICSE Workshop on Dynamic Analysis (WODA), 2003.
|
| |
17
|
|
| |
18
|
R. E. Filman and D. P. Friedman. Aspect-oriented programming is quantification and obliviousness. In Proceedings of the OOPSLA Workshop on Advanced Separation of Concerns in Object-Oriented Systems, 2000.
|
| |
19
|
|
| |
20
|
|
| |
21
|
GDB: The GNU Project Debugger. http://sourceware.org/gdb/, Last Updated in 2007.
|
| |
22
|
J.-F. Gélinas, M. Badri, and L. Badri. A cohesion measure for aspects. Journal of Object Technology, 5(7):75--95, September-October 2006.
|
| |
23
|
GNAT GPL. Website https://libre.adacore.com.
|
 |
24
|
Susan L. Graham , Peter B. Kessler , Marshall K. Mckusick, Gprof: A call graph execution profiler, Proceedings of the 1982 SIGPLAN symposium on Compiler construction, p.120-126, June 23-25, 1982, Boston, Massachusetts, United States
|
| |
25
|
|
| |
26
|
|
| |
27
|
|
| |
28
|
|
| |
29
|
Henderson-Seller. Software Metrics. Prentice Hall, U.K., 1996.
|
| |
30
|
M. Hitz and B. Montazeri. Measuring coupling and cohesion in object-oriented systems. In Proceedings of the International Symposium on Applied Corporate Computing (ISACC), 1995.
|
| |
31
|
ISO International Organization for Standardization. ISO 8402:1994, Quality management and quality assurance, 1994.
|
| |
32
|
ISO International Organization for Standardization. ISO/IEC 9126-1:2001(E), Software engineering - Product quality, Part 1: Quality model, 2001.
|
| |
33
|
Gregor Kiczales , Erik Hilsdale , Jim Hugunin , Mik Kersten , Jeffrey Palm , William G. Griswold, An Overview of AspectJ, Proceedings of the 15th European Conference on Object-Oriented Programming, p.327-353, June 18-22, 2001
|
| |
34
|
G. Kiczales, J. Lamping, A. Menhdhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP), 1997.
|
 |
35
|
|
| |
36
|
|
 |
37
|
Janusz Laski , William Stanley , Jim Hurst, Dependency analysis of Ada programs, Proceedings of the 1998 annual ACM SIGAda international conference on Ada, p.263-275, November 08-12, 1998, Washington, D.C., United States
|
| |
38
|
Y. S. Lee and B. S. Liang. Measuring the coupling and cohesion of an object-oriented program based on information flow. In Proceedings of the International Conference on Software Quality (ICSQ), pages 47--57, 1995.
|
| |
39
|
|
| |
40
|
|
| |
41
|
|
| |
42
|
|
| |
43
|
|
| |
44
|
Minitab Software Maintenance Updates. Website http://www.minitab.com/support/maintenance/.
|
| |
45
|
|
 |
46
|
|
| |
47
|
Wim De Pauw , David Lorenz , John Vlissides , Mark Wegman, Execution patterns in object-oriented visualization, Proceedings of the 4th conference on USENIX Conference on Object-Oriented Technologies and Systems, p.16-16, April 27-30, 1998, Santa Fe, New Mexico
|
 |
48
|
|
| |
49
|
|
| |
50
|
|
 |
51
|
|
 |
52
|
|
| |
53
|
A. Raza, G. Vogel, and E. Plödereder. Bauhaus - A tool suite for program analysis and reverse engineering. In Proceedings of the 11th International Conference on Reliable Software Technologies (Ada-Europe), pages 71--82, 2006.
|
| |
54
|
S. Rugaber. Program comprehension for reverse engineering. In Proceedings of the AAAI Workshop on AI and Automated Program Understanding, 1992.
|
| |
55
|
|
| |
56
|
W. Stevens, G. Myers, and L. Constantine. Structured design. IBM Systems Journal, 13(2):115--139, 1997.
|
| |
57
|
|
 |
58
|
Robert J. Walker , Gail C. Murphy , Bjorn Freeman-Benson , Darin Wright , Darin Swanson , Jeremy Isaak, Visualizing dynamic software system information through high-level models, Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.271-283, October 18-22, 1998, Vancouver, British Columbia, Canada
|
| |
59
|
J. Wang, Y. Zhou, L. Wen, Y. Chen, H. Lu, and B. Xu. DMC: A more precise cohesion measure for classes. Information and Software Technology, 47(3):167--180, March 2005.
|
 |
60
|
|
| |
61
|
A. Zeller. Program analysis: A hierarchy. In Proceedings of the ICSE Workshop on Dynamic Analysis (WODA), pages 6--9, 2003.
|
| |
62
|
J. Zhao. Measuring coupling in aspect-oriented systems. In Proceedings of the 10th IEEE International Software Metrics Symposium (METRICS), 2004.
|
| |
63
|
J. Zhao and B. Xu. Measuring aspect cohesion. In Proceedings of the 7th International Conference on Fundamental Approaches to Software Engineering (FASE), 2004.
|
| |
64
|
Yuming Zhou , Lijie Wen , Jianmin Wang , Yujian Chen , Hongmin Lu , Baowen Xu, DRC: A Dependence Relationships Based Cohesion Measure for Classes, Proceedings of the Tenth Asia-Pacific Software Engineering Conference Software Engineering Conference, p.215, December 10-12, 2003
|
| |
65
|
|
|