code quality dds
Bibliography
The following is an HTML-formatted bibliography list for the book:
Diomidis Spinellis. Code Quality: The Open Source Perspective.
Addison Wesley, 2006.
ISBN 0-321-16607-8.
- [AAOL94]
- Dan Ash, John Alderete, Paul W. Oman,
and Bruce Lowther.
Using software maintainability models to track code health.
In ICSM '94: Proceedings of the International Conference on Software
Maintenance, pages 154–160, Washington, DC, September 1994. IEEE
Computer Society.
- [ACL+04]
- Eric Allen, David Chase, Victor
Luchangco, Jan-Willem Maessen, and Guy L. Steele, Jr.
Object-oriented units of measurement.
In John M. Vlissides and Douglas C. Schmidt, editors, OOPSLA '04:
Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented
Programming, Systems, Languages, and Applications, pages 384–403, New
York, October 2004. ACM Press.
(doi:10.1145/1028976.1029008)
- [AHU74]
- Alfred V. Aho, John E. Hopcroft, and
Jeffrey D. Ullman.
The
Design and Analysis of Computer Algorithms.
Addison-Wesley, Reading, MA, 1974.
- [AMC03]
- Deepak Alur, Dan Malks, and John
Crupi.
Core J2EE Patterns: Best Practices and Design Strategies.
Prentice Hall, Englewood Cliffs, NJ, second edition, 2003.
- [And01]
- Ross Anderson.
Security Engineering: A Guide to Building Dependable Distributed Systems.
Wiley, New York, 2001.
- [App05]
- Apple Computer, Inc.
Code size performance guidelines.
Available online
http://developer.apple.com/documentation/Performance/Conceptual/CodeFootprint/CodeFootprint.pdf (November 2005), April 2005.
- [Ast03]
- David Astels.
Test
Driven Development: A Practical Guide.
Prentice Hall, Englewood Cliffs, NJ, 2003.
- [ASU85]
- Alfred V. Aho, Ravi Sethi, and
Jeffrey D. Ullman.
Compilers, Principles, Techniques, and Tools.
Addison-Wesley, Reading, MA, 1985.
- [Aus98]
- Matthew H. Austern.
Generic Programming and the STL: Using and Extending the C++ Standard Template
Library.
Addison-Wesley, Reading, MA, 1998.
- [Ayc03]
- John Aycock.
A brief history of just-in-time.
ACM Computing Surveys, 35(2):97–113, 2003.
(doi:10.1145/857076.857077)
- [BA04]
- Kent Beck and Cynthia Andres.
Extreme Programming Explained: Embrace Change.
Addison-Wesley, Boston, MA, second edition, 2004.
- [Bae62]
- Harry D. Baecker.
Implementing a stack.
Communications of the ACM, 5(10):505–507, 1962.
(doi:10.1145/368959.368972)
- [Bau02]
- Friedrich L. Bauer.
Decrypted Secrets: Methods and Maxims of Cryptology.
Springer Verlag, Berlin, third edition, 2002.
- [BBB+01]
- David F. Bacon, Joshua T. Bloch, Jeff
Bogda, Cliff Click, Paul Haahr, Doug Lea, Tom May, Jan-Willem Maessen,
John D. Mitchell, Kelvin Nilsen, William Pugh, and Emin Gun Sirer.
The ``double-checked locking is broken'' declaration.
Available online
http://www.cs.umd.edu/users/pugh/java/memoryModel/DoubleCheckedLocking.html (January 2006), April 2001.
- [BBM96]
- Victor R. Basili, Lionel C. Briand, and
Walcélio L. Melo.
A validation of object-oriented design metrics as quality indicators.
IEEE Transactions on Software Engineering, 22(10):751–761,
1996.
(doi:10.1109/32.544352)
- [BCR04]
- David F. Bacon, Perry Cheng, and V. T.
Rajan.
A unified theory of garbage collection.
In John M. Vlissides and Douglas C. Schmidt, editors, OOPSLA '04:
Proceedings of the 19th Annual ACM SIGPLAN Conference on Object-Oriented
Programming, Systems, Languages, and Applications, pages 50–68, New
York, October 2004. ACM Press.
(doi:10.1145/1028976.1028982)
- [BD96a]
- Matt Bishop and Michael Dilger.
Checking for race conditions in file accesses.
Computing Systems, 9(2):131–152, Spring 1996.
- [BD96b]
- Robert G. Burger and R. Kent Dybvig.
Printing floating-point numbers quickly and accurately.
In Charles N. Fisher and Michael Burke, editors, PLDI '96: Proceedings of
the ACM SIGPLAN 1996 Conference on Programming Language Design and
Implementation, pages 108–116, New York, May 1996. ACM Press.
(doi:10.1145/231379.231397)
- [BDKZ93]
- Rajiv D. Banker, Srikant M. Datar,
Chris F. Kemerer, and Dani Zweig.
Software complexity and maintenance costs.
Communications of the ACM, 36(11):81–94, 1993.
(doi:10.1145/163359.163375)
- [Ben82]
- Jon Louis Bentley.
Writing Efficient Programs.
Prentice Hall, Englewood Cliffs, NJ, 1982.
- [Ben88]
- Jon Louis Bentley.
More
Programming Pearls: Confessions of a Coder.
Addison-Wesley, Reading, MA, 1988.
- [Ben00]
- Jon Louis Bentley.
Programming Pearls.
Addison-Wesley, Boston, MA, second edition, 2000.
- [Ber84]
- Gerald M. Berns.
Assessing software maintainability.
Communications of the ACM, 27(1):14–23, 1984.
(doi:10.1145/69605.357965)
- [BFG02]
- David F. Bacon, Stephen J. Fink, and
David Grove.
Space- and time-efficient implementation of the Java object model.
In B. Magnusson, editor, ECOOP 2002 — Object-Oriented Programming:
16th European Conference, pages 111–132, Berlin, June 2002.
Springer-Verlag.
Lecture Notes in Computer Science 2374.
- [BG05]
- Joshua T. Bloch and Neal Gafter.
Java Puzzlers: Traps, Pitfalls, and Corner Cases.
Addison-Wesley, Boston, MA, 2005.
- [Blo01]
- Joshua T. Bloch.
Effective Java.
Addison-Wesley, Boston, MA, 2001.
- [BM93]
- Jon Louis Bentley and M. Douglas McIlroy.
Engineering a sort function.
Software: Practice & Experience, 23(11):1249–1265, November
1993.
- [Boe87]
- Barry W. Boehm.
Industrial software metrics top 10 list.
IEEE Software, 4(9):84–85, September 1987.
- [Boe88]
- Hans-Juergen Boehm.
Garbage collection in an uncooperative environment.
Software: Practice & Experience, 18(9):807–820, September
1988.
- [Boe05]
- Hans-Juergen Boehm.
Threads cannot be implemented as a library.
In Vivek Sarkar and Mary Hall, editors, PLDI '05: Proceedings of the 2005
ACM SIGPLAN Conference on Programming Language Design and
Implementation, pages 261–268, New York, June 2005. ACM Press.
(doi:10.1145/1065010.1065042)
- [Bou04]
- Steven R. Bourne.
Interview: Bruce Lindsay.
ACM Queue, 2(8):22–33, November 2004.
- [BRJ05]
- Grady Booch, James Rumbaugh, and Ivar
Jacobson.
The
Unified Modeling Language User Guide.
Addison-Wesley, Boston, MA, second edition, 2005.
- [Bro04]
- Aaron B. Brown.
Ooops! coping with human error in IT systems.
ACM Queue, 2(8):34–41, November 2004.
- [But97]
- David R. Butenhof.
Programming with POSIX Threads.
Addison-Wesley, Reading, MA, 1997.
- [BVB04]
- Terry Bollinger, Jeffrey Voas, and
Maarten Boasson.
Peristent software attributes.
IEEE Software, 21(6):16–18, November/December 2004.
- [BVT03]
- Rajendra K. Bandi, Vijay K. Vaishnavi,
and Daniel E. Turk.
Predicting maintenance performance using object-oriented design complexity
metrics.
IEEE Transactions on Software Engineering, 29(1):77–87, 2003.
(doi:10.1109/TSE.2003.1166590)
- [BZM02]
- Emery D. Berger, Benjamin G. Zorn, and
Kathryn S. McKinley.
Reconsidering custom memory allocation.
In Mamdouh Ibrahim and Satoshi Matsuoka, editors, OOPSLA '02: Proceedings
of the 17th ACM SIGPLAN Conference on Object-Oriented Programming, Systems,
Languages, and Applications, pages 1–12, New York, November 2002. ACM
Press.
(doi:10.1145/582419.582421)
- [CALO94]
- Don Coleman, Dan Ash, Bruce Lowther,
and Paul W. Oman.
Using metrics to evaluate software system maintainability.
Computer, 27(8):44–49, 1994.
(doi:10.1109/2.303623)
- [CBFP04]
- George Candea, Aaron B. Brown,
Armando Fox, and David A. Patterson.
Recovery-oriented computing: Building multitier dependability.
Computer, 37(11):60–67, November 2004.
- [CDK98]
- Shyam R. Chidamber, David P. Darcy, and
Chris F. Kemerer.
Managerial use of metrics for object-oriented software: An exploratory
analysis.
IEEE Transactions on Software Engineering, 24(8):629–639, 1998.
(doi:10.1109/32.707698)
- [CEK+]
- 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 (January
2006).
Updated version of the Indian Hill C Style and Coding Standards paper.
- [CGB02]
- Kenneth Chiu, Madhusudhan Govindaraju,
and Randall Bramley.
Investigating the limits of SOAP performance for scientific computing.
In The 11th IEEE International Symposium on High Performance Distributed
Computing (HPDC '02), Washington, DC, July 2002. IEEE Computer
Society.
- [CJHS95]
- S. N. Cant, D. R. Jeffery, and B. L.
Henderson-Sellers.
A conceptual model of cognitive complexity of elements of the programming
process.
Information and Software Technology, 37(7):351–362, June
1995.
- [CK94]
- Shyam R. Chidamber and Chris F. Kemerer.
A metrics suite for object oriented design.
IEEE Transactions on Software Engineering, 20(6):476–493, 1994.
(doi:10.1109/32.295895)
- [CLCG00]
- W.-K. Chen, S. Lerner, R. Chaiken,
and D. M. Gillies.
Mojo: a dynamic optimization system.
In Proceedings of the Third ACM Workshop on Feedback-Directed and Dynamic
Optimization FDDO-3, December 2000.
- [Cli90]
- William D. Clinger.
How to read floating point numbers accurately.
In PLDI '90: Proceedings of the ACM SIGPLAN 1990 Conference on
Programming Language Design and Implementation, pages 92–101, New
York, June 1990. ACM Press.
(doi:10.1145/93542.93557)
- [Cli04]
- William D. Clinger.
How to read floating point numbers accurately.
SIGPLAN Not., 39(4):360–371, 2004.
(doi:10.1145/989393.989430)
- [CNYM99]
- L.K. Chung, B.A. Nixon, E. Yu, and
J. Mylopoulos.
Non-Functional Requirements in Software Engineering.
Kluwer, Dordrecht, 1999.
- [Coc01]
- Alistair Cockburn.
Agile
Software Development.
Addison-Wesley, Boston, MA, 2001.
- [Coh81]
- Jacques Cohen.
Garbage collection of linked data structures.
ACM Computing Surveys, 13(3):339–367, September 1981.
(doi:10.1145/356850.356854)
- [Cow03]
- Michael F. Cowlishaw.
Decimal
floating-point: Algorism for computers.
In Proceedings of the 16th IEEE Symposium on Computer Arithmetic,
pages 104–111, Washington, DC, June 2003. IEEE Computer Society.
- [Cri91]
- Flavin Cristian.
Understanding fault-tolerant distributed systems.
Communications of the ACM, 34(2):56–78, 1991.
(doi:10.1145/102792.102801)
- [CSL04]
- Bryan M. Cantrill, Michael W. Shapiro,
and Adam H. Leventha.
Dynamic instrumentation of production systems.
In Andrea Arpaci-Dusseau and Remzi Arpaci-Dusseau, editors, Proceedings
of the USENIX 2004 Annual Technical Conference, pages 15–28,
Berkeley, CA, June 2004. USENIX Association.
- [CWP+00]
- Crispan Cowan, Perry Wagle, Calton Pu,
Steve Beattie, and Jonathan Walpole.
Buffer overflows: Attacks and defenses for the vulnerability of the decade.
In Proceedings of the DARPA Information Survivability Conference and
Exposition, pages 1119–1129, Washington, DC, January 2000. DARPA,
IEEE Computer Society.
(doi:10.1109/DISCEX.2000.821514)
- [Dar01]
- Joseph D. Darcy.
What everybody using the Java programming language should know about
floating-point arithmetic.
In JavaOne 2001: Sun's 2001 Worldwide Java Developer Conference.
Sun Microsystems, June 2001.
Available online
http://java.sun.com/features/2001/06/floating-point_arithmetic.pdf
(January 2006).
- [Daw97]
- Bruce Dawson.
Comparing floating point numbers.
Available online
http://www.cygnus-software.com/papers/comparingfloats/comparingfloats.htm (January 2006), 1997.
- [DCD01]
- Andrew Deitsch, David Czarnecki, and
Andy Deitsch.
Java
Internationalization.
O'Reilly and Associates, Sebastopol, CA, 2001.
- [DDZ94]
- David Detlefs, Al Dosser, and
Benjamin G. Zorn.
Memory allocation costs in large C and C++ programs.
Software: Practice & Experience, 24(6):527–542, June 1994.
- [Den70]
- Peter J. Denning.
Virtual memory.
ACM Computing Surveys, 2(3):153–189, September 1970.
- [Den80]
- Peter J. Denning.
Working sets past and present.
IEEE Transactions on Software Engineering, 6(1):64–84, January
1980.
- [Den83]
- Dorothy Elizabeth Robling Denning.
Cryptography and Data Security.
Addison-Wesley, Reading, MA, 1983.
- [Den05]
- Peter J. Denning.
The locality principle.
Communications of the ACM, 48(7):19–24, July 2005.
(doi:10.1145/1070838.1070856)
- [Dij01]
- Edsger W. Dijkstra.
My
recollections of operating system design.
Honorary Doctorate Award Lecture. Athens University of Economics and Business,
Department of Informatics, May 2001.
EWD1303—Available online
http://www.cs.utexas.edu/users/EWD/ewd13xx/EWD1303.PDF (January
2006).
- [Din04]
- Adair Dingle.
Reclaiming garbage and education: Java memory leaks.
Journal of Computing Sciences in Colleges, 20(2):8–16, 2004.
- [DKV03]
- Milenko Drinić, Darko Kirovski, and
Hoi Vo.
Code optimization for code compression.
In CGO '03: Proceedings of the International Symposium on Code
Generation and Optimization, pages 315–324, Washington, DC, March
2003. IEEE Computer Society.
- [DMPH02]
- Ulrich Drepper, Jim Meyering,
François Pinard, and Bruno Haible.
GNU
gettext tools.
Available online
http://www.gnu.org/software/gettext/manual/ps/gettext.ps.gz (January
2006), April 2002.
- [DPS02]
- Andrea De Lucia, Eugenio Pompella,
and Silvio Stefanucci.
Effort estimation for corrective software maintenance.
In Proceedings of the 14th International Conference on Software
Engineering and Knowledge Engineering (SEKE '04), pages 409–416, New
York, July 2002. ACM Press.
(doi:10.1145/568760.568831)
- [Dug04]
- Robert F. Dugan.
Performance lies my professor told me: The case for teaching software
performance engineering to undergraduates.
In WOSP '04: Proceedings of the 4th International Workshop on Software
and Performance, pages 37–48, New York, January 2004. ACM Press.
(doi:10.1145/974044.974050)
- [Ebe97]
- Christof Ebert.
Dealing with nonfunctional requirements in large software systems.
Annals of Software Engineering, 3:367–395, 1997.
- [Edw05]
- Jonathan Edwards.
Subtext: Uncovering the simplicity of programming.
In Ralph Johnson and Richard P. Gabriel, editors, OOPSLA '05: Proceedings
of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming,
Systems, Languages, and Applications, pages 505–518, New York,
October 2005. ACM Press.
(doi:10.1145/1094851)
- [EL02]
- David Evans and David Larochelle.
Improving security using extensible lightweight static analysis.
IEEE Software, 19(1):42–51, January/February 2002.
- [FAC05]
- Rodrigo Fonseca, Virgılio Almeida,
and Mark Crovella.
Locality in a web of streams.
Communications of the ACM, 48(1):82–88, January 2005.
- [Fag76]
- M. Fagan.
Design and code inspections to reduce errors in program development.
IBM Systems Journal, 15(3):182–211, 1976.
- [Fea05]
- Michael Feathers.
Working Effectively with Legacy Code.
Prentice Hall, Englewood Cliffs, NJ, 2005.
- [FLL+02]
- Cormac Flanagan, K. Rustan M. Leino,
Mark Lillibridge, Greg Nelson, James B. Saxe, and Raymie Stata.
Extended static checking for Java.
In Jens Knoop and Laurie J. Hendren, editors, PLDI '02: Proceedings of
the ACM SIGPLAN 2002 Conference on Programming Language Design and
Implementation, pages 234–245, New York, June 2002. ACM Press.
(doi:10.1145/512529.512558)
- [Fow02]
- Martin Fowler.
Patterns of Enterprise Application Architecture.
Addison-Wesley, Boston, MA, 2002.
- [Fow03]
- Martin Fowler.
UML
Distilled: A Brief Guide to the Standard Object Modeling Language.
Addison-Wesley, Boston, MA, third edition, 2003.
- [Fre95]
- The FreeBSD Project.
Style—Kernel Source File Style Guide, December 1995.
FreeBSD Kernel Developer's Manual: style(9). Available online
http://www.freebsd.org/docs.html (January 2006).
- [Fri99]
- Matteo Frigo.
A fast fourier transform compiler.
In Barbara G. Ryder and Benjamin G. Zorn, editors, PLDI '99: Proceedings
of the ACM SIGPLAN 1999 Conference on Programming Language Design and
Implementation, pages 169–180, New York, May 1999. ACM Press.
(doi:10.1145/301618.301661)
- [FS03]
- Niels Ferguson and Bruce Schneier.
Practical Cryptography.
Wiley, New York, 2003.
- [FSG04]
- Rudolf Ferenc, István Siket, and
Tibor Gyimóthy.
Extracting facts from open source software.
In ICSM '04: Proceedings of the 20th IEEE International Conference on
Software Maintenance (ICSM'04), pages 60–69, Washington, DC,
September 2004. IEEE Computer Society.
- [GHJV95]
- Erich Gamma, Richard Helm, Ralph
Johnson, and John Vlissides.
Design
Patterns: Elements of Reusable Object-Oriented Software.
Addison-Wesley, Reading, MA, 1995.
- [GK91]
- Geoffrey K. Gill and Chris F. Kemerer.
Cyclomatic complexity density and software maintenance productivity.
IEEE Transactions on Software Engineering, 17(12):1284–1288,
1991.
(doi:10.1109/32.106988)
- [GKM83]
- Susan L. Graham, Peter B. Kessler, and
Marshall K. McKusick.
An execution profiler for modular programs.
Software: Practice & Experience, 13:671–685, 1983.
- [GKM04]
- Susan L. Graham, Peter B. Kessler, and
Marshall K. McKusick.
gprof: a call graph execution profiler.
SIGPLAN Not., 39(4):49–57, 2004.
(doi:10.1145/989393.989401)
- [GKW03]
- Christoph Grein, Dmitry A. Kazakov, and
Fraser Wilson.
A survey of physical unit handling techniques in Ada.
In Jean-Pierre Rosen and Alfred Strohmeier, editors, 8th Ada-Europe
International Conference on Reliable Software Technologies, pages
258–270, Berlin, June 2003. Springer-Verlag.
Lecture Notes in Computer Science 2655.
- [Gla92]
- Robert L. Glass.
Building Quality Software.
Prentice Hall, Upper Saddle River, NJ, 1992.
- [Gol91]
- 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)
- [Gol04]
- Bernard Golden.
Succeeding with Open Source.
Addison-Wesley, Boston, MA, 2004.
- [Gol05]
- Dieter Gollmann.
Computer Security.
Wiley, New York, second edition, 2005.
- [Gra00]
- Tony Graham.
Unicode: A Primer.
Hungry Minds, Inc., New York, 2000.
- [Gül03]
- Ceki Gülü.
log4j:
The Complete Manual.
QOS.ch, Lausanne, Switzerland, 2003.
- [GvW03]
- Mark Graff and Ken van Wyk.
Secure Coding.
O'Reilly and Associates, Sebastopol, CA, 2003.
- [Har96]
- Robert Harris.
Enigma.
Ballantine Books, Beverly Hills, CA, 1996.
- [Har99]
- Elliotte R. Harold.
Java I/O.
O'Reilly and Associates, Sebastopol, CA, 1999.
- [Hau96]
- John R. Hauser.
Handling floating-point exceptions in numeric programs.
ACM Trans. Program. Lang. Syst., 18(2):139–174, 1996.
(doi:10.1145/227699.227701)
- [HF04]
- David Harel and Yishai Feldman.
Algorithmics: the Spirit of Computing.
Addison-Wesley, Reading, MA, third edition, 2004.
- [Hig02]
- Nicholas J. Higham.
Accuracy and Stability of Numerical Algorithms.
Society for Industrial and Applied Mathematic, Philadelphia, second edition,
2002.
- [HJV01]
- T. Hickey, Q. Ju, and M. H. Van
Emden.
Interval arithmetic: From principles to implementation.
J. ACM, 48(5):1038–1068, 2001.
(doi:10.1145/502102.502106)
- [HL03a]
- David L. Heine and Monica S. Lam.
A practical flow-sensitive and context-sensitive C and C++ memory leak
detector.
In Ron Cytron and Rajiv Gupta, editors, PLDI '03: Proceedings of the
ACM SIGPLAN 2003 Conference on Programming Language Design and
Implementation, pages 168–181, New York, June 2003. ACM Press.
(doi:10.1145/781131.781150)
- [HL03b]
- Michael Howard and David LeBlanc.
Writing Secure Code.
Microsoft Press, Redmond, WA, second edition, 2003.
- [HM96]
- Martin Hitz and Behzad Montazeri.
Chidamber and Kemerer's metrics suite: A measurement theory perspective.
IEEE Transactions on Software Engineering, 22(4):267–271, 1996.
(doi:10.1109/32.491650)
- [HM04]
- Greg Hoglund and Gary McGraw.
Exploiting Software: How to Break Code.
Addison-Wesley, Boston, MA, 2004.
- [HMG03]
- Jane Huffman Hayes, Naresh Mohamed, and
Tina Hong Gao.
Observe-mine-adopt (oma): an agile way to enhance software maintainability.
Journal of Software Maintenance, 15(5):297–323, 2003.
- [Hoa81]
- Charles Antony Richard Hoare.
The emperor's old clothes.
Communications of the ACM, 24(2):75–83, 1981.
(doi:10.1145/358549.358561)
- [HP90]
- John L. Hennessy and David A. Patterson.
Computer Architecture: A Quantitative Approach.
Morgan Kaufmann, San Francisco, 1990.
- [HP02]
- John L. Hennessy and David A. Patterson.
Computer Architecture: A Quantitative Approach.
Morgan Kaufmann, San Francisco, third edition, 2002.
- [HP04]
- David Hovemeyer and William Pugh.
Finding bugs is easy.
ACM SIGPLAN Notices, 39(12):92–106, December 2004.
OOPSLA 2004 Onward! Track.
- [HS96]
- Brian L. Henderson-Sellers.
Object-Oriented Metrics: Measures of Complexity.
Prentice Hall, Englewood Cliffs, NJ, 1996.
- [HS04]
- Kim Hazelwood and James E. Smith.
Exploring code cache eviction granularities in dynamic optimization systems.
In Proceedings of the International Symposium on Code Generation and
Optimization, page 89, Washington, DC, March 2004. IEEE Computer
Society.
- [HSCG96]
- Brian L. Henderson-Sellers, Larry L.
Constantine, and Ian M. Graham.
Coupling and cohesion: Towards a valid metrics suite for object-oriented
analysis and design.
Object Oriented Systems, 3(3):143–158, 1996.
- [HT00]
- Andrew Hunt and David Thomas.
The
Pragmatic Programmer: From Journeyman to Master.
Addison-Wesley, Boston, MA, 2000.
- [HT04]
- Andy Hunt and Dave Thomas.
Oo in one
sentence: Keep it dry, shy, and tell the other guy.
IEEE Software, 21(3):101–103, May/June 2004.
- [Hug04]
- Elliott Hughes.
Checking spelling in source code.
ACM SIGPLAN Notices, 39(12):32–38, December 2004.
- [Hum89]
- Watts S. Humphrey.
Managing the Software Process.
Addison-Wesley, Reading, MA, 1989.
- [HW92]
- Walter L. Heimerdinger and Chuck B.
Weinstock.
A
conceptual framework for system fault tolerance.
Technical Report CMU/SEI-92-TR-33, Carnegie Mellon University, Software
Engineering Institute, Pittsburgh, PA, October 1992.
- [HW01]
- Daniel M. Hoffman and David M. Weiss,
editors.
Software Fundamentals: Collected Papers by David L. Parnas.
Addison-Wesley, Boston, MA, 2001.
- [Ins85]
- Institute of Electrical and
Electronics Engineers.
IEEE Standard for Binary Floating-Point Arithmetic.
IEEE, New York, 1985.
ANSI/IEEE Standard 754-1985.
- [Ins87]
- Institute of Electrical and
Electronics Engineers.
IEEE Standard for Software Unit Testing.
IEEE, New York, 1987.
IEEE Standard 1008-1987.
- [Ins90]
- Institute of Electrical and
Electronics Engineers.
Glossary of Software Engineering Terminology.
IEEE, New York, 1990.
IEEE Standard 610.12-1990.
- [Ins93]
- Institute of Electrical and
Electronics Engineers.
IEEE Standard Classification for Software Anomalies.
IEEE, New York, 1993.
IEEE Standard 1044-1993.
- [Ins95]
- Institute of Electrical and
Electronics Engineers.
IEEE Guide to Classification for Software Anomalies.
IEEE, New York, 1995.
IEEE Standard 1044.1-1995.
- [Ins98a]
- Institute of Electrical and
Electronics Engineers.
Information Technology — Software Packages — Quality Requirements and
Testing.
IEEE, New York, 1998.
IEEE Standard 1465-1998 (ISO/IEC 12119:1998).
- [Ins98b]
- Institute of Electrical and
Electronics Engineers.
Software Maintenance.
IEEE, New York, 1998.
IEEE Standard 1219-1998.
- [Ins98c]
- Institute of Electrical and
Electronics Engineers.
Software Test Documentation.
IEEE, New York, 1998.
IEEE Standard 829-1998.
- [Int97]
- International Organization for
Standardization.
Information Technology — Vocabulary — Part 4: Reliability,
Maintainability and Availability.
ISO, Geneva, Switzerland, 1997.
ISO/IEC2382-14.
- [Int01]
- International Organization for
Standardization.
Software Engineering — Product Quality — Part 1: Quality
Model.
ISO, Geneva, Switzerland, 2001.
ISO/IEC 9126-1:2001(E).
- [Jac75]
- Michael A. Jackson.
Principles of Program Design.
Academic Press, London, 1975.
- [JKC04]
- Ho-Won Jung, Seung-Gweon Kim, and
Chang-Sin Chung.
Measuring software product quality: A survey of ISO/IEC 9126.
IEEE Software, 21(5):10–13, September/October 2004.
- [JL96]
- Richard Jones and Rafael Lins.
Garbage Collection: Algorithms for Automatic Dynamic Memory
Management.
Wiley, New York, 1996.
- [Joh77]
- Stephen C. Johnson.
Lint, a C program checker.
Computer Science Technical Report 65, Bell Laboratories, Murray Hill, NJ,
December 1977.
- [Jor02]
- Paul C. Jorgensen.
Software Testing: A Craftsman's Approach.
CRC Press, Boca Raton, FL, 2002.
- [Jos03]
- Andrew Josey, editor.
The
UNIX Internationalization Guide.
The Open Group, San Francisco, 2003.
- [JW98]
- Mark S. Johnstone and Paul R. Wilson.
The memory fragmentation problem: solved?
In ISMM '98: Proceedings of the 1st International Symposium on Memory
Management, pages 26–36, New York, October 1998. ACM Press.
(doi:10.1145/286860.286864)
- [Kah72]
- William Kahan.
A survey of error analysis.
In C. V. Freiman, John E. Griffith, and J. L. Rosenfeld, editors,
Proceedings of IFIP Congress 71, pages 1214–1239, Amsterdam,
August 1972. North-Holland.
- [Kah96]
- David Kahn.
The
Codebreakers: The Story of Secret Writing.
Scribner, New York, 1996.
- [Kah00]
- William Kahan.
Miscalculating area
and angles of a needle-like triangle.
Available online http://http.cs.berkeley.edu/~wkahan/Triangle.pdf (August
2004), March 2000.
- [Kan95]
- Nadine Kano.
Developing International Software for Windows 95 Windows NT.
Microsoft Press, Redmond, WA, 1995.
- [Kan02]
- Stephen H. Kan.
Metrics and Models in Software Quality Engineering.
Addison-Wesley, Boston, MA, second edition, 2002.
- [KD98]
- William Kahan and Joseph D. Darcy.
How Java's
floating-point hurts everyone everywhere.
In Workshop on Java for High-Performance Network Computing, New
York, March 1998. ACM.
Invited talk. Available online
http://www.cs.berkeley.edu/~wkahan/JAVAhurt.pdf (January 2006).
- [Ken94]
- Andrew J. Kennedy.
Dimension types.
In Proceedings of the 5th European Symposium on Programming, pages
348–362, Berlin, April 1994. Springer-Verlag.
Lecture Notes in Computer Science 788.
- [KFN99]
- Cem Kaner, Jack Falk, and Hung Quoc
Nguyen.
Testing Computer Software.
Wiley, New York, second edition, 1999.
- [Knu71]
- Donald E. Knuth.
An empirical study of FORTRAN programs.
Software: Practice & Experience, 1:105–133, 1971.
- [Knu87]
- 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.
- [Knu89]
- Donald E. Knuth.
The errors of TeX.
Software: Practice & Experience, 19(7):607–687, July 1989.
- [Knu97a]
- Donald E. Knuth.
The
Art of Computer Programming, volume 2: Seminumerical Algorithms.
Addison-Wesley, Reading, MA, third edition, 1997.
- [Knu97b]
- Donald E. Knuth.
The
Art of Computer Programming, volume 1: Fundamental Algorithms.
Addison-Wesley, Reading, MA, third edition, 1997.
- [Knu98]
- Donald E. Knuth.
The
Art of Computer Programming, volume 3: Sorting and Searching.
Addison-Wesley, Reading, MA, second edition, 1998.
- [Koe88]
- Andrew Koenig.
C
Traps and Pitfalls.
Addison-Wesley, Reading, MA, 1988.
- [KP78]
- Brian W. Kernighan and P. J. Plauger.
The
Elements of Programming Style.
McGraw-Hill, New York, second edition, 1978.
- [KP99]
- Brian W. Kernighan and Rob Pike.
The
Practice of Programming.
Addison-Wesley, Reading, MA, 1999.
- [KS02]
- Paul A. Karger and Roger R. Schell.
Thirty years later: Lessons from the Multics security
evaluation.
In ACSAC: 18th Annual Computer Security Applications Conference,
Washington, DC, October 2002. IEEE Computer Society.
Includes US Air Force report Multics Security Evaluation: Vulnerability
Analysis, ESD-TR-74-193, 1974, by the same authors.
(doi:10.1109/CSAC.2002.1176285)
- [KSS05]
- Henry F. Korth, Abraham Silberschatz,
and S. Sudarshan.
Database System Concepts.
McGraw-Hill, New York, fifth edition, 2005.
- [Kus98]
- Nathaniel A. Kushman.
Performance
nonmonotonicities: A case study of the UltraSPARC processor.
Master's thesis, MIT Department of Electrical Engineering and Computer Science,
Boston, MA, June 1998.
Available online http://supertech.lcs.mit.edu/papers/kushman-ms-thesis.ps
(September 2004).
- [Lak96]
- John Lakos.
Large-Scale C++ Software Design.
Addison-Wesley, Reading, MA, 1996.
- [Lar04]
- Craig Larman.
Applying UML and Patterns: An Introduction to Object-Oriented Analysis
and Design and the Unified Process.
Prentice Hall, Upper Saddle River, NJ, third edition, 2004.
- [LB72]
- Meir M. Lehman and Laszlo A. Belady.
An introduction to program growth dynamics.
In W. Freiberger, editor, Conference on Statistical Computer Performance
Evaluation Proceedings, pages 503–511, New York, 1972. Academic
Press.
- [LBD+04]
- James R. Larus, Thomas Ball, Manuvir
Das, Robert DeLine, Manuel Fähndrich, Jon Pincus, Sriram K. Rajamani, and
Ramanathan Venkatapathy.
Righting software.
IEEE Software, 21(3):92–100, May/June 2004.
- [Lea00]
- Doug Lea.
Concurrent Programming in Java: Design Principles and Patterns.
Addison-Wesley, Boston, MA, third edition, 2000.
- [Lei01]
- K. Rustan M. Leino.
Extended static checking: A ten-year perspective.
In Reinhard Wilhelm, editor, Informatics—10 Years Back. 10 Years
Ahead—Proceedings of the Schloss Dagstuhl Tenth Anniversary
Conference, pages 157–175, London, August 2001. Springer-Verlag.
Lecture Notes in Computer Science 2000.
- [LH89]
- Karl Lieberherr and Ian Holland.
Assuring good style for object-oriented programs.
IEEE Software, 6(5):38–48, September 1989.
- [LMT98]
- Vincent Lefèvre, Jean-Michel
Muller, and Arnaud Tisserand.
Toward
correctly rounded transcendentals.
IEEE Transactions on Computers, 47(11):1235–1243, November
1998.
- [LY99]
- Tim Lindhorn and Frank Yellin.
The
Java Virtual Machine Specification.
Addison-Wesley, Reading, MA, second edition, 1999.
- [Mag02]
- Joan Magretta.
What
Management Is.
The Free Press, New York, 2002.
- [Mar03]
- Robert C. Martin.
Agile
Software Development: Principles, Patterns, and Practices.
Prentice Hall, Upper Saddle River, NJ, 2003.
- [MBG04]
- Trevor Misfeldt, Gregory Bumgardner,
and Andrew Gray.
The
Elements of C++ Style.
Cambridge University Press, Cambridge, 2004.
- [McC93]
- Steve C McConnell.
Code
Complete : A Practical Handbook of Software Construction.
Microsoft Press, Redmond, WA, 1993.
- [McC04]
- Steve C McConnell.
Code
Complete: A Practical Handbook of Software Construction.
Microsoft Press, Redmond, WA, second edition, 2004.
- [MF99]
- Gary McGraw and Edward W. Felten.
Securing Java: Getting Down to Business with Mobile Code.
Wiley, New York, second edition, 1999.
- [MG99]
- Marshall Kirk McKusick and Gregory R.
Ganger.
Soft updates: A technique for eliminating most synchronous writes in the fast
filesystem.
In Jordan Hubbard, editor, Proceedings of the USENIX 1999 Annual
Technical Conference, Freenix Track, Berkeley, CA, June 1999. USENIX
Association.
- [MH99]
- Tobias Mayer and Tracy Hall.
A critical analysis of current OO design metrics.
Software Quality Control, 8(2):97–110, 1999.
(doi:10.1023/A:1008900825849)
- [Mil56]
- 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).
- [Min97]
- Ministry of Defence.
Requirements for
safety related software in defence equipment. part 2: Guidance.
Available online http://www.dstan.mod.uk/data/00/055/02000200.pdf
(January 2006), August 1997.
Def Stan 00-55(Part 2)/2.
- [MK04]
- Paul P. Maglio and Eser Kandogan.
Error messages: What's the problem.
ACM Queue, 2(8):50–55, November 2004.
- [MM04]
- Nimrod Megiddo and Dharmendra S. Modha.
Outperforming LRU with an adaptive replacement cache algorithm.
Computer, 37(4):58–65, April 2004.
- [MNN04]
- Marshall Kirk McKusick and George V.
Neville-Neil.
The
Design and Implementation of the FreeBSD Operating System.
Addison-Wesley, Reading, MA, 2004.
- [Mor79]
- Robert Morris.
Password security: A case history.
Communications of the ACM, 22(11):594–597, November 1979.
- [MPA05]
- Jeremy Manson, William Pugh, and
Sarita V. Adve.
The Java memory model.
In Jens Palsberg and Martin Abadi, editors, POPL '05: Proceedings of the
32nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming
Languages, pages 378–391, New York, January 2005. ACM Press.
(doi:10.1145/1040305.1040336)
- [Mur04]
- Brendan Murphy.
Automating software failure reporting.
ACM Queue, 2(8):42–48, November 2004.
- [Nie94]
- Jakob Nielsen.
Usability Engineering.
Morgan Kaufmann, San Francisco, 1994.
- [Nor98]
- Donald A. Norman.
The
Invisible Computer.
MIT Press, Cambridge, MA, 1998.
- [O'D94]
- Sandra Martin O'Donnell.
Programming for the World: How to Modify Software to Meet the Needs of
the Global Market.
Prentice Hall, Englewood Cliffs, NJ, 1994.
- [OH94]
- Paul W. Oman and Jack Hagemeister.
Construction and testing of polynomials predicting software maintainability.
J. Syst. Softw., 24(3):251–266, 1994.
(doi:10.1016/0164-1212(94)90067-1)
- [OW04]
- Scott Oaks and Henry Wong.
Java Threads.
O'Reilly and Associates, Sebastopol, CA, 3rd edition, 2004.
- [Par72]
- 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.
- [Par94]
- David L. Parnas.
Software aging.
In 16th International Conference on Software Engineering, ICSE
'94, pages 279–287, Washington, DC, May 1994. IEEE Computer Society.
Also in cite [Chapter 29]HW01.
- [Pat04]
- David A. Patterson.
Latency lags bandwidth.
Communications of the ACM, 47(10):71–75, 2004.
- [Pay02]
- Christian Payne.
On the security of open source software.
Information Systems Journal, 12(1):61–78, 2002.
- [PB03]
- Stefan Podlipnig and Laszlo
Böszörmenyi.
A survey of web cache replacement strategies.
ACM Computing Surveys, 35(4):374–398, December 2003.
- [PHA+04]
- David A. Patterson, John L.
Hennessy, Peter J. Ashenden, James R. Larus, and Daniel J. Sorin.
Computer Organization and Design : The Hardware/Software Interface.
Morgan Kaufmann, San Francisco, 2nd edition, 2004.
- [Pir91]
- Robert M. Pirsig.
Zen
and the Art of Motorcycle Maintenance.
Vintage, London, 1991.
First published in Great Britain by the Bodley Head, 1974.
- [PK03]
- Tom Perrine and Devin Kowatch.
Teracrack:
Password cracking using teraflop and petabyte resources.
Technical report, San Diego Supercomputer Center, San Diego, CA, 2003.
Available online http://security.sdsc.edu/publications/teracrack.pdf
(January 2006).
- [PP02]
- Charles P. Pfleeger and Shari Lawrence
Pfleeger.
Security in Computing.
Prentice Hall, Englewood Cliffs, NJ, third edition, 2002.
- [PP03]
- Mary Poppendieck and Tom Poppendieck.
Lean Software Development: An Agile Toolkit.
Addison-Wesley, Boston, MA, 2003.
- [Pre04]
- Roger Pressman.
Software Engineering: A Practitioner's Approach.
McGraw-Hill, New York, sixth edition, 2004.
- [PTVF02]
- William H. Press, Saul A. Teukolsky,
William T. Vetterling, and Brian P. Flannery.
Numerical Recipes in C++.
Cambridge University Press, Cambridge, second edition, 2002.
- [PV03]
- Sandeep Purao and Vijay K. Vaishnavi.
Product metrics for object-oriented systems.
ACM Computing Surveys, 35(2):191–221, 2003.
(doi:10.1145/857076.857090)
- [PvSK90]
- David L. Parnas, A. John van Schouwen,
and Shu Po Kwan.
Evaluation of safety-critical software.
Communications of the ACM, 33(6):636–648, June 1990.
(doi:10.1145/78973.78974)
- [Ras00]
- Jef Raskin.
The
Humane Interface: New Directions for Designing Interactive
Systems.
Addison-Wesley, Boston, MA, 2000.
- [RG03]
- Raghu Ramakrishnan and Johannes Gehrke.
Database Management Systems.
McGraw-Hill, New York, third edition, 2003.
- [RJB04]
- James Rumbaugh, Ivar Jacobson, and
Grady Booch.
The Unified Modeling Language Reference Manual.
Addison-Wesley, Boston, MA, second edition, 2004.
- [ROA04]
- Cristiane S. Ramos, Káthia M.
Oliveira, and Nicolas Anquetil.
Legacy software evaluation model for outsourced maintainer.
In Eighth Euromicro Working Conference on Software Maintenance and
Reengineering (CSMR'04), pages 48–57, Washington, DC, March 2004.
IEEE Computer Society.
- [Ros98]
- Linda H. Rosenberg.
Applying and
interpreting object oriented metrics.
In Software Technology Conference '98, April 1998.
Available online http://www.literateprogramming.com/ooapply.pdf (January
2006).
- [RSG99a]
- Linda H. Rosenberg, Ruth Stapko, and
Al Gallo.
Applying
object-oriented metrics.
In Sixth International Symposium on Software Metrics—Measurement for
Object-Oriented Software Projects Workshop, November 1999.
Presentation available online
http://www.software.org/metrics99/rosenberg.ppt (January 2006).
- [RSG99b]
- Linda H. Rosenberg, Ruth Stapko, and
Al Gallo.
Risk-based object oriented testing.
In Twenty-Fourth Annual Software Engineering Workshop, Greenbelt,
MD, December 1999. NASA, Software Engineering Laboratory.
Available online
http://sel.gsfc.nasa.gov/website/sew/1999/topics/rosenberg_SEW99paper.pdf (January 2006).
- [RTY+87]
- Richard Rashid, Avadis Tevanian,
Michael Young, David Golub, and Robert Baron.
Machine-independent virtual memory management for paged uniprocessor and
multiprocessor architectures.
In ASPLOS-II: Proceedings of the Second International Conference on
Architectual Support for Programming Languages and Operating Systems,
pages 31–39, Washington, DC, October 1987. IEEE Computer Society.
(doi:10.1145/36206.36181)
- [S+05]
- Richard Stallman et al.
GNU coding
standards.
Available online http://www.gnu.org/prep/standards/ (January 2006),
December 2005.
- [San04]
- Bo Sandén.
Coping with Java threads.
Computer, 37(4):20–27, April 2004.
- [SC92]
- Henry Spencer and Geoff Collyer.
#ifdef considered harmful or portability experience with C news.
In Rick Adams, editor, Proceedings of the Summer 1992 USENIX
Conference, pages 185–198, Berkeley, CA, June 1992. USENIX
Association.
- [Sch96]
- Bruce Schneier.
Applied Cryptography.
Wiley, New York, second edition, 1996.
- [Sch00]
- Bruce Schneier.
Secrets & Lies: Digital Security in a Networked World.
Wiley, New York, 2000.
- [Sch03]
- Bruce Schneier.
Beyond
Fear: Thinking Sensibly about Security in an Uncertain World.
Copernicus Books, New York, 2003.
- [Sed98]
- Robert Sedgewick.
Algorithms in C++: Parts 1–4 Fundamenals Data Structures Sorting
Searching.
Addison-Wesley, Boston, MA, third edition, 1998.
- [Sed02]
- Robert Sedgewick.
Algorithms in C++: Part 5 Graph Algorithms.
Addison-Wesley, Reading, MA, third edition, 2002.
- [Sev98]
- Charles Severance.
IEEE 754: An interview with William Kahan.
Computer, 31(3):114–115, March 1998.
- [SG84]
- Alfred Z. Spector and David Gifford.
The space shuttle primary computer system.
Communications of the ACM, 27(9):874–900, September 1984.
- [SG86]
- Alfred Z. Spector and David Gifford.
A computer science perspective of bridge design.
Communications of the ACM, 29(4):268–283, April 1986.
- [SH97]
- Douglas C. Schmidt and Tim Harrison.
Double-checked locking.
In R. C. Martin, D. Riehle, and F. Buschmann, editors, Pattern Languages
of Program Design 3, pages 363–375. Addison-Wesley, Reading, MA,
1997.
- [Sho04]
- Jim Shore.
Fail fast.
IEEE Software, 21(5):21–25, September/October 2004.
- [SMC74]
- Wayne Stevens, Glenford Myers, and
Larry L. Constantine.
Structured design.
IBM Systems Journal, 13(2):115–139, May 1974.
- [Smi97]
- Connie U. Smith.
Performance engineering for software architectures.
In COMPSAC '97: Proceedings of the 21st International Computer Software
and Applications Conference, page 166, Washington, DC, August 1997.
IEEE Computer Society.
(doi:10.1109/CMPSAC.1997.624783)
- [SO92]
- Margo Seltzer and Michael Olson.
LIBTP: Portable, modular transactions for UNIX.
In Eric Allman, editor, Proceedings of the Winter 1992 USENIX
Conference, pages 9–26, Berkeley, CA, January 1992. USENIX
Association.
- [Som04]
- Ian Sommerville.
Software Engineering.
Addison-Wesley, Boston, MA, seventh edition, 2004.
- [SP02]
- Ben Shneiderman and Catherine Plaisant.
Designing the User Interface: Strategies for Effective
Human-Computer-Interaction.
Addison-Wesley, fourth edition, 2002.
- [SP05]
- Yasushi Shinjo and Calton Pu.
Achieving efficiency and portability in systems software: A case study on
POSIX-compliant multithreaded programs.
IEEE Transactions on Software Engineering, 31(9):785–800,
September 2005.
- [Spe02]
- Alfred Z. Spector.
Challenges and opportunities in autonomic computing.
In Proceedings of the 16th International Conference on
Supercomputing, pages 96–96, New York, June 2002. ACM Press.
(doi:10.1145/514191.514193)
- [Spi98]
- Diomidis Spinellis.
A
critique of the Windows application programming interface.
Computer Standards & Interfaces, 20(1):1–8, November 1998.
(doi:10.1016/S0920-5489(98)00012-9)
- [Spi03a]
- Diomidis Spinellis.
Code Reading: The Open
Source Perspective.
Addison-Wesley, Boston, MA, 2003.
- [Spi03b]
- Diomidis Spinellis.
Reflections on trusting trust revisited.
Communications of the ACM, 46(6):112, June 2003.
(doi:10.1145/777313.777347)
- [SSAO04]
- Ioannis Samoladas, Ioannis Stamelos,
Lefteris Angelis, and Apostolos Oikonomou.
Open source software development should strive for even greater code
maintainability.
Communications of the ACM, 47(10):83–87, 2004.
(doi:10.1145/1022594.1022598)
- [Sto89]
- Clifford Stoll.
The
Cuckoo's Egg: Tracking a Spy Through a Maze of Computer Espionage.
The Bodley Head, London, 1989.
- [Sun97]
- Sun Microsystems, Inc.
Java code conventions.
Available online http://java.sun.com/docs/codeconv/ (January 2006),
September 1997.
- [SW90]
- Guy L. Steele, Jr. and Jon L. White.
How to print floating-point numbers accurately.
In PLDI '90: Proceedings of the ACM SIGPLAN 1990 Conference on
Programming Language Design and Implementation, pages 112–126, New
York, June 1990. ACM Press.
(doi:10.1145/93542.93559)
- [SW00]
- Connie U. Smith and Lloyd G. Williams.
Software performance
antipatterns.
In WOSP '00: Proceedings of the 2nd International Workshop on Software
and Performance, pages 127–136, New York, September 2000. ACM Press.
(doi:10.1145/350391.350420)
- [SW02a]
- Connie U. Smith and Lloyd G. Williams.
New software performance
antipatterns, more ways to shoot yourself in the foot.
In 28th International Conference for the Resource Management and
Performance Evaluation of Enterprise Computing Systems, Turnersville,
NJ, December 2002. Computer Measurement Group.
- [SW02b]
- Connie U. Smith and Lloyd G. Williams.
Performance Solutions: A Practical Guide to Creating Responsive, Scalable
Software.
Addison-Wesley, Boston, MA, 2002.
- [SW03]
- Connie U. Smith and Lloyd G. Williams.
Best practices for
software performance engineering.
In 29th International Conference for the Resource Management and
Performance Evaluation of Enterprise Computing Systems, Turnersville,
NJ, December 2003. Computer Measurement Group.
- [SW04]
- Guy L. Steele, Jr. and Jon L. White.
How to print floating-point numbers accurately.
SIGPLAN Not., 39(4):372–389, 2004.
(doi:10.1145/989393.989431)
- [Tan97]
- Andrew S. Tanenbaum.
Operating Systems: Design and Implementation.
Prentice Hall, Englewood Cliffs, NJ, second edition, 1997.
- [Tar83]
- Robert Endre Tarjan.
Data structures and network algorithms.
Society for Industrial and Applied Mathematics, Philadelphia, PA, 1983.
- [Tau91]
- Mark Taunton.
Compressed executables: An exercise in thinking small.
In Deborah K. Sherrer, editor, Proceedings of the Summer 1991 USENIX
Conference, pages 385–404, Berkeley, CA, June 1991. USENIX
Association.
- [Tay92]
- Dave Taylor.
Global Software: Developing Applications for the International
Market.
Springer-Verlag, New York, 1992.
- [Tho84]
- Ken L. Thompson.
Reflections on trusting trust.
Communications of the ACM, 27(8):761–763, August 1984.
- [TLSS99]
- Frank Tip, Chris Laffra, Peter F.
Sweeney, and David Streeter.
Practical experience with an application extractor for Java.
In Brent Hailpern and Linda Northrop, editors, OOPSLA '99: Proceedings
of the 14th ACM SIGPLAN Conference on Object-oriented Programming, Systems,
Languages, and Applications, pages 292–305, New York, November 1999.
ACM Press.
(doi:10.1145/320384.320414)
- [UAA+00]
- Unicode Consortium, Joan Aliprand,
Julie Allen, Rick McGowan, Joe Becker, Michael Everson, Mike Ksar, Lisa
Moore, Michel Suignard, Ken Whistler, Mark Davis, Asmus Freytag, and John
Jenkins.
The
Unicode Standard, Version 3.0.
Addison-Wesley, Boston, MA, 2000.
- [UHP93]
- Emmanuel Uren, Robert Howard, and
Tiziana Perinotti.
Software Internationalization and Localization: An Introduction.
Van Nostrand Reinhold, New York, 1993.
- [VAB+00]
- Allan Vermeulen, Scott W. Ambler,
Gregory Bumgardner, Eldon Metz, Trevor Misfeldt, Jim Shur, and Patrick
Thompson.
The
Elements of Java Style.
Cambridge University Press, Cambridge, 2000.
- [VBKM00]
- John Viega, Joshua T. Bloch,
Tadayoshi Kohno, and Gary McGraw.
ITS4: A static vulnerability scanner for C and C++ code.
In Proceedings of the 16th Annual Computer Security Applications
Conference (ACSAC'00), page 257, Washington, DC, December 2000. IEEE
Computer Society.
- [vE03]
- Robert A. van Engelen.
Pushing the SOAP envelope with web services for scientific computing.
In Liang-Jie Zhang, editor, Proceedings of the 2003 International
Conference on Web Services (ICWS '03), pages 346–354, Bogart, GA,
June 2003. CSREA Press.
- [VETL00]
- Gary V. Vaughan, Ben Elliston, Tom
Tromey, and Ian Lance Taylor.
GNU
Autoconf, Automake, and Libtool.
New Riders Publishing, Indianapolis, IN, 2000.
- [VM01]
- John Viega and Gary McGraw.
Building Secure Software: How to Avoid Security Problems the Right Way.
Addison-Wesley, Boston, MA, 2001.
- [VM03]
- John Viega and Matt Messier.
Secure
Programming Cookbook for C and C++.
O'Reilly and Associates, Sebastopol, CA, 2003.
- [VTS+04]
- Marek Vokáč, Walter Tichy,
Dag I. K. Sjøberg, Erik Arisholm, and Magne Aldrin.
A controlled experiment comparing the maintainability of programs designed with
and without design patterns—a replication in a real programming
environment.
Empirical Software Engineering, 9(3):149–195, 2004.
(doi:10.1023/B:EMSE.0000027778.69251.1f)
- [Wal91]
- Larry Wall.
Re: Ruminations on the future of perl.
Usenet Newsgroup comp.lang.perl, June 1991.
Message-id: 1991Jul13.010945.19157@netlabs.com.
- [War03]
- Henry S. Warren Jr.
Hacker's Delight.
Addison-Wesley, Boston, MA, 2003.
- [Wei98]
- Gerald M. Weinberg.
The
Psychology of Computer Programming.
Dorset House Publishing, New York, silver anniversary edition, 1998.
- [WF86]
- Terry Winograd and Fernando Flores.
Understanding Computers and Cognition: A New Foundation for
Design.
Addison-Wesley, Reading, MA, 1986.
- [WFBA00]
- David Wagner, Jeffrey S. Foster,
Eric A. Brewer, and Alexander Aiken.
A first step towards automated detection of buffer over-run vulnerabilities.
In NDSS 2000: Proceedings of the Network and Distributed System Security
Symposium, Reston, VA, February 2000. Internet Society.
- [Wie01]
- Karl E. Wiegers.
Peers Review in Software: A Practical Guide.
Addison-Wesley, Boston, MA, 2001.
- [Wie03]
- Karl E. Wiegers.
Software Requirements.
Microsoft Press, Redmond, WA, second edition, 2003.
- [Wil92]
- Paul R. Wilson.
Uniprocessor garbage collection techniques.
In Yves Bekkers and Jacques Cohen, editors, IWMM '92: Proceedings of the
International Workshop on Memory Management, pages 1–42, London,
September 1992. Springer-Verlag.
Lecture Notes in Computer Science 637.
- [WJNB95]
- 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.
- [WO95]
- Kurt D. Welker and Paul W. Oman.
Software
maintainability metrics models in practice.
Crosstalk — The Journal of Defense Software Engineering,
8(11):19–23, November/December 1995.
- [Wul72]
- William A. Wulf.
A case against the goto.
In Proceedings of the ACM Annual Conference, pages 791–797, New
York, August 1972. ACM Press.
- [YSM02]
- Ping Yu, Tarja Systä, and Hausi A.
Müller.
Predicting fault-proneness using OO metrics: An industrial case study.
In T. Gyimóthy, editor, CSMR '02: Proceedings of the 6th European
Conference on Software Maintenance and Reengineering, pages 99–107,
Washington, DC, March 2002. IEEE Computer Society.
Book homepage | Author homepage
Unless otherwise expressly stated, all original material on this page created by Diomidis Spinellis is licensed under a Creative Commons Attribution-Share Alike 3.0 Greece License.
Last modified: 2006-10-21