Classics
- ACM
collected algorithms.
Available online http://calgo.acm.org/. Current December 2011.
- Alfred V.
Aho, Brian W. Kernighan, and Peter J.
Weinberger.
The AWK
Programming Language.
Addison-Wesley, Reading, MA, 1988.
- Christopher Alexander, Sara
Ishikawa, Murray Silverstein, Max Jacobson,
Ingrid Fiksdahl-King, and Shlomo Angel.
A Pattern
Language.
Oxford University Press, Oxford, 1977.
- Ross Anderson.
Why information security is hard—an economic perspective.
In 17th Annual Computer Security Applications Conference
(ACSAC'01), page 0358, Los Alamitos, CA, USA, 2001. IEEE Computer
Society.
(doi:10.1109/ACSAC.2001.991552)
- American National
Standard for Information Systems — programming language — C:
ANSI X3.159–1989, December 1989.
(Also ISO/IEC 9899:1990).
- Phillip G.
Armour.
The case for a new business model: Is software a product or a medium?
Communications of the ACM, 43(8):19–22, August 2000.
- Association for Computing Machinery.
The ACM computing
classification system (1998).
Online. http://www.acm.org/class/1998/ccs98.html, January 1999, 1998.
- Matthew H.
Austern.
Generic
Programming and the STL: Using and Extending the C++ Standard Template
Library.
Addison-Wesley, Reading, MA, 1998.
- J.W.
Backus, F.L. Bauer, J.Green,
C. Katz, J.McCarthy, P. Naur,
A.J.Perlis, H. Rutishauser,
K. Samuelson, B. Vauquois, J.H.
Wegstein, A. van Vinjgaarden, and M. Woodger.
Revised report on the algorthmic language ALGOL 60.
IFIP, 1960.
- Janet
Barnes, Rod Chapman, Randy Johnson,
James Widmaier, Bill Everett, and
David Cooper.
Engineering the
Tokeneer enclave protection system.
In IEEE International Symposium on Secure Software Engineering,
Los Alamitos, California, March 2006.
- V. Basili,
C. Caldiera, and D. H. Rombach.
Goal
question metric paradigm.
In Encyclopedia of Software Engineering, volume 2, pages 528–532.
John Wiley and Sons, New York, 1994.
- L. Bass,
P. Clements, and R. Kazman.
Software Architecture in Practice.
Addison-Wesley, Reading, MA, 1998.
- Kent Beck
and Cynthia Andres.
Extreme
Programming Explained: Embrace Change.
Addison-Wesley, Boston, MA, second edition, 2004.
- Jon Louis
Bentley.
Programming pearls: Little languages.
Communications of the ACM, 29(8):711–721, August 1986.
- Jon Louis
Bentley.
Programming
Pearls.
Addison-Wesley, Reading, MA, second edition, 1999.
- Stephen P. Berczuk and Brad
Appleton.
Software
Configuration Management Patterns: Effective Teamwork, Practical
Integration.
Addison-Wesley, Boston, MA, 2002.
- Hal
Berenson, Phil Bernstein, Jim Gray,
Jim Melton, Elizabeth O'Neil, and
Patrick O'Neil.
A critique of ANSI
SQL isolation levels.
In SIGMOD '95: Proceedings of the 1995 ACM SIGMOD international
conference on Management of data, pages 1–10, New York, NY, USA,
1995. ACM.
(doi:10.1145/223784.223785)
- Joshua T. Bloch.
Effective
Java.
Addison-Wesley, Boston, MA, 2001.
- Joshua Bloch.
How to design a good
api and why it matters.
In OOPSLA '06: Companion to the 21st ACM SIGPLAN conference on
Object-oriented programming languages, systems, and applications,
pages 506–507, New York, NY, USA, 2006. ACM Press.
(doi:10.1145/1176617.1176622)
- Barry W.
Boehm, Bradford Clark, Ellis Horowitz,
Ray Madachy, Richard Shelby, and
Chris Westland.
Cost
models for future life cycle processes: COCOMO 2.
Annals of Software Engineering, 1:57–94, 1995.
- Barry W. Boehm.
Software Engineering Economics.
Prentice Hall, Englewood Cliffs, NJ, 1981.
- Barry W. Boehm.
The economics of software maintenance.
In Software Maintenance Workshop, pages 9–37, 1983.
- Barry W. Boehm.
Industrial software metrics top 10 list.
IEEE Software, 4(9):84–85, September 1987.
- Barry W. Boehm.
Software risk management: Principles and practices.
IEEE Software, 9(1):32–39, January/February 1991.
- R. S.
Boyer and J. S. Moore.
A fast string searching algorithm.
Communications of the ACM, 20(10):262–272, October 1977.
- Sergey Brin
and Lawrence Page.
The
anatomy of a large-scale hypertextual web search engine.
Computer Networks, 30(1–7):107–117, April 1998.
Seventh International World Wide Web Conference Proceedings (WWW7).
- Mark Burgess.
Principles of
Network and System Administration.
John Wiley and Sons, New York, 2001.
- 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.
- David Candevoorde and
Nicolai M. Josuttis.
C++ Templates:
The Complete Guide.
Addison-Wesley, Boston, MA, 2003.
- Carnegie Mellon University,
Software Engineering Institute.
Software
technology review. quality measures taxonomy.
Online. http://www.sei.cmu.edu/str/taxonomies/view_qm.html, December 1998,
1998.
- D. D.
Chamberlin, M. M. Astrahan, K. P. Eswaran,
P. P. Griffiths, R. A. Lorie,
J. W. Mehl, P. Reisner, and B. W.
Wade.
SEQUEL 2: A unified approach to data definition manipulation and control.
IBM Journal of Research and Development, 20(6):560–575, November
1976.
- Fay Chang,
Jeffrey Dean, Sanjay Ghemawat,
Wilson C. Hsieh, Deborah A. Wallach,
Mike Burrows, Tushar Chandra,
Andrew Fikes, and Robert E. Gruber.
Bigtable: A distributed storage system for structured data.
In OSDI '06: 8th Symposium on Operating Systems Design and
Implementation. USENIX Association, 2006.
- Peter
Checkland.
Soft systems methodology.
In J. Rosenhead, editor, Rational Analysis for a
Problematic World, chapter 4, pages 71–100. John Wiley and Sons, New
York, 1989.
- Peter Pin-Shan
Chen.
The entity-relationship model — toward a unified view of data.
ACM Transactions on Database Systems, 1(1):9–36, March
1976.
- Clayton M.
Christensen.
The Innovator's Dilemma: When New Technologies Cause Great Firms to
Fail.
Harvard Business School Press, Cambridge, 1997.
- William F. Clocksin and
Christopher S. Mellish.
Programming in Prolog.
Springer Verlag, second edition, 1984.
- Alistair
Cockburn.
Agile Software
Development.
Addison-Wesley, Boston, MA, 2001.
- Larry L. Constantine and
Edward Yourdon.
Structured Design.
Prentice Hall, Englewood Cliffs, NJ, 1979.
- S. A. Cook.
The complexity of theorem prooving procedures.
In Proceeding of the 3rd ACM Symposium on Theory of Computing,
pages 151–158. ACM, 1971.
- Alan Cooper.
The Inmates are Running the Asylum.
Sams, Indianapolis, IN, 1999.
- Flavin
Cristian.
Understanding fault-tolerant distributed systems.
Communications of the ACM, 34(2):56–78, 1991.
(doi:10.1145/102792.102801)
- Desmond Francis D' Souza and
Alan Cameron Wills.
Objects,
Components, and Frameworks With UML : The Catalysis Approach.
Addison-Wesley, 1998.
- O-J. Dahl,
B. Myrhaug, and K. Nygaard.
SIMULA common base language.
Technical Report S-22, Norwegian Computing Center, Oslo, Norway, 1970.
- Markus Dahm.
Byte code
engineering.
In Clemens H. Cap, editor, JIT '99,
Java-Informations-Tage 1999, pages 267–277. Springer-Verlag,
September 1999.
- John Daniels.
Modeling with a sense of purpose.
IEEE Software, 19(1):8–10, January/February 2002.
- Fred D.
Davis, Richard P. Bagozzi, and Paul R.
Warshaw.
User acceptance of computer technology: a comparison of two theoretical models.
Manage. Sci., 35(8):982–1003, 1989.
- Fred D. Davis.
Perceived usefulness, perceived ease of use, and user acceptance of information
technology.
MIS Quarterly, 13(3):319–340, September 1989.
- J. D.
Day and H. Zimmermann.
The OSI reference model.
Proceedings of the IEEE, 71:1334–1340, 1983.
- Robert A. Day.
How to write a scientific paper.
IEEE Transactions on Professional Communication, PC-20(1):32–37,
June 1977.
- Mark
de Berg, Marc van Kreveld, Mark Overmars, and
Otfried Schwarzkopf.
Computational
Geometry: Algorithms and Applications.
Springer-Verlag, second edition, 2000.
- Jeffrey
Dean and Sanjay Ghemawat.
MapReduce:
Simplified data processing on large clusters.
In OSDI '04: 6th Symposium on Operating Systems Design and
Implementation, pages 137–149, Berkeley, CA, 2004. USENIX
Association.
- H. M.
Deitel and M. S. Kogan.
The Design of OS/2.
Addison-Wesley, 1992.
- R. DeMillo, R. Lipton, and
A. Perlis.
Social processes and proofs of theorems and programs.
Communications of the ACM, 22(5):271–280, 1979.
(doi:10.1145/360363.360369)
- Peter J.
Denning.
Working sets past and present.
IEEE Transactions on Software Engineering, 6(1):64–84, January
1980.
- Edsger Wybe
Dijkstra.
Go to statement considered harmful.
Communications of the ACM, 11(3):147–148, March 1968.
- Edsger Wybe
Dijkstra.
The structure of THE multiprogramming system.
Communications of the ACM, 11(5):341–346, May 1968.
- Edsger W.
Dijkstra.
Co-operating sequential processes.
In F. Genuys, editor, Programming Languages: NATO
Advanced Study Institute, pages 43–112. Academic Press, London,
1968.
- Edsger W.
Dijkstra.
Notes on
structured programming.
T.H.-Report 70-WSK-03, Technological University Eindhoven, Department of
Mathematics, Eindhoven, NL, April 1970.
Available online http://www.cs.utexas.edu/users/EWD/ewd02xx/EWD249.PDF.
Current December 2011.
- Edsger W.
Dijkstra.
The humble programmer — 1972 turing award lecture.
Communications of the ACM, 15(10):859–866, October 1972.
- In Proc. Fourth ACM
Symposium on Principles of Programming Languages, pages 206–214, New
York, January 1977. ACM Press.
- Ken Arnold (editor), Jim
Waldo, and the Jini Technology Team.
The Jini
Specifications.
Addison-Wesley, second edition, 2000.
- K. P.
Eswaran, J. N. Gray, R. A. Lorie, and
I. L. Traiger.
The notions of consistency and predicate locks in a database system.
Communications of the ACM, 19(11):624–633, 1976.
(doi:10.1145/360363.360369)
- Jean D. Ichbiah
et al.
Reference Manual for the Ada Programming Language, ANSI/MIL-STD-1815
A-1983.
Castle House Publication Ltd., 1983.
- Michael E. Fagan.
Advances in software inspections.
IEEE Transactions on Software Engineering, SE-12(7):744–751,
July 1986.
- Roy T.
Fielding and Richard N. Taylor.
Principled design of the modern Web architecture.
ACM Transactions on Internet Technology, 2(2):115–150, 2002.
(doi:10.1145/514183.514185)
- Martin
Fowler and Kendall Scott.
UML Distilled: Applying the Standard Object Modeling Language.
Addison-Wesley, Reading, MA, 1997.
- Martin Fowler.
UML
Distilled: A Brief Guide to the Standard Object Modeling Language.
Addison-Wesley, Boston, MA, third edition, 2003.
- 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://oopsla.acm.org/oopsla2k/postconf/Gabriel.pdf. Current October
2004.
- Emden R.
Gansner and Stephen C. North.
An open graph visualization system and its applications to software
engineering.
Software: Practice & Experience, 30(11):1203–1233, 2000.
(doi:10.1002/1097-024X(200009)30:11<1203::AID-SPE338>3.3.CO;2-E)
- M. R.
Garey and D. S. Johnson.
Computers and Intractability: A Guide to the Theory of
NP-Completeness.
W. H. Freeman and Company, 1979.
- Emden R.
Gasner, Eleftherios Koutsofios, Stephen C.
North, and Kiem-Phong Vo.
A technique for drawing directed graphs.
IEEE Transactions on Software Engineering, 19(3):124–230, May
1993.
- Joshua Gay, editor.
Free software free society : selected essays of Richard M.
Stallman.
Free Software Foundation Inc., Boston, 2002.
- Rishab Aiyer
Ghosh.
Study
on the: Economic impact of open source software on innovation and the
competitiveness of the information and communication technologies (ICT)
sector in the EU.
Available online
http://ec.europa.eu/enterprise/ict/policy/doc/2006-11-20-flossimpact.pdf.,
November 2006.
Prepared by MERIT for the European Commission under the contract
ENTR/04/112.
- Robert L. Glass.
Software Runaways: Lessons Learned from Massive Software Project
Failures.
Prentice Hall, Englewood Cliffs, NJ, 1998.
- Adele Goldberg.
Smalltalk 80:
The Language and its Implementation.
Addison Wesley, Reading, MA, 1980.
- David
Goldberg.
What every computer scientist should know about floating-point arithmetic.
ACM Comput. Surv., 23(1):5–48, 1991.
(doi:10.1145/103162.103163)
- James
Gosling, Bill Joy, Guy Steele, and
Gilad Bracha.
The Java
Language Specification.
Addison-Wesley, third edition, 2005.
- Don
Gotterbarn, Keith Miller, and Simon Rogerson.
Software engineering code of ethics is approved.
Communications of the ACM, 42(10):102–107, October 1999.
- Jim Gray.
The
transaction concept: Virtues and limitations.
In VLDB '1981: Proceedings of the seventh international conference on
Very Large Data Bases, pages 144–154. VLDB Endowment, 1981.
- John Grimond.
The Economist style
guide.
Also available online http://www.economist.com/research/StyleGuide/.,
2005.
- Theo
Haerder and Andreas Reuter.
Principles of transaction-oriented database recovery.
ACM Computing Surveys, 15(4):287–317, 1983.
(doi:10.1145/289.291)
- M. H. Halstead.
Elements of Software Science.
Elsevier New Holland, New York, 1977.
- Ahmed E.
Hassan, Richard C. Holt, and Audris Mockus,
editors.
2004.
Available online
http://msr.uwaterloo.ca/msr2004/MSR2004ProceedingsFINAL_IEE_Acrobat4.pdf.
- Pat Helland.
If you have too much data, then 'good enough' is good enough.
Communications of the ACM, 54:40–47, June 2011.
(doi:10.1145/1953122.1953140)
- Elisabeth Hendrickson and
Martin Fowler (editors).
The software engineering of internet software.
IEEE Software, 19(2), March/April 2002.
Special issue.
- John L. Hennessy and David A.
Patterson.
Computer Architecture: A Quantitative Approach.
Morgan Kaufmann, San Mateo, CA, second edition, 1996.
- S. M.
Henry and D. Kafura.
Software structure metrics based on information flow.
IEEE Transactions on Software Engineering, SE-7(5):510–518,
1981.
- Val Henson.
An
analysis of compare-by-hash.
In Proceedings of HotOS IX: The 9th Workshop on Hot Topics in Operating
Systems, pages 13–18, Berkeley, CA, May 2003. USENIX
Association.
- Maurice
Herlihy and J. Eliot B. Moss.
Transactional memory:
Architectural support for lock-free data structures.
In ISCA '93: Proceedings of the 20th Annual International Symposium on
Computer Architecture, pages 289–300, New York, NY, USA, 1993. ACM.
(doi:10.1145/165123.165164)
- A. R.
Hevner, S. T. March, J. Park, and
S. Ram.
Design science in information systems research.
MIS Quarterly, 28(1):75–105, 2004.
- C. A. R. Hoare.
Proof of a program: Find.
Communications of the ACM, 14(1):39–45, January 1971.
- C. A. R. Hoare.
Communicating sequential processes.
Communications of the ACM, 21(8):666–677, August 1978.
- Charles
Antony Richard Hoare.
The emperor's old clothes.
Communications of the ACM, 24(2):75–83, 1981.
(doi:10.1145/358549.358561)
- Richard C.
Holt, Andy Schürr, Susan Elliott Sim, and
Andreas Winter.
GXL: a graph-based standard exchange format for reengineering.
Science of Computer Programming, 60(2):149–170, 2006.
(doi:10.1016/j.scico.2005.10.003)
- R. C. Houghton.
Software development tools: a profile.
Computer, pages 63–70, May 1983.
- Roger
Hunt and John Shelley.
Computers and
Common Sense.
Prentice Hall, Englewood Cliffs, NJ, fourth edition, 1988.
- IBM.
IBM System/360 Principles of Operation, 1964.
- Roberto Ierusalimschy,
Luiz Henrique de Figueiredo, and Waldemar Celes
Filho.
Lua—an extensible extension language.
Software: Practice & Experience, 26(6):635–652, 1996.
(doi:10.1002/(SICI)1097-024X(199606)26:6<635::AID-SPE26>3.0.CO;2-P)
- Roberto
Ierusalimschy.
Programming in
Lua.
Lua.org, Rio de Janeiro, second edition, 2006.
- Ross
Ihaka and Robert Gentleman.
R: A language for data analysis
and graphics.
Journal of Computational and Graphical Statistics, 5(3):299–314,
September 1996.
- Motorola Inc.
M68000 16/32-bit microprocessor: Programmer's reference manual.
Ref. No. B050, 1984.
- Kathleen
Jensen and Niklaus Wirth.
PASCAL User Manual and Report.
Springer Verlag, second edition, 1975.
- Richard
Jones and Rafael Lins.
Garbage
Collection: Algorithms for Automatic Dynamic Memory Management.
Wiley, New York, 1996.
- Cliff Jones.
Systematic Software
Development using VDM.
Prentice Hall, Englewood Cliffs, NJ, 1990.
- Guy L. Steele Jr.
Growing a language.
Higher-Order and Symbolic Computation, 12:221–236, 1999.
- Dennis Kafura.
Object-Oriented
Software Design and Construction with C++.
Prentice Hall, Englewood Cliffs, NJ, 1998.
- David A. King.
The scientific impact of nations.
Nature, 430:311–316, July 2004.
- Donald E. Knuth.
Computer
science and its relation to mathematics.
The American Mathematical Monthly, 81(4):323–343, April
1947.
- Donald E. Knuth.
An empirical study of FORTRAN programs.
Software: Practice & Experience, 1:105–133, 1971.
- Donald E. Knuth.
Computer programming
as an art.
In Robert L. Ashenhurst, editor, ACM Turing Award
Lectures, pages 33–46. Addison-Wesley, Reading, MA, 1987.
- Donald E. Knuth.
Literate
Programming.
University of Chicago Press, Stanford, CA, 1992.
- Donald E. Knuth.
The Art of
Computer Programming, volume 3: Sorting and Searching.
Addison-Wesley, Reading, MA, second edition, 1998.
- Andrew
Koenig and Barbara Moo.
Ruminations on
C++: A Decade of Programming Insight and Experience.
Addison-Wesley, 1996.
- Robert
Kowalski.
Predicate logic as programming language.
In Jack L. Rosenfeld, editor, Information Processing 74,
Proceedings of IFIP congress 74, pages 569–574. International
Federation of Information Processing, North-Holland, August 1974.
- Glenn
Krasner.
Smalltalk 80: Bits of History, Words of Advice.
Addison Wesley, 1980.
- Butler W.
Lampson.
Hints
for computer system design.
Operating Systems Review, 15(5):33–48, October 1983.
- Chris
Lattner and Vikram Adve.
LLVM: A compilation framework for lifelong program analysis &
transformation.
In CGO '04: Proceedings of the 2004 International Symposium on Code
Generation and Optimization, March 2004.
(doi:10.1109/CGO.2004.1281665)
- James Lavin.
Proving almost anything: a beginner's guide to a world with infinite solutions.
IEEE Potentials, pages 6–7, February/March 1996.
- Karl Lieberherr and Ian
Holland.
Assuring
good style for object-oriented programs.
IEEE Software, 6(5):38–48, September 1989.
- Thomas A. Limoncelli and
Christine Hogan.
The Practice of
System and Network Administration.
Addison-Wesley, 2001.
- Peter Van Der
Linden.
Expert C Programming.
Prentice Hall, Englewood Cliffs, NJ, 1994.
- Joan Magretta.
What Management
Is.
The Free Press, New York, 2002.
- T. J. McCabe.
A complexity measure.
IEEE Transactions on Software Engineering, 2(4):308–320,
1976.
- Robert M. Metcalfe and
David R. Boggs.
Ethernet: Distributed packet switchig for local computer networks.
Communications of the ACM, 19(7):395–403, July 1976.
- George A. Miller.
The magical number seven, plus
or minus two: Some limits on our capacity for processing information.
Psychological Review, 63:81–97, 1956.
Also available online http://psychclassics.yorku.ca/Miller/ (December
2005).
- R. Milo,
S. Shen-Orr, S. Itzkovitz,
N. Kashtan, D. Chklovskii, and
U. Alon.
Network motifs: Simple building blocks of complex networks.
Science, 298(5594):824–827, October 2002.
(doi:10.1126/science.298.5594.824)
- Gordon E. Moore.
Cramming
more components onto integrated circuits.
Electronics, 38(8):114–117, April 1965.
- P. Naur.
Programming languages, natural languages, and mathematics.
In Proc. Second ACM Symposium on Principles of Programming
Languages, pages 137–148, January 1975.
- Jakob Nielsen.
Usability
Engineering.
Morgan Kaufmann, San Francisco, 1994.
- Object Management Group.
The
common object request broker architecture (CORBA/IIOP), December 2002.
Also available online
http://www.omg.org/technology/documents/formal/corba_iiop.htm. May
2003.
- Elliot I.
Organick.
The Multics System: An Examination of its Structure.
MIT Press, Cambridge, 1972.
- Ian Parberry.
A guide for new referees in theoretical computer science.
Information and Computation, 112(1):96–116, July 1994.
(doi:10.1006/inco.1994.1053)
- C. Northcote
Parkinson.
Parkinson's Law: The Pursuit of Progress.
John Murray, London, 1958.
- 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.
- David L. Parnas.
On the design and development of program families.
IEEE Transactions on Software Engineering, SE-2(1):1–9, March
1976.
- David A.
Patterson.
Latency lags bandwidth.
Communications of the ACM, 47(10):71–75, 2004.
- Charles Petzold.
Code: The
Hidden Language of Computer Hardware and Software.
Microsoft Press, Redmond, WA, 1999.
- Estelle M. Phillips and
Derek S. Pugh.
How to Get a
PhD.
Open University Press, Buckingham, UK, third edition, 2000.
- Roger Pressman.
Software
Engineering: A Practitioner's Approach.
McGraw-Hill, New York, sixth edition, 2004.
- Henry Rabinowitz and Chaim
Schaap.
Portable C.
Prentice Hall, Englewood Cliffs, NJ, 1990.
- Eric S. Raymond.
The Cathedral
and the Bazaar: Musings on Linux and Open Source by an Accidental
Revolutionary.
O' Reilly and Associates, Sebastopol, CA, 2001.
- Martin Richards and Colin
Whitby-Strevens.
BCPL — The Language and its Compiler.
Cambridge University Press, 1979.
- Don
Roberts, John Brant, and Ralph E. Johnson.
A refactoring tool for Smalltalk.
Theory and Practice of Object Systems, 3(4):39–42, 1997.
- James
Rumbaugh, Ivar Jacobson, and Grady Booch.
The Unified Modeling Language Reference Manual.
Addison-Wesley, Boston, MA, second edition, 2004.
- Scott D. Sagan.
The
problem of redundancy problem: Why more nuclear security forces may produce
less nuclear security.
Risk Analysis, 24(4):935–946, 2004.
- Yasushi
Saito and Marc Shapiro.
Optimistic replication.
ACM Computing Surveys, 37(1):42–81, 2005.
(doi:10.1145/1057977.1057980)
- J. H.
Saltzer, D. P. Reed, and D. D. Clark.
End-to-end arguments in system design.
ACM Transactions on Computer Systems, 2(4):277–288, November
1984.
- Peter H. Salus.
A Quarter Century of UNIX.
Addison-Wesley, Boston, MA, 1994.
- Robert W. Scheifler and James
Gettys.
X Window System: The Complete Reference to Xlib, X Protocol,
ICCCM, XLFD.
Digital Press, third edition, 1992.
- 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.
- Michael L. Scott.
Programming Language Pragmatics.
Morgan Kaufmann Publishers, San Francisco, 1999.
- Robert C.
Seacord.
Secure Coding in C and C++.
Addison-Wesley, Boston, MA, 2006.
- Robert
Sedgewick.
Algorithms in
C++: Parts 1–4 Fundamentals Data Structures Sorting Searching.
Addison-Wesley, Boston, MA, third edition, 1998.
- Robert
Sedgewick.
Algorithms in
C++: Part 5 Graph Algorithms.
Addison-Wesley, Reading, MA, third edition, 2002.
- Claude E.
Shannon.
A mathematical theory of communication.
Bell System Technical Journal, 27:379–423 and 623–656, July and
October 1948.
- Mary Shaw
and David Garlan.
Software
Architecture: Perspectives on an Emerging Discipline.
Prentice Hall, Englewood Cliffs, NJ, 1996.
- Harold A. Small,
editor.
Form and Function: Remarks on Art by Horatio Greenough.
University of California Press, Berkeley and Los Angeles, 1947.
- Alan Jay Smith.
The task
of the referee.
Computer, 23(4):65–71, 1990.
(doi:10.1109/2.55470)
- Ian
Sommerville.
Software
Engineering.
Addison-Wesley, Boston, MA, seventh edition, 2004.
- Wayne
Stevens, Glenford Myers, and Larry L.
Constantine.
Structured design.
IBM Systems Journal, 13(2):115–139, May 1974.
- Bjarne
Stroustrup.
The Design and
Evolution of C++.
Addison-Wesley, Boston, MA, 1994.
- Clemens
Szyperski.
Component
Software: Behind Object-Oriented Programming.
Addison-Wesley, Reading, MA, 1998.
- Clemens
Szyperski.
Component Software: Behind Object-Oriented Programming.
Addison-Wesley, Reading, MA, second edition, 2002.
- Frederick Winslow
Taylor.
The Principles of Scientific Management.
Institute of Industrial Engineers, 1998.
1st edition 1911.
- Teitelman and Warren et al.
InterLISP Reference Manual.
Xerox Palo Alto Research Center, Palo Alto, California, third revision edition,
1978.
- Alan M. Turing.
On computable numbers, with an application to the Entscheidungs Problem.
Proceedings of the London Mathematical Society, 2(42):230–265,
1936.
Corrections in 2(43):544–546.
- Alan M. Turing.
Computability and λ-definability.
Journal of Symbolic Logic, 2:153–163, 1937.
- David A. Turner.
Miranda — a non-strict functional language with polymorphic types.
In Jean-Pierre Jouannaud, editor, Proceedings of the
Conference on Functional Programming Languages and Computer
Architecture, pages 1–16. Springer-Verlag, September 1985.
Lecture Notes in Computer Science 201.
- UNIX
Programmer's manual, volume 1.
Holt, Rinehart and Winston, seventh edition, 1982.
- UNIX
Programmer's manual: Supplementary Documents, volume 2.
Holt, Rinehart and Winston, seventh edition, 1982.
- Viswanath Venkatesh,
Michael G. Morris, Gordon B. Davis, and
Fred D. Davis.
User acceptance of information
technology: Toward a unified view.
MIS Quarterly, 27(3):425–478, 2003.
- Georg von Krogh and Eric von
Hippel.
The promise of research on open source software.
Management Science, 52(7):975–983, July 2006.
(doi:10.1287/mnsc.1060.0560)
- Jim Waldo.
On system design.
In OOPSLA '06: Proceedings of the 21st annual ACM SIGPLAN conference on
Object-oriented programming languages, systems, and applications,
pages 467–480, New York, NY, USA, 2006. ACM Press.
(doi:10.1145/1167473.1167513)
- David H. D. Warren.
An abstract Prolog instruction set.
Technical Note 309, SRI International, Artificial Intelligence Center,
Computer Science and Technology Division, 333 Ravenswood Ave., Menlo Park,
CA, October 1983.
- Jane
Webster and Richard T. Watson.
Analyzing the past to prepare for the future: Writing a literature review.
MIS Quarterly, 26(2):xiii–xxiii, June 2002.
- Karl E. Wiegers.
Software
Requirements.
Microsoft Press, Redmond, WA, second edition, 2003.
- Norbert Wiener.
Cybernetics or Control and Communication in the Animal and the
Machine.
MIT Press, Cambridge, MA, 1948.
- Paul R.
Wilson, Mark S. Johnstone, Michael Neely, and
David Boles.
Dynamic storage
allocation: A survey and critical review.
In Henry G. Baker, editor, IWMM '95: Proceedings of the
International Workshop on Memory Management, pages 1–116, Berlin,
September 1995. Springer-Verlag.
Lecture Notes in Computer Science 986.
- Niklaus Wirth.
Algorithms + Datastructures = Programs.
Prentice–Hall, Englewood Cliffs, NJ, 1976.
- Stephen Wolfram.
Mathematica : A System for doing Mathematics by Computer.
Addison-Wesley, second edition, 1991.