Software verification/validation

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]

L. D. Fosdick and L. J. Osterweil, "Data Flow Analysis in Software Reliability," ACM Computing Surveys, 8 (3), September 1976, pp. 306-330. [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]

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]

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]

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]

"A Comparison of Some Structural Testing Strategies ," by Simeon Ntafos, IEEE Transactions on Software Engineering, v.16, No. 6, 1988 [pdf]

"A Comparison of Data Flow Path Selection Criteria ," by Lori A. Clarke et al., [pdf]

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]

D. S. Rosenblum, "A Practical Approach to Programming with Assertions," IEEE Transactions on Software Engineering, 29 (4), January 1995, pp. 19-31. [pdf]

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

 

SE notion, SE crisis

"Software Engineering: An Unconsummated Marriage ," by David Lorge Parnas[pdf]

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

 

Software development process

Bergland, A Guided Tour of Program Design Methodologies [pdf]

H. D. Mills, M. Dyer and R. C. Linger, "Cleanroom Software Engineering," IEEE Software, 4 (5), September 1987, pp. 19-25. [pdf

Aaron G. Cass, Barbara Staudt Lerner, Eric K. McCall, L. J. Osterweil, Stanley M. Sutton, Jr., Alexander Wise, "Little-JIL/Juliette:A Process Definition Language and Interpreter," Proceedings of the 22nd International Conference on Software Engineering, June 2000, pp. 754-757. [pdf]

Richard C. Linger, "Cleanroom Software Engineering for Zero-Defect Software", IEEE 1993, [pdf]

Poore, Mills, and Mutchler , "Planning and Certifying Software System Reliability", IEEE 1993, [pdf]

 

Error seeding


A. J. Offutt, "A Practical System for Mutation Testing: Help for the Common Programmer," 12th International Conference onTesting Computer Software, Washington, D.C., June 1995, pp. 99-109. [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]

Object oriented testing

R. K. Doong and P. G. Frankl, "The ASTOOT Approach to Testing Object-Oriented Programs," ACM Transactions on Software Engineering and Methodology, 3 (2), April 1994, pp. 101-130. [pdf]

M. J. Harrold, J. D. McGregor and K. J. Fitzpatrick, "Incremental Testing of Object-Oriented Class Structures," 14th International Conference on Software Engineering, Melbourne, Australia, May 1992, pp. 68-80. [pdf]

M. J. Harrold and G. Rothermel, "Performing Data Flow Testing on Classes," Second ACM SIGSOFT Symposium on the Foundations of Software Engineering (FSE'94), New Orleans, LA, December 1994, pp. 154-163. [pdf]

A. L. Souter and L. L. Pollock, "OMEN: A Strategy for Testing Object-oriented Software," International Symposium on Software Testing and Analysis 2000 (ISSTA 2000), August 2000. [pdf]

 

Cleanroom

Richard C. Linger, "Cleanroom Software Engineering for Zero-Defect Software," IEEE Software, 1993, pp. 2-13. [pdf]

J.H. Poore, Harlan D. Mills, David Mutchler, "Planning and Certifying Software System Reliability", IEEE Software, vol 10 issue 1, January 1993, pp. 88-99 [pdf]

H. D. Mills, M. Dyer and R. C. Linger, "Cleanroom Software Engineering," IEEE Software, 4 (5), September 1987, pp. 19-25. [pdf]

 

Agile software development process

"Agile software development methods," by Pekka Abrahamsson, Outi Salo, Jussi Ronkainen, and Juhani Warsta, ESPOO 2002 [pdf]

"Balancing Agility and Discipline," by Barry Boehm and Richard Turner, ISBN 0-321-1861-5

"Extreme Programming Refactored: The Case against XP," by Matt Stephens and Doug Rosenberg, ISBN 1-59059-096-1

 

Software Architecture

"Foundations for the Study of Software Architecture ," by Dewayne E. Perry and Alexander L. Wolf, ACM SIGSOFT, Software Engineering notes v.17,no.4, Oct. 1992 [pdf]

"An Introduction to Software Architecture ," by David Garlan and Mary Shaw, CMU technical report CMU-CS-94-166, Jan.1994 (original in 1993)[pdf]

"ArchJava: Connecting Software Architecture to Implementation ," by Jonathan Aldrich, Craig Chambers, and David Notkin, In Proceedings of the International Conference on Software Engineering, May 2002 [pdf]

"Linux as a Case Study: Its Extracted Software Architecture ," by Ivan Bowman et al., [pdf]

"Formalizing Style to Understand Descriptions of Software Architecture ," by Gregory Abowd, Robert Allen, and David Garlan, Transactions on Software Engineering, July 25, 1995 [pdf]

"Formalizing Architectural Connection ," by Robert Allen and David Garlan, 16th International Conference on Software Engineering, Italy, May, 1994 [pdf]

"Model-View-Controller," by John Hunt [pdf]

"Using UML-F to enhance framework development ... ," by Marcus Fontoura et al. (example of a design pattern spec)[pdf]

Software qualities

Bev Littlewood and Lorenzo Strigini, "Software Reliability and Dependability: a Roadmap " [pdf]

Software design

Glenn D. Bergland, "A Guided Tour of Program Design Methodologies" [pdf]

Lehman & Belady, Chapter 19, sections 1-2 [pdf]

Butler W. Lampson "Hints for computer system design," ACM Operating Systems Rev. 15, 5 (Oct. 1983), pp 33-48. Reprinted in IEEE Software 1, 1 (Jan. 1984), pp 11-28.[pdf]

"Discussing Aspects of AOP", panel (Harold Ossher et al.)[pdf]

Configuration management

"Version Models for Software Configuration Management ," by Reidar Conradi and Bernhard Westfechtel, ACM Computing Surveys Vol.30, No.2, June 1998 [pdf]

Digital Apollo

"Digital Apollo" by David A. Mindell, The MIT Press 2008, ISBN 978-0-262-13497-2

Discrete Structures, Logic, Verification

"Discrete Structures, Logic, and Computability", by James L. Hein, ISBN 0-7637-1843-2

JML and JUnit

D. S. Rosenblum, "A Practical Approach to Programming with Assertions," IEEE Transactions on Software Engineering, 29 (4), January 1995, pp. 19-31. [pdf] (about dynamic assertions in general)

"Design by contract with JML" Gary Leavens and Yoonsik Cheon, Jan. 2005 [pdf] (about JML used to define assertions)

Information retrieval

D. Byrd and R. Podorozhny, "Adding Boolean-quality control to best-match searching via an improved user interface " [pdf]

JUnit test infected

JUnit Cookbook

Another example of the use of JUnit