Reading List. (Under Construction)
-
Introduction (No Reviews Required)
-
(1/31/10) Software Process
- Managing the development of large software systems: concepts and techniques, W. W. Royce, ICSE, 1987.
- A
Spiral Model of Software Development and Enhancement, B. Boehm, IEEE Computer,
May 1988.
- Embracing Change with Extreme Programming, K. Beck, IEEE Computer, 1999.
- How Microsoft builds software, Michael Cusumano and Richard Selby,
Communications of the ACM, June 1997.
-
(2/7/10) Requirements and Specification Languages - Part I
- Specifying Software Requirements for Complex Systems: New Techniques and Their
Application, Kathryn L. Heninger, IEEE TSE, Jan. 1980.
- Model Checking Basics , Somesh Jha.
- Patterns in property specifications for finite-state verification , Dwyer, M. B., Avrunin, G. S., and Corbett, J. C., ICSE 1999.
-
(2/14/10) Requirements and Specification Languages - Part II (No Reviews Required)
-
(2/24/10) Guest Lecture - Yuriy Brun
-
(2/28/10) Design
- On the Criteria to be Used in Decomposing Systems into Modules, D.L. Parnas,
CACM, December 1972.
- Designing software for ease of extension and contraction D.L. Parnas, IEEE TSE, June 1979.
- Getting started with ASPECTJ, G. Kiczales, E. Hilsdale, J. Hugunin, M. Kersten, J. Palm, and W. Griswold, CACM, Oct. 2001.
- Using multidimensional separation of concerns to (re)shape evolving software,Ossher, H. and Tarr, P, CACM, Oct. 2001.
-
(3/7/10) Software Architecture & Proofs of Correctness
-
(3/21/10) Program Analysis - Static Analysis
- Program Slicing, M. Weiser, IEEE TSE, July 1984.
- The Use of Program Dependence Graphs in Software Engineering, S. Horwitz and T. Reps, ICSE 1992.
- Detecting Format-String Vulnerabilities with Type Qualifiers, U. Shankar, K. Talwar, J. Foster and D. Wagner, USENIX Security Symposium, Aug. 2001.
- Finding bugs is easy D. Hovemeyer and W. Pugh, SIGPLAN Notices, Dec. 2004),
-
(3/28/10) Program Analysis - Execution Trace Analysis
- Dynamically Discovering Likely Program Invariants to Support Program Evolution, M.D. Ernst, J. Cockrell, W.G. Griswold, D. Notkin, ICSE 1999.
- Tracking down software bugs using automatic anomaly detection, S. Hangal and M. Lam, ICSE 2002.
- Mining specifications , G. Ammons, R. Bodik and J. Larus, SIGPLAN Not. 37, 1 (Jan. 2002), 4-16.
-
Using positive tainting and syntax-aware evaluation to counter SQL injection attacks , W. Halfond, A. Orso and P. Manolios, FSE 2006.
-
(4/4/10) Testing - Part I
- Toward a theory of test data selection, J. Goodenough and S. Gerhardt, IEEE TSE, 1975.
- Hierarchical GUI test case generation using automated planning, A. Memon, M. Pollack,
M. Soffa, IEEE TSE, Feb. 2001.
- Simplifying and Isolating Failure-Inducing Input ,
Ralf Hildebrandt and Andreas Zeller, ISSTA 2000.
-
Effective random testing of concurrent programs, K. Sen,
ASE '07.
-
(4/11/10) Testing - Part II
-
Feedback-Directed Random Test Generation,
C. Pacheco, S. Lahiri, M. Ernst and T. Ball, ICSE 2007.
-
Carving differential unit test cases from system test cases,
FSE 2006.
- Reliable
Effects Screening: A Distributed Continuous Quality Assurance Process
for Monitoring Performance Degradation in Evolving Software Systems,
C. Yilmaz, A. Porter, A. Krishna, A. Memon, D. Schmidt, A. Gokhale, and B.
Natarajan, IEEE TSE, 2007.
- Skoll:
A Process and Infrastructure for Distributed Continuous Quality
Assurance, A. Porter, A. Memon, C. Yilmaz, D.
Schmidt, B. Natarajan, IEEE TSE, 2007.
-
(4/18/10) Symbolic Execution
-
DART: directed automated random testing, P. Godefroid, N. Klarlund and
K. Sen, PLDI '05.
-
KLEE: Unassisted and Automatic Generation of High-Coverage Tests for
Complex Systems Programs, C. Cadar, D. Dunbar and D. Engler, OSDI
2008.
- Using Symbolic Evaluation to Understand Behavior in Configurable
Software Systems, Elnatan Reisner, Charles Song, Kin-Keung Ma, Jeffrey
S. Foster, Adam Porter, ICSE 2010.
-
(4/25/10) Analyzing Fielded Systems
-
Residual test coverage monitoring, C. Pavlopoulou and M. Young,
ICSE '99.
-
Monitoring deployed software using software tomography,
PASTE '02.
- Scalable Statistical Bug Isolation, Ben Liblit, Mayur Naik, Alice X. Zheng, Alex Aiken and Michael I. Jordan, PLDI 2005.
- Techniques for Classifying
Executions of Deployed Software to Support Software Engineering
Tasks, M. Haran, A. Karr, M. Last, A. Orso, A.
Porter, A. Sanil and S. Fouche, IEEE TSE, 2007.
-
(5/2/10) Inspection
- Design and code inspections to reduce errors in program development, M. Fagan, IBM Systems Journal, 1976.
-
An Experiment to Assess the Cost-Benefits of Code Inspections in Large Scale
Software Development, A. Porter, H. Siy, C. Toman and L. Votta,
IEEE TSE,June, 1997.
-
Reducing inspection interval in large-scale software development, D. E. Perry, A. Porter, M. Wade, L. Votta and J. Perpich, IEEE TSE, July 2002.
-
(5/9/10) Project Reports and Presentations
Web Accessibility