What follows is a noncomprehensive bibliography of software security publications. This list is heavily biased toward recent publications. The references here can serve as a springboard to the wider literature. Below each reference is a brief description of the work and its place in the literature. All opinions are mine. The bibliography is divided into three sections. First is a very short list of required reading (the top five list for software security). Second is a complete list of all references cited in this book. Third is a list of other important software security references not otherwise mentioned in this book. There are overlaps only between the required reading list and the other two lists. Required Reading: The Top FiveThis is a completely biased list of the top five publications to read in software security (presented in alphabetical order). If you have time to read only a handful of stuff, read everything on this list first.
References Cited in Software Security: Building Security InA complete alphabetical listing of all references in this book, including those references mentioned in footnotes. [Abbott et al. 1976] Robert Abbott, Janet Chin, James Donnelley, William Konigsford, Shigeru Tokubo, and Douglas Webb. "Security Analysis and Enhancements of Computer Operating Systems," NBSIR 76-1041, National Bureau of Standards, ICST, Washington, DC, 1976.
[Alexander 2003] Ian Alexander. "Misuse Cases: Use Cases with Hostile Intent," IEEE Software 20(1), January/February 2003, pp. 5866.
[Anderson 2001] Ross Anderson. Security Engineering: A Guide to Building Dependable Distributed Systems. John Wiley and Sons, New York, 2001.
[Arkin, Stender, and McGraw 2005] Brad Arkin, Scott Stender, and Gary McGraw. "Software Penetration Testing," IEEE Security & Privacy 3(1), 2005, pp. 8487.
[Ashcraft and Engler 2002] Ken Ashcraft and Dawson Engler. "Using Programmer-Written Compiler Extensions to Catch Security Holes," Proceedings of the IEEE Symposium on Security and Privacy, Oakland, CA, IEEE Computer Society Press, 2002, pp. 131147.
[Aslam 1995] Taimur Aslam. "A Taxonomy of Security Faults in the UNIX Operating System." Master's Thesis, Purdue University, 1995.
[Ball and Rajamani 2001] Tom Ball and Sriram Rajamani. "Automatically Validating Temporal Safety Properties of Interfaces," Proceedings of the 8th International SPIN Workshop on Model Checking of Software, Springer Lecture Notes in Computer Science, vol. 2057, 2001, pp. 103122.
[Barnum and McGraw 2005] Sean Barnum and Gary McGraw. "Knowledge for Software Security," IEEE Security & Privacy 3(2), 2005, pp. 7478.
[Bisbey and Hollingworth 1978] Richard Bisbey and Dennis Hollingworth. "Protection Analysis Project Final Report," ISI/RR-78-13, DTIC AD A056816, USC/Information Sciences Institute, 1978.
[Bishop 2003] Matt Bishop. Computer Security: Art and Science. Addison-Wesley, Boston, MA, 2003.
[Bishop and Dilger 1996] Matt Bishop and Mike Dilger. "Checking for Race Conditions in File Accesses," Computing Systems 9(2), 1996, pp. 131152.
[Bush, Pincus, and Sielaff 2000] William Bush, Jonathan Pincus, and David Sielaff. "A Static Analyzer for Finding Dynamic Programming Errors," Software Practice and Experience, 30(7), June 2000, pp. 775802.
[Cavusoglu, Mishra, and Raghunathan 2002] Huseyin Cavusoglu, Birendra Mishra, and Srinivasan Raghunathan. "The Effect of Internet Security Breach Announcements on Market Value of Breached Firms and Internet Security Developers," Technical Report from the University of Texas at Dallas School of Management, February 2002.
[Chen and Wagner 2002] Hao Chen and David Wagner. "MOPS: An Infrastructure for Examining Security Properties of Software," Proceedings of the 9th ACM Conference on Computer and Communications Security (CCS2002), Washington, DC, ACM Press, 2002, pp. 235244.
[Chess 2002] Brian Chess. "Improving Computer Security Using Extended Static Checking," Proceedings of the IEEE Symposium on Security and Privacy, Oakland, CA, IEEE Computer Society Press, 2002, pp. 118130.
[Chess and McGraw 2004] Brian Chess and Gary McGraw. "Static Analysis for Security," IEEE Security & Privacy 2(6), 2004, pp. 7679.
[Cheswick and Bellovin 1994] Bill Cheswick and Steve Bellovin. Firewalls and Internet Security, 1st edition. Addison-Wesley, Reading, MA, 1994.
[Cheswick, Bellovin, and Rubin 2003] Bill Cheswick, Steve Bellovin, and Avi Rubin. Firewalls and Internet Security, 3rd edition. Addison-Wesley, Boston, MA, 2003.
[Christey 2005] Steven Christey. "PLOVERPreliminary List of Vulnerability Examples for Researchers," NIST Draft, August 2005 (unpublished).
[Das, Lerner, and Seigle 2002] Manuvir Das, Sorin Lerner, and Mark Seigle. "ESP: Path-Sensitive Program Verification in Polynomial Time," Proceedings of the ACM Conference on Programming Language Design and Implementation (PLDI2002), Berlin, Germany, ACM Press, 2002, pp. 5768.
[Davis et al. 2004] Noopur Davis, Samual Redwine, Gerlinde Zibuski, Gary McGraw, and Watts Humphrey. "Summary of National Cyber Security Summit Subgroup Report: Processes for Producing Secure Software." April 2004.
[Engler et al. 2000] Dawson Engler, Benjamin Chelf, Andy Chou, and Seth Hallem. "Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions," Proceedings of the Symposium on Operating System Design and Implementation (OSDI), San Diego, CA, USENIX Association, October 2000.
[Evans et al. 1994] David Evans, John Guttag, Jim Horning, and Yang Meng Tan. "LCLint: A Tool for Using Specifications to Check Code," Proceedings of the SIGSOFT Symposium on the Foundations of Software Engineering, New Orleans, LA, ACM Press, December 1994, pp. 8796.
[Fagan 1976] Michael Fagan. "Design and Code Inspections to Reduce Errors in Program Development," IBM Systems Journal 15(3), 1976, pp. 182211.
[Farmer and Venema 2005] Dan Farmer and Wietse Venema. Forensic Discovery. Addison-Wesley, Boston, MA, 2005.
[Foster, Terauchi, and Aiken 2002] Jeffrey Foster, Tachio Terauchi, and Alex Aiken. "Flow-Sensitive Type Qualifiers," Proceedings of the ACM Conference on Programming Language Design and Implementation (PLDI2002), Berlin, Germany, ACM Press, 2002, pp. 112.
[Geer 1998] Dan Geer. "Risk Management Is Where the Money Is," The Digital Commerce Society of Boston, Boston, MA, November 1998. This paper has been widely reprinted, including RISKS 20.06 <http://catless.ncl.ac.uk/Risks/20.06.html>.
[Geer et al. 2003] Dan Geer, Rebecca Bace, Peter Gutmann, Perry Metzger, Charles Pfleeger, John Quarterman, and Bruce Schneier. "CyberInsecurity: The Cost of Monopoly, How the Dominance of Microsoft's Products Poses a Risk to Security." Published on the Web by the Computer & Communications Industry Association (CCIA), September 2003. <http://www.ccianet.org/papers/cyberinsecurity.pdf>
[Ghosh, O'Connor, and McGraw 1998] Anup Ghosh, Tom O'Connor, and Gary McGraw. "An Automated Approach for Identifying Potential Vulnerabilities in Software," Proceedings of the IEEE Symposium on Security and Privacy, Oakland, CA, IEEE Computer Society Press, May 1998, pp. 104114.
[Gilb and Graham 1993] Tom Gilb and Dorothy Graham. Software Inspection. Addison-Wesley, Reading, MA, 1993.
[Graff and van Wyk 2003] Mark Graff and Kenneth van Wyk. Secure Coding: Principles and Practices. O'Reilly and Associates, Sebastopol, CA, 2003.
[Gutmann 2004] Peter Gutmann. "Simplifying Public Key Management," IEEE Computer 37(2), February 2004, pp. 101103.
[Henzinger et al. 2003] Thomas Henzinger, Ranjit Jhala, Rupak Majumdar, and Gregoire Sutre. "Software Verification with BLAST," Proceedings of the 10th International Workshop on Model Checking of Software, Springer Lecture Notes in Computer Science, vol. 2648, 2003, pp. 235239.
[Hoglund and Butler 2005] Greg Hoglund and James Butler. Rootkits: Subverting the Windows Kernel. Addison-Wesley, Boston, MA, 2005.
[Hoglund and McGraw 2004] Greg Hoglund and Gary McGraw. Exploiting Software: How to Break Code. Addison-Wesley, Boston, MA, 2004. <http://www.exploitingsoftware.com>
[Hope, McGraw, and Anton 2004] Paco Hope, Gary McGraw, and Annie Anton. "Misuse and Abuse Cases: Getting Past the Positive," IEEE Security & Privacy 2(3), 2004, pp. 3234.
[Hovemeyer and Pugh 2004] Dave Hovemeyer and William Pugh. "Finding Bugs Is Easy," Companion of the 19th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), Vancouver, Canada, ACM Press, 2004.
[Howard and LeBlanc 2002] Michael Howard and David LeBlanc. Writing Secure Code, 1st edition. Microsoft Press, Redmond, WA, 2002.
[Howard and LeBlanc 2003] Michael Howard and David LeBlanc. Writing Secure Code, 2nd edition. Microsoft Press, Redmond, WA, 2003.
[Howard, LeBlanc, and Viega 2005] Michael Howard, David LeBlanc, and John Viega. 19 Deadly Sins of Software Security. McGraw-Hill Osborne Media, New York, 2005.
[Howard and Lipner 2003] Michael Howard and Steve Lipner. "Inside the Windows Security Push," IEEE Security & Privacy 1(1), 2003, pp. 5761.
[Jurjens 2001] Jan Jurjens. "Towards Secure Systems Development with UMLsec," Proceedings of FASE'01. Springer Lecture Notes in Computer Science, 2001.
[Kernighan and Ritchie 1988] Brian Kernighan and Dennis Ritchie. The C Programming Language, 2nd edition. Prentice Hall, New York, 1988.
[Koziol et al. 2004] Jack Koziol, David Litchfield, Dave Aitel, Chris Anley, Sinan "noir" Eren, Neel Mehta, and Riley Hassell. The Shellcoder's Handbook: Discovering and Exploiting Security Holes. John Wiley & Sons, New York, 2004.
[Landwehr, Bull, and McDermott 1993] Carl Landwehr, Alan Bull, and John McDermott. "A Taxonomy of Computer Program Security Flaws, with Examples," Technical Report NRL/FR/554293/9591, United States Navy, Naval Research Laboratory, November 1993.
[Larochelle and Evans 2001] David Larochelle and David Evans. "Statically Detecting Likely Buffer Overflow Vulnerabilities," Proceedings of the 10th Usenix Security Symposium (USENIX'01), Washington, DC, USENIX Association, 2001.
[Leveson 1995] Nancy Leveson. Safeware: System Safety and Computers. Addison-Wesley, Reading, MA, 1995.
[McDermott and Fox 1999] John McDermott and Chris Fox. "Using Abuse Case Models for Security Requirements Analysis," Proceedings of the 15th Annual Computer Security Applications Conference, Scottsdale, AZ, IEEE Computer Society Press, 1999, p. 55.
[McGraw 1998] Gary McGraw. "Testing for Security During Development: Why We Should Scrap Penetrate-and-Patch," IEEE Aerospace and Electronic Systems 13(4), 1998, pp. 1315.
[McGraw 2003] Gary McGraw. "From the Ground Up: The DIMACS Software Security Workshop," IEEE Security & Privacy 1(2), 2003, pp. 5966.
[McGraw 2004] Gary McGraw. "Software Security," IEEE Security & Privacy 2(2), 2004, pp. 8083.
[McGraw 2005] Gary McGraw. "The 7 Touchpoints of Secure Software," Software Development, September 2005, pp. 4243.
[McGraw and Felten 1996] Gary McGraw and Edward Felten. Java Security: Hostile Applets, Holes, and Antidotes. John Wiley & Sons, New York, 1996.
[McGraw and Felten 1999] Gary McGraw and Edward Felten. Securing Java: Getting Down to Business with Mobile Code. John Wiley & Sons, New York, 1999. <http://www.securingjava.com/>
[McGraw and Morrisett 2000] Gary McGraw and Greg Morrisett. "Attacking Malicious Code: A Report to the Infosec Research Council," IEEE Software 17(5), September/October 2000, pp. 3341.
[Mead and McGraw 2005] Nancy R. Mead and Gary McGraw. "A Portal for Software Security," IEEE Security & Privacy 3(4), 2005, pp. 7579.
[Miller et al. 1995] Barton Miller, David Koski, Cjin Lee, Vivekananda Maganty, Ravi Murphy, Ajitkumar Natarajan, and Jeff Steidl. "Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services," Technical Report CS-TR-95-1268, University of Wisconsin, April 1995.
[Pincus and Baker 2004] Jon Pincus and Brandon Baker. "Beyond Stack Smashing: Recent Advances in Exploiting Buffer Overruns," IEEE Security & Privacy 2(4), 2004, pp. 2027.
[Potter and McGraw 2004] Bruce Potter and Gary McGraw. "Software Security Testing," IEEE Security & Privacy 2(5), 2004, pp. 8185.
[Saltzer and Schroeder 1975] Jerome Saltzer and Michael Schroeder. "The Protection of Information in Computer Systems," Proceedings of the IEEE 9(63), September 1975, pp. 12781308.
[Sindre and Opdahl 2000] Guttorm Sindre and Andreas Opdahl. "Eliciting Security Requirements by Misuse Cases," Proceedings of the 37th International Conference on Technology of Object-Oriented Languages and Systems (TOOLS-37'00), Sydney, Australia, IEEE Press, 2000, pp. 120131.
[Stubblefield, Ioannides, and Rubin 2004] Adam Stubblefield, John Ioannides, and Avi Rubin. "A Key Recovery Attack on the 802.11b Wired Equivalent Privacy Protocol (WEP)," ACM Transactions on Information and System Security, May 2004, pp. 319332.
[Swiderski and Snyder 2004] Frank Swiderski and Window Snyder. Threat Modeling. Microsoft Press, Redmond, WA, 2004.
[Taylor and McGraw 2005] Dan Taylor and Gary McGraw. "Adopting a Software Security Improvement Program," IEEE Security & Privacy 3(3), 2005, pp. 8891.
[Tsipenyuk, Chess, and McGraw 2005] Katrina Tsipenyuk, Brian Chess, and Gary McGraw. "Seven Pernicious Kingdoms: A Taxonomy of Software Security Errors," Proceedings of the NIST Workshop on Software Security Assurance Tools, Techniques, and Metrics (SSATTM), Los Angeles, CA, 2005.
[van Wyk and McGraw 2005] Kenneth R. van Wyk and Gary McGraw. "Bridging the Gap between Software Development and Information Security," IEEE Security & Privacy 3(4), 2005, pp. 6468.
[Verdon and McGraw 2004] Denis Verdon and Gary McGraw. "Risk Analysis in Software Design," IEEE Security & Privacy 2(4), 2004, pp. 7984.
[Viega et al. 2000a] John Viega, J. T. Bloch, Tadyoshi Kohno, and Gary McGraw. "ITS4: A Static Vulnerability Scanner for C and C++ Code," Proceedings of Annual Computer Security Applications Conference, New Orleans, LA, December 2000, pp. 257267.
[Viega et al. 2000b] John Viega, Gary McGraw, Tom Mutdosch, and Ed Felten. "Statically Scanning Java Code: Finding Security Vulnerabilities," IEEE Software 17(5), September/October 2000, pp. 6874.
[Viega and McGraw 2001] John Viega and Gary McGraw. Building Secure Software: How to Avoid Security Problems the Right Way. Addison-Wesley, Boston, MA, 2001. <http://www.buildingsecuresoftware.com/>
[Voas and McGraw 1998] Jeff Voas and Gary McGraw. Software Fault Injection: Inoculating Programs against Errors. John Wiley & Sons, New York, 1998.
[Wagner et al. 2000] David Wagner, Jeffrey Foster, Eric Brewer, and Alexander Aiken. "A First Step Towards Automated Detection of Buffer Over-run Vulnerabilities," Proceedings of the Year 2000 Network and Distributed System Security Symposium (NDSS), San Diego, CA, 2000, pp. 317.
[Walsh 2003] Larry Walsh. "Trustworthy Yet?" Information Security Magazine, February 2003. <http://infosecuritymag.techtarget.com/2003/feb/cover.shtml>
[Whittaker and Thompson 2003] James Whittaker and Herbert Thompson. How to Break Software Security. Addison-Wesley, Boston, MA, 2003.
[Wing 2003] Jeannette Wing. "A Call to Action: Look Beyond the Horizon," IEEE Security & Privacy 1(6), 2003, pp. 6267.
Government and Standards Publications Cited[IEC 61508] International Standards Organization, "IEC 61508"; Version 4.0 (1997). <http://www.iee.org>
[NIST 800-53] U.S. Federal Government, NIST Special Publication 800-53, "Recommended Security Controls for Federal Information Systems." <http://csrc.nist.gov/publications/nistpubs/> Other Important ReferencesThere are plenty of other references not directly cited in this book that are worth a look. Though this list is by no means complete, it can serve as a springboard into the wider software security literature. [Aleph1 1996] Aleph One. "Smashing the Stack for Fun and Profit," Phrack 49, November 1996.
[Amoroso 1994] Ed Amoroso. Fundamentals of Computer Security Technology. Prentice Hall, Englewood Cliffs, NJ, 1994.
[Anderson and Kuhn 1996] Ross Anderson and Marcus Kuhn. "Tamper ResistanceA Cautionary Note," Proceedings of the Second Usenix Workshop on Electronic Commerce, Oakland, CA, USENIX Association, November 1996, pp. 111. <http://www.cl.cam.ac.uk/users/rja14/tamper.html>
[Anderson and Needham 1995] Ross Anderson and Roger Needham. "Programming Satan's Computer," Computer Science Today, Springer Lecture Notes in Computer Science, vol. 1000, 1995, pp. 426441. <http://www.cl.cam.ac.uk/ftp/users/rja14/satan.ps.gz>
[Arbaugh, Fithen, and McHugh 2000] Bill Arbaugh, Bill Fithen, and John McHugh. "Windows of Vulnerability: A Case Study Analysis," IEEE Computer 33(12), December 2000, pp. 5259.
[Bell and LaPadula 1974] David Bell and Len LaPadula. "Secure Computer Systems," ESD-TR-73-278, Mitre Corporation; vols. I and II (November 1973), vol. III (April 1974).
[Brooks 1995] Frederick Brooks, Jr. The Mythical Man-Month: Essays on Software Engineering, 2nd edition. Addison-Wesley, Reading, MA, 1995.
[Brown 2000] Keith Brown. Programming Windows Security. Addison-Wesley, Boston, MA, 2000.
[Cowan et al. 1998] Crispin Cowan, Calton Pu, David Maier, Heather Hinton, Peat Bakke, Steve Beattie, Aaron Grier, Perry Wagle, and Qian Zhang. "Automatic Detection and Prevention of Buffer-Overflow Attacks," Proceedings of the 7th USENIX Security Symposium, San Antonio, TX, USENIX Association, January 1998, pp. 6378.
[Denning 1998] Dorothy Denning. Information Warfare and Security, Addison-Wesley, Reading, MA, 1998.
[DOD 1985] Trusted Computer System Evaluation Criteria ("The Orange Book"). U.S. Department of Defense, 1985.
[Ford 1994] Warwick Ford. Computer Communications Security: Principles, Standard Protocols, and Techniques. Prentice Hall, Englewood Cliffs, NJ, 1994.
[Forrest, Hofmeyr, and Somayaji 1997] Stephanie Forrest, Steven Hofmeyr, and Anil Somayaji. "Computer Immunology," Communications of the ACM 40(10), October 1997, pp. 8896.
[Gamma et al. 1995] Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides. Design Patterns. Addison-Wesley, Reading, MA, 1995.
[Garfinkel and Spafford 1996] Simson Garfinkel and Gene Spafford. Practical UNIX and Internet Security, 2nd edition. O'Reilly, Sebastopol, CA, 1996.
[Gasser 1988] Morrie Gasser. Building a Secure Computer System. Van Nostrand Reinhold, New York, 1988.
[Goldberg and Wagner 1996] Ian Goldberg and Dave Wagner. "Randomness and the Netscape Browser," Dr. Dobbs Journal, no. 243, January 1996, pp. 6670.
[Gollmann 1999] Dieter Gollmann. Computer Security. John Wiley & Sons, New York, 1999.
[Kahn 1996] David Kahn. The Code-Breakers (revised edition). Scribner, New York, 1996.
[Kaner and Pels 1998] Cem Kaner and David Pels. Bad Software: What to Do When Software Fails. John Wiley & Sons, New York, 1998.
[Knuth 1997] Donald Knuth. The Art of Computer Programming: Seminumerical Algorithms, 3rd Edition. Addison-Wesley, Reading, MA 1997.
[Kocher 1999] Paul Kocher. "Differential Power Analysis," Advances in CryptologyCrypto 99, Springer Lecture Notes in Computer Science, vol. 1666, 1999, pp. 388397.
[Krusl 1998] Ivan Krsul. Software Vulnerability Analysis. Ph.D. Thesis, COAST TR 98-09, Department of Computer Sciences, Purdue University, 1998.
[LaMacchia et al. 2002] Brian LaMacchia, Sebastian Lang, Matther Lyons, Rui Martin, and Kevin Price. .NET Framework Security. Addison-Wesley, Boston, MA, 2002.
[Maguire 1993] Steve Maguire. Writing Solid Code. Microsoft Press, Redmond, WA, 1993.
[McClure, Scambray, and Kurtz 1999] Stuart McClure, Joel Scambray, and George Kurtz. Hacking Exposed: Network Security Secrets and Solutions. Osborne, New York, 1999.
[McGraw 1999] Gary McGraw. "Software Assurance for Security," IEEE Computer 32(4), April 1999, pp. 103105.
[Menezes, van Oorschot, and Vanstone 1997] Alfred Menezes, Paul van Oorschot, and Scott Vanstone. Handbook of Applied Cryptography. CRC Press, 1997. <http://www.cacr.math.uwaterloo.ca/hac/>
[Miller, Fredricksen, and So 1990] Barton Miller, Lars Fredricksen, and Bryan So. "An Empirical Study of the Reliability of UNIX Utilities," Communications of the ACM 33(12), December 1990, pp. 3244.
[Necula and Lee 1998] George Necula and Peter Lee. "Safe, Untrusted Agents Using Proof-Carrying Code," Mobile Agents and Security, Springer Lecture Notes in Computer Science, vol. 1419, 1998, pp. 6191.
[Neumann 1995] Peter Neumann. Computer-Related Risks. Addison-Wesley, Reading, MA, 1995.
[Rivest, Shamir, and Adleman 1978] Ron Rivest, Adi Shamir, and Leonard Adleman. "A Method for Obtaining Digital Signatures and Public-Key Cryptosystems," Communications of the ACM 21(2), February 1978, pp. 120126.
[Rubin 1999] Avi Rubin. The Whitehat Security Arsenal: Tackling the Threats. Addison-Wesley, Reading, MA, 1999.
[Schmid and Ghosh 1999] Matt Schmid and Anup Ghosh. "An Approach to Testing COTS Software for Robustness to Operating System Exceptions and Errors," 1999 International Symposium on Software Reliability Engineering, Boca Raton, FL, IEEE Reliability Society, November 14, 1999.
[Schneider 1998] Fred Schneider, ed. Trust in Cyberspace. National Academy Press, Washington, DC, 1998.
[Schneier 1996] Bruce Schneier. Applied Cryptography. John Wiley & Sons, New York, 1996.
[Schneier 2000] Bruce Schneier. Secrets and Lies. John Wiley & Sons, New York, 2000.
[Thompson 1984] Ken Thompson. "Reflections on Trusting Trust," Communications of the ACM 27(8), August 1984, pp. 761763. <http://www.acm.org/classics/sep95/>
[Whittaker 2002] James Whittaker. How to Break Software: A Practical Guide to Testing. Addison-Wesley, Boston, MA, 2002.
[Whitten 1999] Alma Whitten. "Why Johnny Can't Encrypt: A Usability Evaluation of PGP 5.0," Eighth USENIX Security Symposium, Washington, DC, USENIX Association, 1999, pp. 169183.
[Winkler 1997] Ira Winkler. Corporate Espionage. Prima Publishing, 1997. Winkler's excellent treatment of the insider problem makes this book worth a read. [Zuse 1991] Horst Zuse. Software Complexity: Measures and Methods (Programming Complex Systems, No. 4). Walter de Gruyter, Inc., Berlin, 1991.
|