code quality dds

Code QualityBibliography

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


Valid XHTML 1.0! Level Triple-A conformance icon, W3C-WAI Web Content Accessibility Guidelines 1.0 Creative Commons License 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