Full Text Available

Note: Clicking the button above will open the full text document at the original institutional repository in a new window.

Testing algorithmically complex software using model programs

Dissertation (MSc (Computer Science))--University of Pretoria, 2007.

Saved in:
Bibliographic Details
Other Authors: Kourie, Derrick G.
Format: Thesis
Published: University of Pretoria 2013
Subjects:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1867613680967876608
access_status_str Open Access
author2 Kourie, Derrick G.
author_browse Kourie, Derrick G.
author_facet Kourie, Derrick G.
collection Thesis
dc_rights_str_mv © 2000, University of Pretoria. All rights reserved. The copyright in this work vests in the University of Pretoria. No part of this work may be reproduced or transmitted in any form or by any means, without the prior written permission of the University of Pretoria.
description Dissertation (MSc (Computer Science))--University of Pretoria, 2007.
format Thesis
id oai:repository.up.ac.za:2263/30583
institution University of Pretoria (South Africa)
last_indexed 2026-06-10T12:40:00.333Z
license_str Other — see source repository
provenance_str_mv Harvested via OAI-PMH from UPSpace — University of Pretoria Institutional Repository
publishDate 2013
publishDateRange 2013
publishDateSort 2013
publisher University of Pretoria
publisherStr University of Pretoria
record_format dspace
source_str UPSpace — University of Pretoria Institutional Repository
spelling oai:repository.up.ac.za:2263/30583 Testing algorithmically complex software using model programs Kourie, Derrick G. upetd@up.ac.za Manolache, Liviu-Iulian Computer software testing UCTD Dissertation (MSc (Computer Science))--University of Pretoria, 2007. This dissertation examines, based on a case study, the feasibility of using model programs as a practical solution to the oracle problem in software testing. The case study pertains especially to testing algorithmically complex software and it evaluates the approach proposed in this dissertation against testing that is based on manual outcome prediction. In essence, the experiment entailed developing a model program for testing a medium-size industrial application that implements a complex scheduling algorithm. One of the most difficult tasks in software testing is to adjudicate on whether a program passed or failed a test. Because that usually requires "predicting" the correct program outcome, the problem of devising a mechanism for correctness checking (i.e., a "test oracle") is usually referred to as the "oracle problem". In practice, the most direct solution to the oracle problem is to pre-calculate manually the expected program outcomes. However, especially for algorithmically complex software, that is usually time consuming and error-prone. Although alternatives to the manual approach have been suggested in the testing literature, only few formal experiments have been conducted to evaluate them. A potential alternative to manual outcome prediction, which is evaluated in this dissertation, is to write one or more model programs that conform to the same functional specification (or parts of that specification) as the primary program (Le., the software to be delivered). Subjected to the same input, the programs should produce identical outputs. Disagreements indicate either the presence of software faults or specification defects. The absence of disagreements does not guarantee the correctness of the results since the programs may erroneously agree on outputs. However, if the test data is adequate and the implementations are diverse, it is unlikely that the programs will consistently fail and still reach agreement. This testing approach is based on a principle that is applied primarily in software fault-tolerance: "N-version diversity". In this dissertation, the approach is called "testing using M model programs" or, in short, "M-mp testing". The advantage of M-mp testing is that the programs, together, constitute an approximate, but continuously perfecting, test oracle. Human assistance is required only to analyse and arbitrate program disagreements. Consequently, the testing process can be automated to a very large degree. The main disadvantage of the approach is the extra effort required for constructing and maintaining the model programs. The case study that is presented in this dissertation provides prima facie evidence to suggest that the M-mp approach may be more cost-effective than testing based on manual outcome prediction. Of course, the validity of such a conclusion is dependent upon the specific context in which the experiment was carried out. However, there are good indications that the results of the experiment are generally applicable to testing algorithmically complex software. Computer Science unrestricted 2013-09-07T19:22:22Z 2007-02-23 2013-09-07T19:22:22Z 2000-01-05 2007-02-23 2007-02-23 Dissertation Manolache, L-I 2000, Testing algorithmically complex software using model programs, MSc dissertation, University of Pretoria, Pretoria, viewed yymmdd < http://hdl.handle.net/2263/30583 > H555/ag http://hdl.handle.net/2263/30583 http://upetd.up.ac.za/thesis/available/etd-02232007-092757/ © 2000, University of Pretoria. All rights reserved. The copyright in this work vests in the University of Pretoria. No part of this work may be reproduced or transmitted in any form or by any means, without the prior written permission of the University of Pretoria. application/pdf University of Pretoria
spellingShingle Computer software testing
UCTD
Testing algorithmically complex software using model programs
title Testing algorithmically complex software using model programs
title_full Testing algorithmically complex software using model programs
title_fullStr Testing algorithmically complex software using model programs
title_full_unstemmed Testing algorithmically complex software using model programs
title_short Testing algorithmically complex software using model programs
title_sort testing algorithmically complex software using model programs
topic Computer software testing
UCTD
url http://hdl.handle.net/2263/30583
http://upetd.up.ac.za/thesis/available/etd-02232007-092757/