Computer Science 521/621

Reading List

Home
Schedule
Reading List
Lecture Notes
Homework

Introduction

F. P. Brooks, Jr., "no Silver Bullet-Essence and Accidents of Software Engineering," Computer 20 (4), April 1987. Reprinted from Proceeding of IFIP Congress, Dublin, Ireland, 1986. [pdf]

Reviews and Inspections
M. E. Fagan, "Design and code inspections to reduce error in program development," IBM Systems Journal, 38 (2&3), 1999, pp. 258-298. Reprinted from the IBM Systems Journal, 15 (3), 1976. [pdf]

A. Porter, H. Siy, C. A. Toman, and L. G. Votta, "An Experiment to Assess the Cost-Benefits of Code Inspections in Large Scale Software Development," IEEE Transactions on Software Engineering, 23 (6), June 1997, pp. 329-346. [pdf]

Assertions
Gary T. Leavens Yoonsik Cheon, "Design by Contract with JML," draft paper. http://www.eecs.ucf.edu/~leavens/JML/jmldbc.pdf

G. Kudrjavets, N. Nagappan, T. Ball, "Assessing the Relationship between Software Assertions and Code Quality: An Empirical Investigation," Proceedings of the International Symposium on Software Reliability Engineering, Raleigh, NC, 2006, http://doi.ieeecomputersociety.org/10.1109/ISSRE.2006.14 [pdf]

Introduction to dynamic analysis
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

Error seeding
A. J. Offutt, "A Practical System for Mutation Testing: Help for the Common Programmer," 12th International Conference on Testing Computer Software, Washington, D.C., June 1995, pp. 99-109. [pdf]

Coverage criteria


L. A. Clarke, A. Podgurski, D. J. Richardson and Steven J. Zeil, "A Formal Evaluation of Data Flow Path Selection Criteria," IEEE Transactions on Software Engineering, 15 (11), November 1989, pp. 1318-1332. [pdf]

*S. Rapps and E. J. Weyuker, "Data Flow Analysis Techniques for Test Data Selection," Sixth International Conference of Software Engineering, Tokyo, Japan, September 1982, pp. 272-277. [pdf]

*S. C. Natofos, "On Testing With Required Elements," COMPSAC '81, IEEE Computer Society, November 1981, pp. 132-139. [PDF]

*J. W. Laski and B. Korel, "A Data Flow Oriented Program Testing Strategy," IEEE Transactions on Software Engineering, 9 (3), May 1983, pp. 347-354. [Not available electronically]

Dependency Analysis

A. Podgurski and L. A. Clarke, "A Formal Model of Program Dependencies and Its Implications for Software Testing, Debugging, and Maintenance", IEEE Transactions on Software Engineering, 16 (9), September 1990, pp. 965-979. [pdf]

*M. Weiser, "Program Slicing," Fifth International Conference on Software Engineering, San Diego, Ca 1981, pp. 439-449. [pdf]

*D. W. Binkley and K. B. Gallagher, "Program Slicing," Advances in Computers, Vol. 43, M. Zelkowitz, editor, Academic Press, 1996 pp. 1-50. [pdf]

*V. P. Ranganath, T. Amtoft, A. Banerjee, J. Hatcliff, and M. B. Dwyer. A New Foundation for Control Dependence and Slicing for Modern Program Structures. ACM Transactions on Programming Languages and Systems, 29(5), 2007, pp. 1–43. [pdf]

Fault-Based Testing
M. C. Thompson, D. J. Richardson and L. A. Clarke, "An Information Flow Model of Fault Detection," International Symposium on Software Testing and Analysis, Boston, MA, June 1993, pp.182-192. [pdf]

Regression Testing
T. L. Graves, M. J. Harrold, J. M. Kim, A. Porter and G. Rothermel, "An Empirical Study of Regression Test Selection Techniques," ACM Transactions on Software Engineering and Methodology, 10 (2), April 2001, pp. 184-208. [pdf]

T. J. Ostrand, E. J. Weyuker, R. M. Bell, "Where the Bugs Are," Proceedings of the International Symposium on Software Testing and Analysis, Boston, MA, July 2004. [pdf]

Fault Localization
*J. A. Jones , M. J. Harrold , J. Stasko, Visualization of Test information to Assist Fault Localization, Proceedings of the 24th International Conference on Software Engineering, May 2002, Orlando, Florida, pp. 467 - 477 . [pdf]

