Despite the success of knowledge-based systems in many domains, techni
ques for ensuring their quality and reliability are still immature. A
well-engineered software product is built by use of a process in which
quality issues are addressed throughout. Key processes affecting prod
uct quality are specification; verification, and validation. The proce
sses are characterized by the production of certain artifacts at certa
in times. Therefore, by looking at the artifacts produced by a specifi
c process, we can assess the quality of the resulting product, and als
o we can assess the capability of the developers to produce high-quali
ty software. This article seeks to answer precisely this question: how
can the level of capability of a supplier of knowledge-based systems
be evaluated! This question is of concern to all customers of knowledg
e-based systems and, although standards for supplier capability of con
ventional software have been developed, none addresses the unique char
acteristics of knowledge-based software. To answer the question, this
article describes a set of state-of-the-art techniques for specifying,
verifying, and validating knowledge-based systems and highlights the
artifacts associated with each. We also assess the state of the practi
ce, indicating the limited extent to which the techniques are in use a
t the present time. In addition to providing answers to the motivating
question the main objective of the article is to recommend ways in wh
ich the current state of the practice can be improved.