I have just started this list. This is not a representative sample.... it's a list of papers that happened to be on top of my desk. I will try to update this list in the next few week. -- Mark Verber, October 5, 1999
Hal Abelson, Ross Anderson, Steven M. Bellovin, Josh Benaloh, Matt Blaze, Whitfield Diffie, John Gilmore, Peter G. Neumann, Ronald L. Rivest, Jeffrey I. Schiller, Bruce Schneier, The Risks of Key Recovery, Key Escrow, and Trusted Third-Party Encryption, 27 May 1997 (ftp://research.att.com/dist/mab/key_study.txt or .ps; http://www.crypto.com/key_study). Reissued with an incremental preface assessing what happened in the intervening year, http://www.cdt.org/crypto/risks98/, 8 June 1998.
Jon L. Bentley, Writing Efficient Programs. Prentice-Hall, 1982.
A. D. Birrell, et al. Grapevine: An exercise in distributed computing. Communications of the ACM 25, 4, April 1982, pp 260-273.
Frederick P. Brooks The Mythical Man-Month, Addison-Wesley, 1995.
Alan Demers, Mark Gealy, Dan Greene, Carl Hauser, Wes Irish, John Larson, Sue Manning, Scott Shenker, Howard Sturgis, Dan Swinehart, Doug Terry, Don Woods, Epidemic Algorithms for Replicated Database Maintenance, Sixth ACM Symposium on Principles of Distributed Systems, Vancouve, August 1987, pp 1-12. Also published by Xerox PARC as CSL-89-1C.A.R. Hoare, Hints on programming language design. ACM SIGACT/SIGPLAN Symposium on Principles of Programming Languages, Boston, Oct. 1973
C.A.R. Hoare, Monitors: An Operating System Structuring Concept. Communications of the ACM 17, 10, Oct. 1974, pp 549-557.
Butler 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.
P.G. Neumann, Practical Architectures for Survivable Systems and Networks, Phase-One Final Report. January 28, 1999. http://www.csl.sri.com/neumann/arl-one.html
P.G. Neumann, Computer-Related Risks, Addison-Wesley and ACM Press, 1995.
Henry Petroski, To Engineer Is Human, Vintage, 1992
Daniel C. Swinehart, Polle T. Zellweger, Richard J. Beach, Robert B. Hagmann, A Structural View of the Cedar Programming Environment, ACM SIGPLAN Notices 20, 7 (July 1985) and also published by Xerox PARC as CSL-86-1
Gerald M. Weinberg, Daniela Weinberg, General Principles of Systems Design, Dorset House, 1988
Sharon E. Perl & W. E. Weihl Performance Assertion Checking, SOSP, 1993General Design Principles - Saltzer
Rules of Thumb in Data Engineering - Gray & Shenoy
Lessons Learned from Giant Scale Internet Services - Culler
Jonathan S. Shapiro, Norm Hardy, EROS: A Principle-Driven Operating System from the Ground Up, IEEE Software, Jan/Feb 2002, pp 26-33
Fault Tolerant Operating Systems, Peter Denning, ACM Computing Surveys, Vol. 8, No. 4, December 1976
Fundamentals of Computing (a cheat-list) Leonid A. Levin
Laws of Programming, C. A. R. HOARE, 1. J. HAYES, HE JIFENG, C. C. MORGAN, A. W. ROSCOE, J. W. SANDERS, 1. H. SORENSEN, J. M. SPIVEY, and B. A. SUFRIN, CACM August 1987 Volume 30 Number 8
A Method for Obtaining Digital Signatures and Public- Key Cryptosystems R. L. Rivest, A. Shamir, and L. Adlemanm, CACM, February 1978 of Volume 21 the ACM Number 21
See Also HA Systems and Techniques