Full Text Available

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

Automated coverage calculation and test case generation

Thesis (MScEng)--Stellenbosch University, 2012.

Saved in:
Bibliographic Details
Main Author: Morrison, George Campbell
Other Authors: Inggs, Cornelia P.
Format: Thesis
Language:en_ZA
Published: Stellenbosch : Stellenbosch University 2012
Subjects:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1867614055889371136
access_status_str Open Access
author Morrison, George Campbell
author2 Inggs, Cornelia P.
author_browse Inggs, Cornelia P.
Morrison, George Campbell
author_facet Inggs, Cornelia P.
Morrison, George Campbell
author_sort Morrison, George Campbell
collection Thesis
dc_rights_str_mv Stellenbosch University
description Thesis (MScEng)--Stellenbosch University, 2012.
format Thesis
id oai:scholar.sun.ac.za:10019.1/20041
institution Stellenbosch University (South Africa)
language en_ZA
last_indexed 2026-06-10T12:45:58.010Z
license_str Other — see source repository
provenance_str_mv Harvested via OAI-PMH from SUNScholar — Stellenbosch University Repository
publishDate 2012
publishDateRange 2012
publishDateSort 2012
publisher Stellenbosch : Stellenbosch University
publisherStr Stellenbosch : Stellenbosch University
record_format dspace
source_str SUNScholar — Stellenbosch University Repository
spelling oai:scholar.sun.ac.za:10019.1/20041 Automated coverage calculation and test case generation Morrison, George Campbell Inggs, Cornelia P. Barnard, Arno Stellenbosch University. Faculty of Engineering. Dept. of Electrical and Electronic Engineering Program analysis Symbolic execution Coverage calculation Eclipse Dissertations -- Electronic engineering Theses -- Electronic engineering Constraint solving Thesis (MScEng)--Stellenbosch University, 2012. ENGLISH ABSTRACT: This research combines symbolic execution, a formal method of static analysis, with various test adequacy criteria, to explore the e ectiveness of using symbolic execution for calculating code coverage on a program's existing JUnit test suites. Code coverage is measured with a number of test adequacy criteria, including statement coverage, branch coverage, condition coverage, method coverage, class coverage, and loop coverage. The results of the code coverage calculation is then used to automatically generate JUnit test cases for areas of a program that are not su ciently covered. The level of redundancy of each test case is also calculated during coverage calculation, thereby identifying fully redundant, and partially redundant, test cases. The combination of symbolic execution and code coverage calculation is extended to perform coverage calculation during a manual execution of a program, allowing testers to measure the e ectiveness of manual testing. This is implemented as an Eclipse plug-in, named ATCO, which attempts to take advantage of the Eclipse workspace and extensible user interface environment to improve usability of the tool by minimizing the user interaction required to use the tool. The code coverage calculation process uses constraint solving to determine method parameter values to reach speci c areas in the program. Constraint solving is an expensive computation, so the tool was parallellised using Java's Concurrency package, to reduce the overall execution time of the tool. AFRIKAANSE OPSOMMING: Hierdie navorsing kombineer simboliese uitvoering, 'n formele metode van statiese analise, met verskeie toets genoegsaamheid kriteria, om die e ektiwiteit van die gebruik van simboliese uitvoer te ondersoek vir die berekening van kode dekking op 'n program se bestaande JUnit toets stelle. Kode dekking word gemeet deur verskeie toets genoegsaamheid kriteria, insluited stelling dekking, tak dekking, kondisie dekking, metode dekking, klas dekking, en lus dekking. Die resultate van die kode dekking berekeninge word dan gebruik om outomaties JUnit toets voorbeelde te genereer vir areas van 'n program wat nie doeltre end ondersoek word nie. Die vlak van oortolligheid van elke toets voorbeeld word ook bereken gedurende die dekkingsberekening, en daardeur word volledig oortollige, en gedeeltelik oortollige, toets voorbeelde identi seer. Die kombinasie van simboliese uitvoer en kode dekking berekening is uitgebrei deur die uitvoer van dekking berekeninge van 'n gebruiker-beheerde uitvoer, om sodoende kode dekking van 'n gebruiker-beheerde uitvoer van 'n program te meet. Dit laat toetsers toe om die e ektiwiteit van hulle beheerde uitvoer te meet. Bogenoemde word ge mplimenteer as 'n Eclipse aanvoegsel, genaamd ATCO, wat poog om voordeel te trek vanuit die Eclipse werkspasie, en die uitbreibare gebruiker oordrag omgewing, om die bruikbaarheid van ATCO te verbeter, deur die vermindering van die gebruiker interaksie wat benodig word om ATCO te gebruik. Die kode dekking berekeningsproses gebruik beperking oplossing om metode invoer waardes te bereken, om spesi eke areas in die program te bereik. Beperking oplossing is 'n duur berekening, so ATCO is geparalleliseer, met behulp van Java se Concurrency pakket, om die algehele uitvoer tyd van die program te verminder. 2012-03-09T09:03:04Z 2012-03-30T10:36:54Z 2012-03-09T09:03:04Z 2012-03-30T10:36:54Z 2012-03 Thesis http://hdl.handle.net/10019.1/20041 en_ZA Stellenbosch University 99 p. : ill. application/pdf Stellenbosch : Stellenbosch University
spellingShingle Program analysis
Symbolic execution
Coverage calculation
Eclipse
Dissertations -- Electronic engineering
Theses -- Electronic engineering
Constraint solving
Morrison, George Campbell
Automated coverage calculation and test case generation
title Automated coverage calculation and test case generation
title_full Automated coverage calculation and test case generation
title_fullStr Automated coverage calculation and test case generation
title_full_unstemmed Automated coverage calculation and test case generation
title_short Automated coverage calculation and test case generation
title_sort automated coverage calculation and test case generation
topic Program analysis
Symbolic execution
Coverage calculation
Eclipse
Dissertations -- Electronic engineering
Theses -- Electronic engineering
Constraint solving
url http://hdl.handle.net/10019.1/20041
work_keys_str_mv AT morrisongeorgecampbell automatedcoveragecalculationandtestcasegeneration