The quality of a software product is usually evaluated by using a set of Software Quality Metrics (SQM) including correctness, efficiency, flexibility, maintainability, reusability, testability, and so on. Software products can be viewed as the composition of a series of programs using programming constructs and mechanisms existing in the programming language. One of the important factors that affects software quality is the programming language used in the software implementation. In this paper, we discuss the influence of programming constructs and mechanisms on software quality. Specifically, we propose an SQM that reflects the influence of programming constructs and mechanisms on software quality. How each of these programming constructs and mechanisms affects software quality will be discussed in detail. To support our discussion, four programming languages have been chosen to compare their abilities in supporting software quality by examining their programming constructs and mechanisms. From the evaluation results, programming constructs and mechanisms that support/damage software quality are identified.

Received April 14, 1993; revised January 11, 1994.
Communicated by Y. S. Kuo.
*An earlier version of this paper has been presented in the National Computer Symposium, NSC 91.
This research project is supported by the National Science Council under the contract # NSC 79-0408-E-009-18.