ACM Home Page
Please provide us with feedback. Feedback
Dynamic analysis of Ada programs for comprehension and quality measurement
Full text PdfPdf (1.43 MB)
Source
Annual International Conference on Ada archive
Proceedings of the 2008 ACM annual international conference on SIGAda annual international conference table of contents
Portland, OR, USA
SESSION: Research papers table of contents
Pages 15-38  
Year of Publication: 2008
ISBN:978-1-60558-274-0
Also published in ...
Authors
Elaheh Safari-Sharifabadi  Concordia University, Montréal, Québec, Canada
Constantinos Constantinides  Concordia University, Montréal, Québec, Canada
Sponsors
ACM: Association for Computing Machinery
SIGCAS: ACM Special Interest Group on Computers and Society
SIGADA: ACM Special Interest Group on Ada Programming Language
SIGPLAN: ACM Special Interest Group on Programming Languages
SIGAPP: ACM Special Interest Group on Applied Computing
SIGCSE: ACM Special Interest Group on Computer Science Education
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 20,   Downloads (12 Months): 118,   Citation Count: 0
Additional Information:

abstract   references   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1454474.1454485
What is a DOI?

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
 
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
 
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
 
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
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
 
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
 
65

Collaborative Colleagues:
Elaheh Safari-Sharifabadi: colleagues
Constantinos Constantinides: colleagues