Show simple item record

dc.contributor.authorHook, Daniel
dc.contributor.otherQueen's University (Kingston, Ont.). Theses (Queen's University (Kingston, Ont.))en
dc.date2009-04-19 13:34:08.943en
dc.date.accessioned2009-04-22T17:34:46Z
dc.date.available2009-04-22T17:34:46Z
dc.date.issued2009-04-22T17:34:46Z
dc.identifier.urihttp://hdl.handle.net/1974/1765
dc.descriptionThesis (Master, Computing) -- Queen's University, 2009-04-19 13:34:08.943en
dc.description.abstractCode faults can seriously degrade scientific software accuracy. Therefore, it is imperative that scientific software developers scrutinize their codes in an attempt to find these faults. This thesis explores, particularly, the efficacy of code testing as a method of scientific software code fault detection. Software engineers, as experts in code quality, have developed many code testing techniques, but many of these techniques cannot readily be applied to scientific codes for at least two reasons. First, scientific software testers do not usually have access to an ideal oracle. Second, scientific software outputs, by nature, can only be judged for accuracy and not correctness. Testing techniques developed under the assumption that these two problems can be ignored--as most have been--are of questionable value to computational scientists. To demonstrate the reality of these problems and to provide an example of how software engineers and scientists can begin to address them, this thesis discusses the development and application of a novel technique: Mutation Sensitivity Testing (MST). MST is based on traditional mutation testing, but--in place of a focus on mutant "killing"--MST focuses on assessing the mutation sensitivity of a test set. In this thesis, MST experiments are conducted using eight small numerical routines, four classes of mutation operators, and 1155 tests. The results are discussed and some conclusions are drawn. Two observations are of particular interest to computational scientists. First, it is found that oracles that exhibit uncertainties greater than (approximately) 80% of the expected output are of questionable value when they are used in the testing of scientific software. Second, it is found that a small number of carefully selected tests may be sufficient to falsify a code.en
dc.format.extent1164142 bytes
dc.format.mimetypeapplication/pdf
dc.languageenen
dc.language.isoenen
dc.relation.ispartofseriesCanadian thesesen
dc.rightsThis publication is made available by the authority of the copyright owner solely for the purpose of private study and research and may not be copied or reproduced except as permitted by the copyright laws without written authority from the copyright owner.en
dc.subjectMutation Sensitivity Testingen
dc.subjectscientific softwareen
dc.subjectsoftware testingen
dc.subjectmutation testingen
dc.subjectcode faultsen
dc.subjectcode scrutinizationen
dc.subjectoracle problemen
dc.subjecttolerance problemen
dc.titleUsing Code Mutation to Study Code Faults in Scientific Softwareen
dc.typeThesisen
dc.description.degreeMasteren
dc.contributor.supervisorDiane Kellyen
dc.contributor.departmentComputingen


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record