מרק לסט

אקדמי בכיר

Using a neural network in the software testing process

Meenakshi Vanmali, Mark Last, Abraham Kandel

Software testing forms an integral part of the software development life cycle. Since the objective of testing is to ensure the conformity of an application to its specification, a test "oracle" is needed to determine whether a given test case exposes a fault or not. Using an automated oracle to support the activities of human testers can reduce the actual cost of the testing process and the related maintenance costs. In this paper, we present a new concept of using an artificial neural network as an automated oracle for a tested software system. A neural network is trained by the backpropagation algorithm on a set of test cases applied to the original version of the system. The network training is based on the "black-box" approach, since only inputs and outputs of the system are presented to the algorithm. The trained network can be used as an artificial oracle for evaluating the correctness of the output produced by new and possibly faulty versions of the software. We present experimental results of using a two-layer neural network to detect faults within mutated code of a small credit approval application. The results appear to be promising for a wide range of injected faults.

שפת פרסום אנגלית
דפים 45-62
כתב עת International Journal of Intelligent Systems
כרך 17
נושא מספר 1
סטטוס פרסום פורסם - 01.01.2002

ASJC Scopus subject areas

Software
Theoretical Computer Science
Human-Computer Interaction
Artificial Intelligence
גישה למסמך
10.1002/int.1002
קבצים וקישורים אחרים
Link to publication in Scopus