Posts

Showing posts from 2014

Developer Quality Attributes

The quality of software depends on many inter-related attributes of the software.  Some of the more important ones are: One attribute that I think is very important but I have never seen mentioned before is what I call  debugability  or how easy it is to track down the cause of a bug.  The debugging process consists of three steps: 1. detecting the presence of a bug (aided by verifiability) 2. tracking down the root cause of the bug (aided by debugability) 3. changing the code to fix the (aided by modifiability) Sometimes the second step can be the most time-consuming; this is common in poorly written C code.  In C debugability can be greatly improved by such things as assertions (which also improves verifiability, modifiability, reliability, etc).  Other environments can greatly improve debugability, such as using Delphi or C# (w/o unsafe code). correctness the extent to which the soft- ware does what it is meant to reliability how often it cr...