Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Automated Random Testing in Multiple Dispatch Languages
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.
Blekinge Institute of Technology, Faculty of Computing, Department of Software Engineering.ORCID iD: 0000-0002-5179-4205
2017 (English)In: Proceedings - 10th IEEE International Conference on Software Testing, Verification and Validation, ICST 2017, IEEE Computer Society, 2017, p. 333-344Conference paper, Published paper (Refereed)
Abstract [en]

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.

Place, publisher, year, edition, pages
IEEE Computer Society, 2017. p. 333-344
Keywords [en]
Probability distributions, Verification, Built-in functions, Data type, Effective testing, Random testing, Runtimes, Technical computing, Test efficiency, Test inputs, Software testing
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:bth-14899DOI: 10.1109/ICST.2017.37ISI: 000403393600030Scopus ID: 2-s2.0-85020711461ISBN: 9781509060313 (print)OAI: oai:DiVA.org:bth-14899DiVA, id: diva2:1120328
Conference
10th IEEE International Conference on Software Testing, Verification and Validation, ICST,Tokyo
Available from: 2017-07-06 Created: 2017-07-06 Last updated: 2023-06-30Bibliographically approved

Open Access in DiVA

No full text in DiVA

Other links

Publisher's full textScopus

Authority records

Poulding, SimonFeldt, Robert

Search in DiVA

By author/editor
Poulding, SimonFeldt, Robert
By organisation
Department of Software Engineering
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar

doi
isbn
urn-nbn

Altmetric score

doi
isbn
urn-nbn
Total: 41 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf