Skip to main content

Research Repository

Advanced Search

Mutation analysis of dynamically typed programs

Abu Hashish, Nabil

Authors

Nabil Abu Hashish



Contributors

Leonardo Bottaci
Supervisor

Abstract

The increasing use of dynamically typed programming languages brings a new challenge to software testing. In these languages, types are not checked at compile-time. Type errors must be found by testing and in general, programs written in these languages require additional testing compared to statically typed languages.

Mutation analysis (or mutation testing) has been shown to be effective in testing statically (or strongly) typed programs. In statically typed programs, the type information is essential to ensure only type-correct mutants are generated. Mutation analysis has not so far been fully used for dynamically typed programs. In dynamically typed programs, at compile-time, the types of the values held in variables are not known. Therefore, it is not clear if a variable should be mutated with number, Boolean, string, or object mutation operators.

This thesis investigates and introduces new approaches for the mutation analysis of dynamically typed programs. The first approach is a static approach that employs the static type context of variables to determine, if possible, type information and generate mutants in the manner of traditional mutation analysis. With static mutation there is the danger that the type context does not allow the precise type to be determined and so type-mutations are produced. In a type-mutation, the original and mutant expressions have a different type. These mutants may be too easily killed and if they are then they represent incompetent mutants that do not force the tester to improve the test set. The second approach is designed to avoid type-mutations. This approach requires that the types of variables are discovered. The types of variables are discovered at run-time. Using type information, it is possible to generate only type-correct mutants. This dynamic approach, although more expensive computationally, is more likely to produce high quality, difficult to kill, mutants.

Citation

Abu Hashish, N. (2013). Mutation analysis of dynamically typed programs. (Thesis). University of Hull. Retrieved from https://hull-repository.worktribe.com/output/4215632

Thesis Type Thesis
Deposit Date May 2, 2014
Publicly Available Date Feb 23, 2023
Keywords Computer science
Public URL https://hull-repository.worktribe.com/output/4215632
Additional Information Department of Computer Science, The University of Hull
Award Date Dec 1, 2013

Files

Thesis (1.8 Mb)
PDF

Copyright Statement
© 2013 Abu Hashish, Nabil. All rights reserved. No part of this publication may be reproduced without the written permission of the copyright holder.




You might also like



Downloadable Citations