You are on page 1of 2

Software Engineering

Last assignment: A report about a research paper


Student: Elmunther Hejazi 322

Problem statement:
Software testing approach is an expensive and time consuming process and lots of human effort
is needed if there is a large set of test cases.
Building an oracle cuts down cost and saves time but the availability of test oracles that can
show failing executions is the biggest obstacle of automated software testing.

Paper contribution:
The purpose of this paper is to present an investigation and an evaluation study for test oracles
based on machine-learning approaches to test oracle construction in terms of effectiveness when
they are applied to medium-sized subject systems and comparing their effectiveness with
existing techniques from the specification mining domain (the data invariant detector Daikon).
Also this paper discusses the major limitations and the most important properties related to the
application of machine learning techniques as test oracles and gives a road map for further
research direction to deal with the discussed limitations.
Research methodology:
An empirical evaluation study, which investigates the effectiveness of automated test oracles
based on unsupervised/semi-supervised machine learning techniques and dynamic analysis
techniques (i.e. Daikon). Effectiveness in this case considers various components: accuracy,
recall, and the false positive rate.
As a basis for this evaluation study, the key components from experiments carried out in earlier
studies for the authors were employed. The same subject systems from the Software
Infrastructure Repository, tools, configuration, parameters and environment were used. The main
components of the experiments are: a set of programs with known failures.
Three studies have been performed each study examines possible practical scenarios to construct
automated test oracles based on machine learning techniques with two different sets of dynamic
execution data (input/output pairs only or input/output pairs augmented with execution traces) as
follows:
(1) For unsupervised learning scenario, testers have test data but they do not have advance
knowledge about passing and failing outcomes.
(2) For semi-supervised learning scenario, testers have test data and they are able to label
both normal (passing) and abnormal (failing) tests, or label normal (passing) tests alone.
(3) Testers use the cheap results of unsupervised learning techniques as input to semi
supervised/supervised learning techniques in the case of no label tests available.
(4) A comparison between existing techniques from the specification mining domain
(Daikon) and machine learning techniques is reported.

Practical benefits and issues:


Benefits Issues
 Test oracles based on machine learning  The clear issue of this study is the
techniques have slightly lower false positive rate generalizability of the results which are
compare to Daikon. limited to three subject programs which
 Automated test oracles based on semisupervised cannot be said to form a representative set.
techniques have the lowest false positive rate
compare to unsupervised learning techniques  Also there are number of barriers for the
and Daikon, and also the highest fault detection approaches to become practically usable
ability. which fall into the categories of scalability
 Automated test oracles based on unsupervised and accuracy.
techniques have slightly higher fault detection
ability compared to Daikon , but a similar false
positive rate.

You might also like