J. A. Jones , M. J. Harrold, Empirical Evaluation of the Tarantula Automatic Fault-Localization Technique, Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering, November 2005, Long Beach, CA, pp. 273 - 282. [pdf]

Invariant Based Testing
Michael D. Ernst, Jake Cockrell, William G. Griswold, and David Notkin, “Dynamically Discovering Likely Program Invariants to Support Program Evolution,” IEEE Transactions on Software Engineering, vol. 27, no. 2, Feb. 2001, pp. 99-123. [pdf]

Michael Harder, Jeff Mellen, and Michael D. Ernst, “Improving Test Suites via Operational Abstraction'' 25th International Conference on Software Engineering, Portland, Oregon, May 2003, pp. 60-71. [pdf]

Symbolic Execution
L. A. Clarke and D. J. Richardson, "Applications of Symbolic Evaluation," Journal of Systems and Software, 5 (1), January 1985, pp.15-35. [pdf]

C. Csallner, N. Tillmann, and Y. Smaragdakis, DySy: Dynamic Symbolic Execution for Invariant Inference. Proceedings of the 30th international Conference on Software Engineering, Leipzig, Germany, May 2008), pp. 281-290. [pdf]

Software Verification
R.W. Floyd, "Assigning Meaning to Programs, "Symposium on Applied Mathematics, 1967, pp. 19-32 (Appeared as volume 19 of Mathematical Aspects of Computer Science). [pdf]

R. A. DeMillo, R. J. Lipton and A. J. Perlis, "Social Processes and Proofs of Theorems and Programs," Communications of the ACM, 22 (5), May 1979, pp. 271-280. [pdf]

S. King, J. Hammond, R. Chapman and A. Pryor, "Is Proof More Cost-Effective Than Testing?" IEEE Transactions on Software Engineering, 26 (8), August 2000, pp. 675-686. [pdf]

Data flow analysis
K. M. Olender and L. J. Osterweil, "Interprocedural Static Analysis of Sequencing Constraints," ACM Transactions on Software Engineering and Methodology, 1 (1), January 1992, pp. 21-52. [pdf]

Concurrency analysis
*M. Pezze, R. N. Taylor and M. Young, "Graph Models for Reachability Analysis of Concurrent Programs," ACM Transactions on Software Engineering and Methodology, 4 (2), April 1995, pp. 171-213. [pdf]

J. L. Peterson, "Petri Nets," Computing Surveys, 9 (3), September 1977, pp. 223-252.[pdf]

G. S. Avrunin, U. A. Buy, J. C. Corbett, L. K. Dillon and J. C. Wileden, "Automated Analysis of Concurrent Systems with the Constrained Expression Toolset," IEEE Transactions on Software Engineering, 17 (11), November 1991, pp. 1204-1222. [pdf]

M. B. Dwyer, L. A. Clarke, J. M. Cobleigh, G. Naumovich, " Flow Analysis for Verifying Properties of Concurrent Software Systems," ACM Transactions on Software Engineering and Methodology, Vol. 13, No. 4, October 2004, pp. 359-430. [pdf]

Hybrid Testing and Analysis
R. Majumdar, K. Sen, "Hybrid Concolic Testing" 29th international conference on Software Engineering, Minneapolis, MN, May 2007, pp. 416-426. [pdf]

W. Visser, C. Pasareanu, S. Khurshid, "Test Input Generation with Java PathFinder," Proceedings of the ACM/International Symposium on Software Testing and Analysis, Boston, MA, July 2004, pp. 97 - 107. [pdf]

C. Pacheco, S. K. Lahiri, M. D. Ernst, and T. Ball, "Feedback-directed Random Test Generation," 29th international conference on Software Engineering, Minneapolis, MN, May 2007, pp. 75-84. [pdf]

*Optional background reading

 

© 2010, Lori A. Clarke
Many of the materials created for this course are the intellectual property of the instructor, this includes, but is not limited to, the syllabus, lectures and course notes. Except to the extent not protected by copyright law, any use, distribution or sale of such materials requires the permission of the instructor. Please be aware that it is a violation of University policy to reproduce, for distribution or sale, class lectures or class notes, unless copyright has been explicitly waived by the faculty member.