Further Reading
- 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.
 
- David Astels.
Test Driven
  Development: A Practical Guide.
Prentice Hall, Englewood Cliffs, NJ, 2003.
 
- 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)
 
- 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)
 
- 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)
 
- Gerald M. Berns.
Assessing software maintainability.
Communications of the ACM, 27(1):14–23, 1984.
(doi:10.1145/69605.357965)
 
- Terry Bollinger,
  Jeffrey Voas, and Maarten Boasson.
Persistent software attributes.
IEEE Software, 21(6):16–18, November/December 2004.
 
- 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.
 
- 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.
 
- 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)
 
- 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)
 
- 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)
 
- 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)
 
- 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)
 
- Michael E. Fagan.
Design and
  code inspections to reduce errors in program development.
IBM Systems Journal, 15(3):182–211, 1976.
 
- 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.
 
- 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).
 
- Erich Gamma, Richard
  Helm, Ralph Johnson, and John Vlissides.
Design
  Patterns: Elements of Reusable Object-Oriented Software.
Addison-Wesley, Reading, MA, 1995.
 
- 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)
 
- Robert L. Glass.
Building
  Quality Software.
Prentice Hall, Upper Saddle River, NJ, 1992.
 
- Ceki Gülü.
log4j: The
  Complete Manual.
QOS.ch, Lausanne, Switzerland, 2003.
 
- 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.
 
- 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.
 
- Brian L.
  Henderson-Sellers.
Object-Oriented Metrics: Measures of Complexity.
Prentice Hall, Englewood Cliffs, NJ, 1996.
 
- 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)
 
- Elliott Hughes.
Checking spelling in source code.
ACM SIGPLAN Notices, 39(12):32–38, December 2004.
 
- Andrew Hunt and David
  Thomas.
The Pragmatic
  Programmer: From Journeyman to Master.
Addison-Wesley, Boston, MA, 2000.
 
- 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.
 
- Institute of Electrical and Electronics Engineers.
IEEE Standard for Software Unit Testing.
IEEE, New York, 1987.
IEEE Standard 1008-1987.
 
- Institute of Electrical and Electronics Engineers.
Glossary of Software Engineering Terminology.
IEEE, New York, 1990.
IEEE Standard 610.12-1990.
 
- 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).
 
- Institute of Electrical and Electronics Engineers.
Software Maintenance.
IEEE, New York, 1998.
IEEE Standard 1219-1998.
 
- Institute of Electrical and Electronics Engineers.
Software Test Documentation.
IEEE, New York, 1998.
IEEE Standard 829-1998.
 
- International Organization for Standardization.
Information Technology — Vocabulary — Part 14: Reliability,
  Maintainability and Availability.
ISO, Geneva, Switzerland, 1997.
ISO/IEC2382-14.
 
- International Organization for Standardization.
Software Engineering — Product Quality — Part 1: Quality
  Model.
ISO, Geneva, Switzerland, 2001.
ISO/IEC 9126-1:2001(E).
 
- Paul C. Jorgensen.
Software
  Testing: A Craftsman's Approach.
CRC Press, Boca Raton, FL, 2002.
 
- Stephen H. Kan.
Metrics and
  Models in Software Quality Engineering.
Addison-Wesley, Boston, MA, second edition, 2002.
 
- Cem Kaner, Jack Falk, and
  Hung Quoc Nguyen.
Testing
  Computer Software.
Wiley, New York, second edition, 1999.
 
- Brian W. Kernighan
  and Rob Pike.
The Practice of
  Programming.
Addison-Wesley, Reading, MA, 1999.
 
- Brian W. Kernighan
  and P. J. Plauger.
The Elements of
  Programming Style.
McGraw-Hill, New York, second edition, 1978.
 
- John Lakos.
Large-Scale
  C++ Software Design.
Addison-Wesley, Reading, MA, 1996.
 
- 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.
 
- 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.
 
- Karl Lieberherr
  and Ian Holland.
Assuring good style for object-oriented programs.
IEEE Software, 6(5):38–48, September 1989.
 
- Robert C. Martin.
Agile Software
  Development: Principles, Patterns, and Practices.
Prentice Hall, Upper Saddle River, NJ, 2003.
 
- 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)
 
- Steve C McConnell.
Code Complete:
  A Practical Handbook of Software Construction.
Microsoft Press, Redmond, WA, second edition, 2004.
 
- 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).
 
- Trevor Misfeldt,
  Gregory Bumgardner, and Andrew Gray.
The Elements of
  C++ Style.
Cambridge University Press, Cambridge, 2004.
 
- 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)
 
- 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)
 
- David Lorge Parnas.
On the criteria to be used for decomposing systems into modules.
Communications of the ACM, 15(12):1053–1058, December 1972.
Also in [HW01] pp. 145–155.
 
- David L. Parnas.
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.
 
- 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)
 
- 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.
 
- 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).
 
- 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).
 
- 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).
 
- 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)
 
- Jim Shore.
Fail fast.
IEEE Software, 21(5):21–25, September/October 2004.
 
- Diomidis Spinellis.
Code Quality: The Open Source Perspective, chapter 7.
Addison-Wesley, Boston, MA, 2006.
 
- Richard Stallman
  et al.
GNU coding
  standards.
Available online http://www.gnu.org/prep/standards/ (January 2006),
  December 2005.
 
- Wayne Stevens, Glenford
  Myers, and Larry L. Constantine.
Structured design.
IBM Systems Journal, 13(2):115–139, May 1974.
 
- Sun
  Microsystems, Inc.
Java code conventions.
Available online http://java.sun.com/docs/codeconv/ (January 2006),
  September 1997.
 
- 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.
 
- 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)
 
- 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.
 
- Karl E. Wiegers.
Peers Review in
  Software: A Practical Guide.
Addison-Wesley, Boston, MA, 2001.
 
- 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.