| |
1
|
Peter Amey and Roderick Chapman. Static verification and extreme programming. In SIGAda'03, December 2003. URL http://www.praxis-his.com/sparkada/publications_confs.asp.
|
| |
2
|
Ralph-Johan Back. On the Correctness of Refinement Steps in Program Development. PhD thesis, University of Helsinki, 1978. Report A-1978-4.
|
| |
3
|
Kent Beck. Test-Driven Development. Addison-Wesley, 2003.
|
| |
4
|
Kent Beck. Extreme Programming Explained. Addison-Wesley, 1999.
|
| |
5
|
Jon Louis Bentley. Programming Pearls. ACM Press, 1986.
|
| |
6
|
Joshua Bloch. Effective Java. Addison-Wesley, 2001.
|
| |
7
|
Joshua Bloch. Nearly all binary searches and mergesorts are broken. Official Google Research Blog, June 2006. URL http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html.
|
| |
8
|
Joshua Bloch. Response to discussion of [7], June 2006. URL http://lambda-the-ultimate.org/node/1549.
|
| |
9
|
Chandrasekhar Boyapati, Sarfraz Khurshid, and Darko Marinov. Korat: Automated Testing Based on Java Predicates. In Phyllis Frankl, editor, Proc.ISSTA, Rome, Italy, July 2002.
|
| |
10
|
Steve Christey and Robert A. Martin. Vulnerability type distributions in cve, May 2007. URL http://cwe.mitre.org/documents/vuln-trends/index.html. Version 1.1.
|
| |
11
|
Brian Demsky and Martin C. Rinard. Goal-directed reasoning for specification-based data structure repair. TSE, 32 (12): 931--951, December 2006.
|
| |
12
|
Greg Dennis. A Relational Framework for Bounded Program Verification. PhD thesis, MIT, 2009. Advised by Daniel Jackson.
|
| |
13
|
Edsgar W. Dijkstra. A constructive approach to the problem of program correctness. BIT Numerical Mathematics, 8 (3): 174--186, September 1968.
|
| |
14
|
Edsgar W. Dijkstra. Notes on structured programming. In O.-J. Dahl, C.A.R. Hoare, and E.W. Dijkstra, editors, Structured Programming. Academic Press, New York, 1972.
|
| |
15
|
Jonathan Edwards. Example centric programming. In Doug Schmidt, editor, Proc.19th OOPSLA, October 2004.
|
| |
16
|
Jonathan Edwards. Subtext: Uncovering the simplicity of programming. In Richard P. Gabriel, editor, Proc.20th OOPSLA, October 2005. ISBN 1-59593-031-0.
|
| |
17
|
Jonathan Edwards. No ifs, ands, or buts: Uncovering the simplicity of conditionals. In Proc. 22nd OOPSLA, pages 639--658, Montréal, Canada, October 2007.
|
| |
18
|
B. Elkarablieh, I. Garcia, Y. Suen, and S. Khurshid. Assertion-based repair of complex data structures. In Alexander Egyed and Bernd Fischer, editors, Proc. 22nd ASE, Atlanta, GA, November 2007.
|
| |
19
|
Martin Fowler. Mocks aren't stubs, January 2007. URL http://martinfowler.com/articles/mocksArentStubs.html.
|
| |
20
|
Norbert E. Fuchs. Specifications are (preferably) executable. Software Engineering Journal, 7 (5): 323--334, September 1992.
|
| |
21
|
Donald C. Gause and Gerald M. Weinberg. Exploring Requirements. Dorset House, 1989.
|
| |
22
|
Dorothy Graham. Requirements and testing: Seven missing-link myths. IEEE Software, 19 (5): 15--17, 2002.
|
| |
23
|
Ian Hayes and Cliff B. Jones. Specifications are not (necessarily) executable. phSoftware Engineering Journal, 4 (6): 330--338, 1989. ISSN 0268-6961.
|
| |
24
|
E. Hehner. Do considered od: a contribution to the programming calculus. Acta Informatica, 11: 287--304, 1979.
|
| |
25
|
C. A. R. Hoare. Proof of correctness of data representations. Acta Informatica, 1 (4): 271--281, December 1972.
|
| |
26
|
C. A. R. Hoare. An overview of some formal methods for program design. IEEE Computer, 20 (9): 85--91, 1987.
|
| |
27
|
Daniel Jackson and Jeanette Wing. Lightweight formal methods. IEEE Computer, pages 21--22, April 1996.
|
| |
28
|
Michael Jackson. Software Specifications and Requirements: a lexicon of practice, principles and prejudices. Addison-Wesley, 1995. ISBN 0-201-87712-0.
|
| |
29
|
Clifford B. Jones. The early search for tractable ways of reasoning about programs. IEEE Annals of the History of Computing, 25 (2): 26--49, 2003.
|
| |
30
|
Donald E. Knuth. Notes on the van Emde Boas construction of priority deques: An instructive use of recursion. Letter to Peter van Emde Boas, March 1977. URL http://www-cs-faculty.stanford.edu/knuth/faq.html.
|
| |
31
|
Ben Krause and Tim Wahls. jmle: A tool for executing jml specifications via constraint programming. In L. Brim, editor, Formal Methods for Industrial Critical Systems (FMICS'06), volume 4346 of LNCS, pages 293--296. Springer-Verlag, August 2006.
|
| |
32
|
Gary T. Leavens, Albert L. Baker, and Clyde Ruby. Preliminary design of JML: A behavioral interface specification language for Java. Technical Report 98-06u, Iowa State University, April 2003. URL http://www.jmlspecs.org.
|
| |
33
|
Barbara Liskov and John Guttag. Abstraction and Specification in Program Development. MIT Press, 1986.
|
| |
34
|
Tim Mackinnon, Steve Freeman, and Philip Craig. Endo-testing: Unit testing with mock objects. In eXtreme Programming and Flexible Processes in Software Engineering (XP2000), 2000.
|
| |
35
|
Darko Marinov and Sarfraz Khurshid. TestEra: A Novel Framework for Automated Testing of Java Programs. In Proc. 16th ASE, pages 22--31, November 2001.
|
| |
36
|
Robert C. Martin and Grigori Melnik. Tests and Requirements, Requirements and Tests: A Möbius Strip. IEEE Software, 25 (1): 54--59, 2008.
|
| |
37
|
Gerard Meszaros. xUnit Test Patterns: Refactoring Test Code. Addison-Wesley, 2007.
|
| |
38
|
Carroll Morgan. The specification statement. TOPLAS, 10 (3), 1988.
|
| |
39
|
Carroll Morgan. Programming from Specifications. Prentice-Hall, Inc., 2nd edition, 1998. First edition 1990.
|
| |
40
|
J. Morris. A theoretical basis for stepwise refinement and the programming calculus. Science of Computer Programming, 9 (3), December 1987.
|
| |
41
|
Rick Mugridge and Ward Cunningham. Fit for Developing Software: Framework for Integrated Tests. Prentice-Hall, Inc., 2005.
|
| |
42
|
Martin Odersky, Lex Spoon, and Bill Venners. Programming in Scala. Artima, November 2008.
|
| |
43
|
Committee on Certifiably Dependable Software Systems, editor. Summary of a Workshop on Software Certification and Dependability. The National Academies Press, 2004. ISBN 978-0-309-09429-0. URL http://books.nap.edu/catalog.php?record_id=11133.
|
| |
44
|
Derek Rayside, Zev Benjamin, Rishabh Singh, Joseph P. Near, Aleksandar Milicevic, and Daniel Jackson. Equality and hashing for (almost) free: Generating implementations from abstraction functions. In Joanne Atlee and Paola Inverardi, editors, Proc. 31st ICSE, 2009.
|
| |
45
|
Filippo Ricca, Marco Torchiano, Massimiliano Di Penta, Mariano Ceccato, and Paolo Tonella. Using acceptance tests as a support for clarifying requirements: A series of experiments. Information and Software Technology, 51 (2): 270--283, 2009.
|
| |
46
|
Mandana Vaziri, Frank Tip, Stephen Fink, and Julian Dolby. Declarative object identity using relation types. In Erik Ernst, editor, Proc. 21st ECOOP, volume 4609 of LNCS, pages 54--78, Berlin, Germany, July 2007. Springer-Verlag.
|
| |
47
|
Tim Wahls, Gary T. Leavens, and Albert L. Baker. Executing formal specifications with concurrent constraint programming. Automated Software Engineering Journal, 7: 315--343, 2000.
|
| |
48
|
Niklaus Wirth. Program development by stepwise refinement. CACM, 14 (4): 221--227, April 1971.
|
| |
49
|
Kuat Yessenov. A light-weight specification language for bounded program verification. Master's thesis, MIT, May 2009. Advised by Daniel Jackson.
|