Code Quality: The Open Source Perspective

Front Cover
Adobe Press, Apr 3, 2006 - Computers - 608 pages

  • Page 26: How can I avoid off-by-one errors?
  • Page 143: Are Trojan Horse attacks for real?
  • Page 158: Where should I look when my application can't handle its workload?
  • Page 256: How can I detect memory leaks?
  • Page 309: How do I target my application to international markets?
  • Page 394: How should I name my code's identifiers?
  • Page 441: How can I find and improve the code coverage of my tests?

Diomidis Spinellis' first book, Code Reading, showed programmers how to understand and modify key functional properties of software. Code Quality focuses on non-functional properties, demonstrating how to meet such critical requirements as reliability, security, portability, and maintainability, as well as efficiency in time and space.

Spinellis draws on hundreds of examples from open source projects--such as the Apache web and application servers, the BSD Unix systems, and the HSQLDB Java database--to illustrate concepts and techniques that every professional software developer will be able to appreciate and apply immediately.

Complete files for the open source code illustrated in this book are available online at: http://www.spinellis.gr/codequality/



 

Contents

Introduction
1
Reliability
17
Security
101
Time Perfomance
151
Space Performance
207
Portability
289
Maintainability
325
FloatingPoint Arithmetic
465
Source Code Credits
503
Bibliography
505
Index
523
Copyright

Other editions - View all

Common terms and phrases

Popular passages

Page 3 - Please tell Microsoft about this problem. We have created an error report that you can send to help us improve Microsoft Visual FoxPro 9.0.
Page 17 - Investment in reliability will increase until it exceeds the probable cost of errors, or until someone insists on getting some useful work done.

About the author (2006)

Diomidis Spinellis has been developing the concepts presented in this book since 1985, while also writing groundbreaking software applications and working on multimillion-line code bases. Spinellis holds an M.Eng. degree in software engineering and a Ph.D. in computer science from Imperial College London. Currently he is an associate professor in the Department of Management Science and Technology at the Athens University of Economics and Business.

Bibliographic information