CSC 410, Fall 2018
Reading List (updated throughout the term)
- We will be using several chapters of the book
by Mario Pezze and Michal Young: "Software Testing and Analysis:
Process, Principles, and Techniques". [PY'07]
- (recommended) The Mythical Man-Month: Essays on Software Engineering by Frederick P. Brooks Jr ; Addison-Wesley Pub Co
Fundamentals of Software Engineering by Carlo Ghezzi, Mehdi Jazayeri, Dino Mandrioli; Prentice Hall
Chapter 1 of [PY'07] [pdf]
- D. S. Rosenblum, "A Practical Approach to Programming with Assertions", IEEE
Transactions on Software Engineering, 29 (4), January 1995,
pp. 19-31. [pdf]
- [Recommended] H. Zhu, P. A. V. Hall, and J. H. R. May, "Software Unit Test Coverage
and Adequacy, ACM Computing Surveys, 29 (4), December
1997, pp. 366-427. [pdf]
- [Required] Chapters 9-10, 12-13, 16, 22 (RegressionTesting) of [PY'07]
- [Required] TestPlan (p. 463 of [PY'07])
- [Recommended] G. Rothermel and M. J. Harrold, "Analyzing Regression Test Selection Techniques," IEEE Transactions on Software Engineering, 22 (8), August 1996, pp. 529-551.[pdf]
[Required] P. Godefroid, N. Klarlund, K. Sen. "DART: Directed
Automated Random Testing", Proceedings of SIGPLAN 2005 Conference on
Programming Language Design and Implementation
(PLDI'05), June 2005. [pdf]
[Required] K. Sen, D. Marinov, G. Agha.
"CUTE: A Concolic Unit Testing Engine for C",
Proceedings of ACM SIGSOFT Symposium on the Foundations of
Software Engineering (ESEC/FSE 2005), Lisbon, Portugal, September 2005.
[Recommended] R. Majumdar and K. Sen. "Hybrid Concolic Testing". In Proceedings of International Conference on Software Engienering (ICSE'07),
May 2007. [pdf]
- [Required] [PY07] 7.1, 7.2 [pdf]
- [Required] L. A. Clarke and D. J. Richardson, "Applications of Symbolic Evaluation," Journal of Systems and Software, 5 (1), January 1985, pp.15-35. [pdf]
- [Recommended] Cadar, Cristian, and Koushik Sen. "Symbolic execution for software testing: three decades later." Communications of the ACM 56.2 (2013): 82-90.
- [Recommended] Cadar, Cristian, Daniel Dunbar, and Dawson R. Engler. "KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs." [pdf] OSDI. Vol. 8. 2008.
[Required] [PY07] Chapter 6 [pdf]
SAT/SMT and Z3
[Recommended] SAT/SMT tutorial
[Recommended] S. Malik and L. Zhang. "Boolean Satisfiability: From Theoretical Hardness to Practical Success"
[Recommended] D. Kroening and O. Strichman. Decision Procedures (Chapter 2)
L. De Moura and N. Bjorner. "Satisfiability Modulo Theories: Introduction and Applications"
C.A.R. Hoare, "An axiomatic basis for computer programming", Communications
of the ACM 12(10:576-580.[pdf]
Edsger W. Dijkstra, "Guarded commands, nondeterminacy and formal derivation
of programs", Communications of the ACM 18(8):453-457.
- Edsger W. Dijkstra, "A discipline of programming" Prentice-Hall, c1976. link
- [Recommended] [PY07] 7.3, 7.4 [pdf]
[Required] "Simplifying and Isolating Failure-Inducing Input".
Andreas Zeller and Ralf Hildebrandt;
IEEE Transactions on Software Engineering 28(2), February 2002, pp. 183-200.
[Recommended] "Yesterday, my program worked. Today, it does not. Why?" Andreas Zeller;
Proc. ESEC/FSE 99, Toulouse, France, September 1999,
Vol. 1687 of LNCS, pp. 253-267.
[Recommended]``Tracking Down Software Bugs Using Automatic Anomaly Detection,''
S. Hangal and M. S. Lam
Proceedings of the International Conference on Software Engineering,
[Required] ``Dynamically discovering likely program invariants to support program evolution''
by Michael D. Ernst, Jake Cockrell, William G. Griswold, and David Notkin.
IEEE Transactions on Software Engineering, vol. 27, no. 2, Feb. 2001, pp. 1-25.
[Recommended] ``Automatic generation of program specifications''
by Jeremy W. Nimmer and Michael D. Ernst.
In ISSTA 2002, Proceedings of the 2002 International Symposium on Software Testing and Analysis, (Rome, Italy), July 22-24, 2002, pp.
Last modified on September 5, 2018.