ACM Home Page
Please provide us with feedback. Feedback
Source Code Analysis: A Road Map
Full text PdfPdf (249 KB)
Source International Conference on Software Engineering archive
2007 Future of Software Engineering table of contents
Pages 104-119  
Year of Publication: 2007
ISBN:0-7695-2829-5
Author
David Binkley  Loyola College Baltimore, MD
Publisher
IEEE Computer Society  Washington, DC, USA
Bibliometrics
Downloads (6 Weeks): 66,   Downloads (12 Months): 522,   Citation Count: 6
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: 10.1109/FOSE.2007.27

ABSTRACT

The automated and semi-automated analysis of source code has remained a topic of intense research for more than thirty years. During this period, algorithms and techniques for source-code analysis have changed, sometimes dramatically. The abilities of the tools that implement them have also expanded to meet new and diverse challenges. This paper surveys current work on source-code analysis. It also provides a road map for future work over the next five-year period and speculates on the development of source-code analysis applications, techniques, and challenges over the next 10, 20, and 50 years.


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
[1] L. O. Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU, University of Copenhagen, May 1994. (DIKU report 94/19).
 
2
 
3
[3] G. Balakrishnan and T. Reps. Analyzing memory accesses in x86 executables. In Proc. of the International Conference on Compiler Construction. Springer-Verlag, New York, NY, 2004.
 
4
[4] T. Ball and S. G. Eick. Visualizing program slices. In A. L. Ambler and T. D. Kimura, editors, Proceedings of the Symposium on Visual Languages, Los Alamitos, CA, USA, Oct. 1994. IEEE Computer Society Press.
 
5
 
6
7
 
8
9
 
10
 
11
 
12
[12] D. Binkley and K. B. Gallagher. Program slicing. In M. Zelkowitz, editor, Advances in Computing, Volume 43. Academic Press, 1996.
 
13
[13] D. Binkley and M. Harman. Results from a large-scale study of performance optimization techniques for source code analyses based on graph reachability algorithms. In IEEE International Workshop on Source Code Analysis and Manipulation (SCAM 2003), Amsterdam, Netherlands, Sept. 2003. IEEE Computer Society Press, Los Alamitos, California, USA.
 
14
 
15
[15] D. Binkley and M. Harman. A survey of empirical results on program slicing. Advances in Computers, 62, 2004.
 
16
 
17
[17] A. Binstock. Extra-strength code cleaners, January 2006. www.infoworld.com/article/06/01/26/ 74270_05FEcodelint_1.html.
18
 
19
[19] R. Brooks. Towards a theory of comprehension of computer programs, volume 18. ACM Press Journal Man-Machine Studies, 1983.
 
20
[20] G. Canfora, A. Cimitile, and M. Munro. RE2: Reverse engineering and reuse re-engineering. Journal of Software Maintenance : Research and Practice, 6(2), 1994.
 
21
 
22
[22] B. Carey. Accidental invention points to end of light bulbs, October 2005. www.livescience.com.
23
24
 
25
[25] J. Cobleigh, L. Clarke, and L. Osterweil. Flavers: A finite state verification technique for software systems. IBM Systems Journal - Software Testing and Verification, 41(1), 2002.
 
26
 
27
[27] J. Cordy, T. Dean, A. Malton, and K. Schneider. Source transformation in software engineering using the TXL transformation system. Information and Software Technology , 44(13), 2002.
 
28
[28] J. Cordy et. al. eds. International Workshop on Program Comprehension. Computer Society Press, St. Louis, MO, 2005.
 
29
[29] Coverity. www.coverity.com, 2006.
 
30
[30] 9th European Conference on Software Maintenance and Reengineering, Manchester, UK, March 2005. IEEE Computer Society.
31
 
32
33
 
34
 
35
[35] Edison Design Group. Compiler front ends, 2006.
36
 
37
[37] M. Ernst, J. Perkins, P. Guo, S. McCamant, C. Pacheco, M. Tschantz, and C. Xiao. The Daikon system for dynamic detection of likely invariants. Science of Computer Programming, 2006.
38
39
 
40
 
41
 
42
43
 
44
[44] R. Gupta, M. J. Harrold, and M. L. Soffa. An approach to regression testing using slicing. Proc. of the Int. Conf. on Software Maintenance, 1992.
45
 
46
[46] S. Guyer and C. Lin. Client-driven pointer analysis. In FCRC Static Analysis Symposium, June 2003.
47
 
48
 
49
 
50
 
51
 
52
53
 
54
 
55
 
56
[56] R. M. Hierons, M. Harman, and S. Danicic. Using program slicing to assist in the detection of equivalent mutants. Software Testing, Verification and Reliability, 9(4), 1999.
57
58
59
60
 
61
62
 
63
64
 
65
[65] K. K7. www.klocwork.com, 2006.
 
66
67
 
68
[68] P. Koopman. Elements of the self-healing system problem space. In Workshop on Software Architectures for Dependable Systems (WADS), May 2003.
 
69
 
70
 
71
72
73
 
74
 
75
 
76
 
77
[77] J. R. Lyle and M. Weiser. Automatic program bug location by program slicing. In 2nd International Conference on Computers and Applications, Peking, 1987. IEEE Computer Society Press, Los Alamitos, California, USA.
 
78
 
79
 
80
81
 
82
 
83
 
84
[84] M. Mendonca and N. Sunderhaft. Mining software engineering data: A survey, 1999.
85
 
86
 
87
 
88
[88] G. Moore. Cramming more components onto integrated circuits. Electronics Magazine, 1965.
89
 
90
91
 
92
 
93
[93] H. Pohlheim. Visualization of evolutionary algorithms - set of standard techniques and multidimensional visualization. In W. Banzhaf, J. Daida, A. E. Eiben, M. H. Garzon, V. Honavar, M. Jakiela, and R. E. Smith, editors, Proceedings of the Genetic and Evolutionary Computation Conference , volume 1, Orlando, Florida, USA, 13-17 July 1999. Morgan Kaufmann.
 
94
 
95
96
 
97
 
98
[98] T. Reps. Program analysis via graph reachability. In M. Harman and K. Gallagher, editors, Information and Software Technology Special Issue on Program Slicing, volume 40(11 and 12). Elsevier Science B. V., 1998.
 
99
100
 
101
[101] S. Rugaber. Program Comprehension, volume 35(20). Marcel Dekker, Inc. New York, 1995.
 
102
[102] B. Ryder. Dimensions of precision in reference analysis of object-oriented programming languages. In Proc. of the Twelfth International Conference on Compiler Construction , Warsaw, Poland, April 2003.
 
103
104
 
105
 
106
 
107
 
108
[108] N. Shahmehri. Generalized algorithmic debugging. PhD Thesis, Department of Computer Science and Information Science, Linköoping University, Sweden, 1991. Available as Linköping Studies in Science and Technology, Dissertations, Number 260.
 
109
[109] J. Silva. Algorithmic debugging strategies. In International Symposium on Logic-based Program Synthesis and Transformation (LOPSTR 2006), 2006.
 
110
 
111
 
112
[112] A. Stuckenholz. Component evolution and versioning state of the art. ACM Press, 2005.
113
114
 
115
[115] M. Weiser. Program slicing. IEEE Transactions on Software Engineering, 10(4), 1984.
116
 
117
 
118
 
119