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.