\begin{thebibliography}{10} \bibitem{knuth:literate} Donald~E. Knuth. \newblock Literate programming. \newblock {\em The Computer Journal}, 27(2):97--111, 1984. \bibitem{bentley:lp1} Donald~E. Knuth and Jon~L. Bentley. \newblock Programming pearls: Literate programming. \newblock {\em Communications of the ACM}, 29(5):364--368, May 1986. \bibitem{bentley:lp2} Donald~E. Knuth. \newblock Programming pearls: A literate program. \newblock {\em Communications of the ACM}, 29(6):471--483, June 1986. \newblock Reviewed by M. Douglas McIlroy. \bibitem{cvw:loom} David~R. Hanson. \newblock Literate programming: Printing common words. \newblock {\em Communications of the ACM}, 30(7):593--599, July 1987. \newblock Reviewed by John Gilbert. \bibitem{gries:pearls} David Gries and Jon Bentley. \newblock Programming pearls: Abstract data types. \newblock {\em Communications of the ACM}, 30(4):284--290, April 1987. \bibitem{knuth:tex} Donald~E. Knuth. \newblock {\em {{\TeX}}: The Program}, volume~B of {\em Computers \& Typesetting}. \newblock Addison-Wesley, 1986. \bibitem{knuth:metafont} Donald~E. Knuth. \newblock {\em {{\metafont}}: The Program}, volume~D of {\em Computers \& Typesetting}. \newblock Addison-Wesley, 1986. \bibitem{cvw:assessment} Christopher~J. Van~Wyk. \newblock Literate programming: An assessment. \newblock {\em Communications of the ACM}, 33(3):361--365, March 1990. \bibitem{thimbleby:review} Harold Thimbleby. \newblock A review of {Donald} {C}. {L}indsay's text file difference utility, {{\em diff}}. \newblock {\em Communications of the ACM}, 32(6):752--755, June 1989. \bibitem{thimbleby:cweb} Harold Thimbleby. \newblock Experiences of `literate programming' using cweb (a variant of {K}nuth's {WEB}). \newblock {\em Computer Journal}, 29(3):201--211, 1986. \bibitem{guntermann:cweb} Klaus Guntermann and Joachim Schrod. \newblock {{\tt WEB}} adapted to {C}. \newblock {\em {TUG}boat}, 7(3):134--137, October 1986. \bibitem{levy:cweb} Silvio Levy. \newblock {\tt WEB} adapted to {C}, another approach. \newblock {\em TUGBoat}, 8(1):12--13, 1987. \bibitem{sewell:mangle} Wayne Sewell. \newblock How to {{\tt MANGLE}} your software: the {{\tt WEB}} system for {M}odula-2. \newblock {\em {TUG}boat}, 8(2):118--128, July 1987. \bibitem{ramsey:building} Norman Ramsey. \newblock {L}iterate programming: {\hskip 0pt plus 0.5em}{W}eaving a language-independent {{\tt WEB}}. \newblock {\em Communications of the ACM}, 32(9):1051--1055, September 1989. \bibitem{ramsey:developing} Norman Ramsey. \newblock Developing formally verified {A}da programs. \newblock In {\em Proceedings of the 5th International Workshop on Software Specification and Design}, pages 257--265, Pittsburgh, Pennsylvania, May 1989. \bibitem{marceau:interactive} Carla Marceau and C.~Douglas Harper. \newblock An interactive approach to {A}da verification. \newblock In {\em Proceedings of the 12th National Computer Security Conference}, pages 28--51, Baltimore, Maryland, October 1989. \bibitem{guaspari:formal} David Guaspari, Carla Marceau, and Wolfgang Polak. \newblock Formal verification of {A}da programs. \newblock {\em IEEE Transactions on Software Engineering}, 16(9):1058--1075, September 1990. \bibitem{reps:synthesizer:89} Thomas Reps and Tim Teitelbaum. \newblock {\em The {S}ynthesizer {G}enerator Reference Manual}. \newblock Springer-Verlag, 1989. \bibitem{reps:generating} Thomas Reps. \newblock {\em Generating Language-Based Environments}. \newblock MIT Press, 1984. \bibitem{adalrm} {US Department of Defense}. \newblock {\em The {A}da Programming Language Reference Manual}, 1983. \newblock ANSI/MILSTD~1815A. \bibitem{polak:predicate} Wolfgang Polak. \newblock Predicate transformer semantics for {A}da. \newblock Technical Report 89-39, Odyssey Research Associates, September 1989. \bibitem{marceau:verified} Carla Marceau and Geoffrey Hird. \newblock A verified software implementation of an {RS}-232 repeater using {P}enelope. \newblock Technical Report 90-12, Odyssey Research Associates, 1990. \bibitem{weber:beyond} D.~G. Weber and Roger~L. Costello. \newblock Beyond {A1} using {A}da code verification. \newblock Technical Report 89-9, Odyssey Research Associates, April 1989. \bibitem{anderson:asos} Eric~R. Anderson, Ben DiVitto, and Ruth~M. Hart. \newblock {ASOS}: Information security for real-time systems. \newblock In {\em {AFCEA} West Intelligence Symposium}, 1987. \bibitem{polak:program} Wolfgang Polak. \newblock Program verification based on denotational semantics. \newblock In {\em ACM Symposium on Principles of Programming Languages}, pages 149--158. Association for Computing Machinery, 1981. \bibitem{ganzinger:operator} H.~Ganzinger and K.~Ripken. \newblock Operator identification in {A}da. \newblock {\em ACM SIGPLAN Notices}, 15(2):30--42, February 1980. \bibitem{bentley:more-pearls:graphics} Jon Bentley. \newblock {\em More Programming Pearls: Confessions of a Coder}, chapter 10 and 11, pages 101--126. \newblock Addison-Wesley, 1988. \bibitem{sedgewick:algorithms} Robert Sedgewick. \newblock {\em Algorithms}. \newblock Addison-Wesley, second edition, 1988. \bibitem{feldman:make} Stuart~I. Feldman. \newblock Make---a program for maintaining computer programs. \newblock {\em Software---Practice and Experience}, 9:255--265, 1979. \bibitem{johnson:yacc} Steve~C. Johnson. \newblock Yacc---yet another compiler compiler. \newblock Technical Report~32, Computer Science, AT\&T Bell Laboratories, Murray Hill, New Jersey, 1975. \bibitem{kernighan:unix} Brian~W. Kernighan and Rob Pike. \newblock {\em The {UNIX} Programming Environment}. \newblock Prentice-Hall, 1984. \bibitem{ramsey:spiderwebman} Norman Ramsey. \newblock The {S}pidery {{\tt WEB}} system of structured documentation. \newblock Technical Report TR-226-89, Department of Computer Science, Princeton University, August 1989. \bibitem{parnas:rational} David~Lorge Parnas and Paul~C. Clements. \newblock A rational design process: How and why to fake it. \newblock {\em IEEE Transactions on Software Engineering}, SE-12(2):251--257, February 1986. \end{thebibliography}