Correctness the ability of software products to perform their exact tasks, as defined by their specification. Correctness defined relative to specification role of system layer, correctness determined at each layer.
Higher layer assume correctness of lower layers.
Testing Robustness the ability of software systems to react appropriately to abnormal conditions. Proofs even more difficult. Testing Extendibility the ease of adapting software products to changes of specification. Reusability the ability of software elements to serve for the construction of many different applications. Compatibility the ease of combining software elements with others.