Comparative language fuzz testing: Programming languages vs. fat fingers

Diomidis Spinellis*, Vassilios Karakoidas, Panos Louridas

*Corresponding author for this work

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

Abstract

We explore how programs written in ten popular programming languages are affected by small changes of their source code. This allows us to analyze the extend to which these languages allow the detection of simple errors at compile or at run time. Our study is based on a diverse corpus of programs written in several programming languages systematically perturbed using a mutation-based fuzz generator. The results we obtained prove that languages with weak type systems are significantly likelier than languages that enforce strong typing to let fuzzed programs compile and run, and, in the end, produce erroneous results. More importantly, our study also demonstrates the potential of comparative language fuzz testing for evaluating programming language designs.

Original languageEnglish
Title of host publicationSPLASH 2012
Subtitle of host publicationPLATEAU 2012 - Proceedings of the 2012 ACM 4th Annual Workshop on Evaluation and Usability of Programming Languages and Tools
Pages25-34
Number of pages10
DOIs
Publication statusPublished - 2012
Externally publishedYes
Event2012 ACM 4th Annual Workshop on Evaluation and Usability of Programming Languages and Tools, PLATEAU 2012 - Tucson, AZ, United States
Duration: 21 Oct 201221 Oct 2012

Publication series

NameSPLASH 2012: PLATEAU 2012 - Proceedings of the 2012 ACM 4th Annual Workshop on Evaluation and Usability of Programming Languages and Tools

Conference

Conference2012 ACM 4th Annual Workshop on Evaluation and Usability of Programming Languages and Tools, PLATEAU 2012
Country/TerritoryUnited States
CityTucson, AZ
Period21/10/1221/10/12

Keywords

  • Comparison
  • Fuzzing
  • Programming languages
  • Rosetta stone

Fingerprint

Dive into the research topics of 'Comparative language fuzz testing: Programming languages vs. fat fingers'. Together they form a unique fingerprint.

Cite this