Lecture overview -- Keyboard shortcut: 'u'  Previous page: Correctness [Section] -- Keyboard shortcut: 'p'  Next page: Correctness -- Keyboard shortcut: 'n'  Lecture notes - all slides together  Annotated slide -- Keyboard shortcut: 't'  Textbook -- Keyboard shortcut: 'v'  Alphabetic index  Help page about these notes  Course home    Contracts and Assertions - slide 2 : 32

Software Qualities

A software quality is a positive property of a program

There are many different software qualities that may be considered and promoted

Quality Description Contrast
Correct Satisfies expectations, intentions, or requirements Erroneous
Robust Can resist unexpected events Fragile
Reusable Can be used in several contexts Application specific
Simple Avoids complicated solutions Complex
Testable Constructed to ease revelation of errors -
Understandable Mental manageability Cryptic
Of all software qualities correctness play a particular important role