Abstract
Dynamic analysis is the analysis of the properties of a running program. In this paper, we explore two new dynamic analyses based on program profiling:
-
— Frequency Spectrum Analysis. We show how analyzing the frequencies of program entities in a single execution can help programmers to decompose a program, identify related computations, and find computations related to specific input and output characteristics of a program.
-
— Coverage Concept Analysis. Concept analysis of test coverage data computes dynamic analogs to static control flow relationships such as domination, postdomination, and regions. Comparison of these dynamically computed relationships to their static counterparts can point to areas of code requiring more testing and can aid programmers in understanding how a program and its test sets relate to one another.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
G. Ammons, T. Ball, and J.R. Larus. Exploiting hardware performance counters with flow and context sensitive profiling. ACM SIGPLAN Notices, 32(5):85–96, June 1997. Proceedings of the SIGPLAN’ 97 Conference on Programming Language Design and Implementation.
T. Ball. What’s in a region? or computing control dependences in near-linear time for reducible control flow. ACM Letters on Programming Languages and Systems, 2(1-4):1–16, December 1993.
T. Ball and J. R. Larus. Optimally profiling and tracing programs. ACM Transactions on Programming Languages and Systems, 16(4):1319–1360, July 1994.
T. Ball and J. R. Larus. Efficient path profiling. In Proceedings of MICRO 96, pages 46–57, December 1996.
J. Bentley. Writing Efficient Programs. Prentice-Hall, Englewood Cliffs, N.J., 1982.
J. Bentley. Programming Pearls. Addison-Wesley, Reading, MA, 1986.
A. W. Biermann and J. A. Feldman. On the synthesis of finite state machines from samples of their behavior. IEEE Transactions on Computers, 21(6):592–597, June 1972.
J. E. Cook and A. L. Wolf. Discovering models of software processes from event-based data. ACM Transactions on Software Engineering and Methodology, July 1998.
J. E. Cook and A. L. Wolf. Event-based detection of concurrency. In Sixth ACM SIGSOFT Symposium on the Foundations of Software Engineering, pages 35–45, November 1998.
B.A. Davey and H.A. Priestley. Introduction to lattices and order. Cambridge University Press, 1990.
M. Ernst, J. Cockrell, W. G. Griswold, and D. Notkin. Dynamically discovering likely program invariants to support program evolution. In 21st International Conference on Software Engineering, pages 213,224, Los Angeles, CA, May 1999.
R. Godin and R. Missaoui H. Alaoui. Incremental concept formation algorithms based on Galois (concept) lattices. Computational Intelligence, 11(2):246–267, 1995.
Dean F. Jerding, John T. Stasko, and Thomas Ball. Visualizing interactions in program executions. In Proceedings of the 19th International Conference on Software Engineering, pages 360–370, May 1997.
J. R. Larus and T. Ball. Rewriting executable files to measure program behavior. Software-Practice and Experience, 24(2):197–218, February 1994.
T. Reps, T. Ball, M. Das, and J.R. Larus. The use of program profiling for software maintenance with applications to the year 2000 problem. In Proceedings of ESEC/FSE ’97: Sixth European Software Engineering Conference and Fifth ACM SIGSOFT Symposium on the Foundations of Software Engineering (Lecture Notes in Computer Science), Zurich, Switzerland, September 1997. Springer-Verlag.
Michael Siff and Thomas Reps. Identifying modules via concept analysis. In International Conference on Software Maintenance, pages 170–179, Bari, Italy, October 1997.
G. Snelting and F. Tip. Reengineering class hierarchies using concept analysis. In Sixth ACM SIGSOFT Symposium on the Foundations of Software Engineering, pages 99–110, November 1998.
Gregor Snelting. Reengineering of configurations based on mathematical concept analysis. ACM Transactions on Software Engineering and Methodology, 5(2):146–189, April 1996.
O. Waddell and J. M. Ashley. Visualizing the performance of higher-order programs. Proceedings of the 1st Workshop on Program Analysis for Software Tools and Engineering (ACM SIGPLAN Notices), 33(7):75–82, July 1998.
Norman Wilde. Faster reuse and maintenance using software reconnaissance. Technical Report SERC-TR-75F, Software Engineering Research Center, CSE-301, University of Florida, CIS Department, Gainesville, FL, July 1994.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ball, T. (1999). The Concept of Dynamic Analysis. In: Nierstrasz, O., Lemoine, M. (eds) Software Engineering — ESEC/FSE ’99. ESEC SIGSOFT FSE 1999 1999. Lecture Notes in Computer Science, vol 1687. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-48166-4_14
Download citation
DOI: https://doi.org/10.1007/3-540-48166-4_14
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66538-0
Online ISBN: 978-3-540-48166-9
eBook Packages: Springer Book Archive