Search: onr:"swepub:oai:DiVA.org:bth-14899" >
Automated Random Te...
Automated Random Testing in Multiple Dispatch Languages
-
- Poulding, Simon (author)
- Blekinge Tekniska Högskola,Institutionen för programvaruteknik
-
- Feldt, Robert (author)
- Blekinge Tekniska Högskola,Institutionen för programvaruteknik
-
(creator_code:org_t)
- IEEE Computer Society, 2017
- 2017
- English.
-
In: Proceedings - 10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017. - : IEEE Computer Society. - 9781509060313 ; , s. 333-344
- Related links:
-
https://urn.kb.se/re...
-
show more...
-
https://doi.org/10.1...
-
show less...
Abstract
Subject headings
Close
- In programming languages that use multiple dispatch, a single function can have multiple implementations, each of which may specialise the function's operation. Which one of these implementations to execute is determined by the data types of all the arguments to the function. Effective testing of functions that use multiple dispatch therefore requires diverse test inputs in terms of the data types of the input's arguments as well as their values. In this paper we describe an approach for generating test inputs where both the values and types are chosen probabilistically. The approach uses reflection to automatically determine how to create inputs with the desired types, and dynamically updates the probability distribution from which types are sampled in order to improve both the test efficiency and efficacy. We evaluate the technique on 247 methods across 9 built-in functions of Julia, a technical computing language that applies multiple dispatch at runtime. In the process, we identify three real faults in these widely-used functions. © 2017 IEEE.
Subject headings
- NATURVETENSKAP -- Data- och informationsvetenskap -- Programvaruteknik (hsv//swe)
- NATURAL SCIENCES -- Computer and Information Sciences -- Software Engineering (hsv//eng)
Keyword
- Probability distributions
- Verification
- Built-in functions
- Data type
- Effective testing
- Random testing
- Runtimes
- Technical computing
- Test efficiency
- Test inputs
- Software testing
Publication and Content Type
- ref (subject category)
- kon (subject category)
Find in a library
To the university's database