The following is an HTML-formatted bibliography list for the book:
Diomidis Spinellis. Code Reading: The Open Source Perspective.
Addison Wesley, 2003.
ISBN 0-201-79940-5.
Christopher Alexander, Sara Ishikawa,
Murray Silverstein, Max Jacobson, Ingrid Fiksdahl-King, and Shlomo Angel.
A
Pattern Language.
Oxford University Press, Oxford, 1977.
Even Adams and Steven S. Muchnick.
Dbxtool: A window-based symbolic debugger for Sun workstations.
Software: Practice & Experience, 16(7):653–669, July 1986.
Frank Buschmann, Regine Meunier,
Hans Rohnert, Peter Sommerlad, and Michael Stal.
Pattern-Oriented Software Architecture, volume 1: A System of Patterns.
John Wiley and Sons, New York, 1996.
Maurice Bruynooghe.
The memory management of Prolog implementations.
In Keith L. Clark and Sten-Åke Tärnlund, editors, Logic
Programming, pages 83–98. Academic Press, London, 1982.
H. E. Bal, J. G. Steiner, and A. S.
Tanenbaum.
Programming languages for distributed computing systems.
ACM Computing Surveys, 21(3):261–322, September 1989.
Arash Baratloo, Timothy Tsai, and
Navjot Singh.
Transparent run-time defense against stack smashing attacks.
In Christopher Small, editor, USENIX 2000 Technical Conference
Proceedings, Berkeley, CA, June 2000. Usenix Association.
L. W. Cannon, R. A. Elliott, L. W.
Kirchhoff, J. H. Miller, J. M. Milner, R. W. Mitze, E. P. Schan, N. O.
Whittington, Henry Spencer, David Keppel, and Mark Brader.
Recommended C style
and coding standards.
Available online http://sunland.gsfc.nasa.gov/info/cstyle.html (December 2001).
Updated version of the Indian Hill C Style and Coding Standards paper.
Douglas E. Comer.
Internetworking with TCP/IP, volume I: Principles, Protocols and
Architecture.
Prentice-Hall, Englewood Cliffs, NJ, fourth edition, 2000.
Douglas E. Comer and David L. Stevens.
Internetworking with TCP/IP, volume III: Client-Server Programming and
Applications (BSD Socket Version).
Prentice-Hall, Englewood Cliffs, NJ, second edition, 1996.
Douglas E. Comer and David L. Stevens.
Internetworking with TCP/IP, volume II: ANSI C Version: Design,
Implementation, and Internals.
Prentice-Hall, Englewood Cliffs, NJ, third edition, 1998.
D. D. Clark and D. L. Tennenhouse.
Architectural considerations for a new generation of protocols.
In Proceedings of the ACM symposium on Communications architectures and
protocols, pages 200–208, New York, 1990. ACM Press.
Devid Detlefs, Al Dosser, and Benjamin
Zorn.
Memory allocation costs in large C and C++ programs.
Software: Practice & Experience, 24(6):527–542, June 1994.
R. DeMillo, R. Lipton, and A. Perlis.
Social processes and proofs of theorems and programs.
In Proc. Fourth ACM Symposium on Principles of Programming
Languages, pages 206–214, New York, January 1977. ACM Press.
Christopher W. Fraser and David R.
Hanson.
Exploiting machine-specific pointer operations in abstract machines.
Software: Practice & Experience, 12:367–373, 1982.
M. Fayad, R. Johnson, and D. C.
Schmidt, editors.
Domain-Specific Application Frameworks: Applications and
Experiences.
John Wiley and Sons, New York, 1999.
M. Fayad, R. Johnson, and D. C.
Schmidt, editors.
Domain-Specific Application Frameworks: Problems and Perspectives.
John Wiley and Sons, New York, 1999.
Richard P. Gabriel and Ron Goldman.
Mob software: The erotic
life of code.
Presented at the ACM Conference on Object-Oriented Programming, Systems,
Languages, and Applications on October 19, 2000, in Minneapolis, Minnesota.,
October 2000.
Online http://www.dreamsongs.com/MobSoftware.html. Current May 2002.
S. Graham, P. Kessler, and M. K.
McKusick.
gprof: A call graph execution profiler.
ACM SIGPLAN Notices, 6(17):120–126, June 1982.
Proceedings of the SIGPLAN '82 Symposium on Compiler Construction.
Andrew Hume.
Grep wars: The strategic search initiative.
In Peter Collinson, editor, Proceedings of the EUUG Spring 88
Conference, pages 237–245, Buntingford, UK, 1988. European UNIX
User Group.
R. Johnson.
Documenting frameworks using patterns.
ACM SIGPLAN Notices, 27(10):63–76, October 1992.
In John Pugh (ed) Proceedings of the seventh Annual Conference on
Object-Oriented Programming Systems, Languages and Applications, OOPSLA '92
Conference, October 18–22, Vancouver, British Columbia, Canada.
Brian W. Kernighan.
A typesetter-independent TROFF.
Computer Science Technical Report 97, Bell Laboratories, Murray Hill, NJ, 1982.
Available online at http://cm.bell-labs.com/cm/cs/cstr.
Mark F. Komarinski, Jorge Godoy, and
David C. Merrill.
LDP author
guide.
Available online http://www.linuxdoc.org/LDP/LDP-Author-Guide.pdf (January
2002), December 2001.
Gregor Kiczales, Erik Hilsdale, Jim
Hugunin, Mik Kersten, Jeffrey Palm, and William G. Griswold.
Getting started with AspectJ.
Communications of the ACM, 44(10):59–65, October 2001.
Donald E. Knuth.
Literate Programming.
CSLI Lecture Notes Number 27. Stanford University Center for the Study of
Language and Information, Stanford, CA, 1992.
Distributed by the University of Chicago Press.
David G. Korn.
Porting Unix to Windows NT.
In Proceedings of the USENIX 1997 Annual Technical Conference,
Berkeley, CA, January 1997. Usenix Association.
John Lions.
Lions'
Commentary on Unix 6th Edition with Source Code.
Annabooks, Poway, CA, 1996.
1st (restricted) edition was published as two volumes: Unix Operating
System Source Code Level Six and A Commentary on the Unix Operating
System, 1977.
Richard J. Miara, Joyce A. Musselman,
Juan A. Navarro, and Ben Shneiderman.
Program indentation and comprehensibility.
Communications of the ACM, 26(11):861–867, 1983.
Udi Manber and Sun Wu.
GLIMPSE: A tool to search through entire file systems.
In Jeff Mogul, editor, USENIX Conference Proceedings, pages
23–32, Berkeley, CA, Winter 1994. Usenix Association.
Linda M. Ott and Jeffrey J. Thuss.
The relationship between slices and module cohesion.
In Proceedings of the 11th ACM conference on Software
Engineering, pages 198–204, New York, May 1989. ACM, ACM Press.
David Lorge Parnas.
On the criteria to be used for decomposing systems into modules.
Communications of the ACM, 15(12):1053–1058, December 1972.
Also in [HW01] pp. 145–155.
Rob Pike and Ken Thompson.
Hello world.
In Dan Geer, editor, USENIX Technical Conference Proceedings,
pages 43–50, Berkeley, CA, Winter 1993. Usenix Association.
Dennis M. Ritchie.
The C programming language—reference manual.
In Unix Programmer's Manual[Uni79].
Also available online http://plan9.bell-labs.com/7thEdMan/.
Kay A. Robbins and Steven Robbins.
Practical Unix Programming: A Guide to Concurrency, Communication, and
Multithreading.
Prentice-Hall, Englewood Cliffs, NJ, 1996.
Peter H. Salus, editor.
Handbook of Programming Languages, volume I: Object-Oriented Programming
Languages.
Macmillan Technical Publishing, Indianapolis, IN, 1998.
Henry Spencer and Geoff Collyer.
#ifdef considered harmful or portability experience with C news.
In Rick Adams, editor, USENIX Conference Proceedings, pages
185–198, Berkeley, CA, Summer 1992. USENIX Association.
Douglas C. Schmidt.
Gperf: A perfect hash function generator.
In Jim Waldo, editor, USENIX C++ Conference, pages 87–100,
Berkeley, CA, April 1990. Usenix Association.
Mary Shaw and David Garlan.
Formulations and formalisms in software architecture.
In Jan van Leeuwen, editor, Computer Science Today: Recent Trends and
Developments, pages 307–323. Springer Verlag, 1995.
Lecture Notes in Computer Science 1000.
Charles Simonyi.
Meta-programming: a Software Production Method.
PhD thesis, Stanford University, CA, December 1976.
Online
http://www.parc.xerox.com/publications/bw-ps-gz/csl76-7.ps.gz
(December 2001).
Charles Simonyi.
Hungarian notation.
Available online
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvsgen/html/hunganotat.asp (December 2001), November 1999.
Microsoft Developer Network Library.
Henry Spencer.
How to steal code—or—inventing the wheel only once.
In USENIX Conference Proceedings, pages 335–345, Berkeley, CA,
Winter 1988. USENIX Association.
Diomidis Spinellis.
Reliable software implementation using domain specific languages.
In G. I. Schuëller and P. Kafka, editors, Proceedings ESREL '99 —
The Tenth European Conference on Safety and Reliability, pages
627–631, Rotterdam, September 1999. ESRA, VDI, TUM, A. A. Balkema.
Douglas C. Schmidt, Michael Stal,
Hans Rohnert, and Frank Buschmann.
Pattern-Oriented Software Architecture, volume 2: Patterns for Concurrent
and Networked Objects.
John Wiley and Sons, New York, 2000.
Sun Microsystems, Inc.
Java remote
method invocation specification.
Available online http://java.sun.com/docs/guide/rmi/spec/rmiTOC.html/ (February
2002), December 1999.
Revision 1.7, Java 2 SDK, Standard Edition, v1.3.0.
Walter F. Tichy.
Design, implementation, and evaluation of a revision control system,.
In Proceedings of the 6th International Conference on Software
Engineering. IEEE, September 1982.
Walter F. Tichy.
A catalogue of general-purpose design patterns.
In 23rd conference on the Technology of Object-Oriented Languages and
Systems (TOOLS 23). IEEE Computer Society, 1998.
UNIX Programmer's Manual.
Volume 2—Supplementary Documents.
Bell Telephone Laboratories, Murray Hill, NJ, seventh edition, 1979.
Also available online http://plan9.bell-labs.com/7thEdMan/.
W. Eric Wong, Joseph R. Horgan,
Swapna S. Gokhale, and Kishor S. Trivedi.
Locating program features using execution slices.
In Proceedings of the 1999 IEEE Symposium on Application-Specific Systems
and Software Engineering & Technology, 1999.
H. E. Williams, J. Zobel, and S. Heinz.
Self-adjusting trees in practice for large text collections.
Software: Practice & Experience, 31(10):925–940, August 2001.