Factors in software quality for knowledge-based systems

Abstract The paper considers the need for quality knowledge-based software systems. The paper defines quality in terms of a manufacturing process and then relates the creation of software to manufacturing. It then considers the aspects that go towards the creation of a quality knowledge-based system: the specification, the development methodology, and the validation and verification processes that check that a product meets its specification. The paper does this by considering a set of benchmarks against which the level of quality can be measured and then how each of the aspects contributes to heighten each of the factors that contribute to the level of quality. The paper proposes that the specification, methodology, and validation criteria can all heighten the level of correctness and that if they are used collectively then the correctness of a system and hence the quality level can be raised significantly.

[1]  B GoodenoughJohn,et al.  Toward a theory of test data selection , 1975 .

[2]  Larry Kerschberg,et al.  A system development methodology for knowledge-based systems , 1989, IEEE Trans. Syst. Man Cybern..

[3]  Norman P. Bresky,et al.  Tools and Methods for the Improvement of Quality , 1990 .

[4]  Ian J. Hayes,et al.  Specification case studies , 1987 .

[5]  Jesse H. Poore Derivation of local software quality metrics (software quality circles) , 1988, Softw. Pract. Exp..

[6]  John McCarthy,et al.  Towards a Mathematical Science of Computation , 1962, IFIP Congress.

[7]  C. A. R. Hoare,et al.  An axiomatic basis for computer programming , 1969, CACM.

[8]  Hermann Kopetz Software Reliability , 1979 .

[9]  T. L. D. Regulinski,et al.  On reliability of expert systems , 1991 .

[10]  Johanna D. Moore,et al.  Enhanced Maintenance and Explanation of Expert Systems Through Explicit Models of Their Development , 1984, IEEE Transactions on Software Engineering.

[11]  Caryl L. Pettijohn Achieving quality in the development process , 1986, AT&T Technical Journal.

[12]  Nancy G. Leveson Software Safety in Computer-Controlled Systems , 1984, Computer.

[13]  John D. Musa,et al.  Software reliability - measurement, prediction, application , 1987, McGraw-Hill series in software engineering and technology.

[14]  Bev Littlewood Software reliability: achievement and assessment , 1987 .

[15]  Philip Klahr,et al.  Evaluation of expert systems: issues and case studies , 1983 .

[16]  Cliff B. Jones,et al.  Software development - a rigorous approach , 1980, Prentice Hall international series in computer science.

[17]  R. Kowalski,et al.  The relation between logic programming and logic specification , 1984, Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences.

[18]  William E. Howden,et al.  Weak Mutation Testing and Completeness of Test Sets , 1982, IEEE Transactions on Software Engineering.

[19]  David J. Smith,et al.  Engineering quality software , 1987 .

[20]  Jifeng He,et al.  Specification, analysis and refinement of interactive processes , 1990 .

[21]  Osman Balci,et al.  Validating Expert System Performance , 1987, IEEE Expert.

[22]  Barry W. Boehm,et al.  Quantitative evaluation of software quality , 1976, ICSE '76.

[23]  Nancy G Leveson,et al.  Software safety: why, what, and how , 1986, CSUR.

[24]  Maryam Alavi,et al.  An assessment of the prototyping approach to information systems development , 1984, CACM.

[25]  J. Michael Spivey,et al.  The Z notation - a reference manual , 1992, Prentice Hall International Series in Computer Science.

[26]  H. E. Dunsmore,et al.  Software engineering metrics and models , 1986 .

[27]  Rolf Stachowitz,et al.  Building validation tools for knowledge-based systems , 1987 .

[28]  Robert J. K. Jacob,et al.  Using formal specifications in the design of a human-computer interface , 1983, CACM.

[29]  Harlan D. Mills,et al.  Certifying the reliability of software , 1986, IEEE Transactions on Software Engineering.

[30]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[31]  Elaine J. Weyuker,et al.  The evaluation of program-based software test data adequacy criteria , 1988, CACM.

[32]  Robert B. Grady,et al.  Software Metrics: Establishing a Company-Wide Program , 1987 .

[33]  Thomas Downs,et al.  An Approach to the Modeling of Software Testing with Some Applications , 1985, IEEE Transactions on Software Engineering.

[34]  Peter Schnupp,et al.  An Evaluation of Prolog as a Prototyping System , 1984 .

[35]  Barry W. Boehm An Experiment in Small-Scale Application Software Engineering , 1981, IEEE Transactions on Software Engineering.

[36]  Frederick Hayes-Roth,et al.  Building expert systems , 1983, Advanced book program.

[37]  Nancy G. Leveson,et al.  Analyzing Software Safety , 1983, IEEE Transactions on Software Engineering.

[38]  J. Darlington,et al.  Functional programming and its applications , 1982 .

[39]  D. A. Turner,et al.  Miranda: A Non-Strict Functional language with Polymorphic Types , 1985, FPCA.