mdh.sePublikationer
Ändra sökning
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf
Type-directed Generation and Shrinking for Imperative Programming Languages
Mälardalens högskola, Akademin för innovation, design och teknik.
Mälardalens högskola, Akademin för innovation, design och teknik.
2018 (Engelska)Självständigt arbete på grundnivå (kandidatexamen), 10 poäng / 15 hpStudentuppsats (Examensarbete)
Abstract [en]

Optimizing compilers are large and complex systems, potentially consisting of millions of lines of code. As a result, the implementation of an industry standard compiler can contain several serious bugs. This is alarming given the critical part that software plays in modern society. Therefore, we investigate type-directed program generation and shrinking for the testing of compilers for imperative programming languages. We implement a type-directed generator and shrinker for a subset of C in Haskell. The generator is capable of generating type-correct programs that contain variable mutations and challenging program constructs, such as while-statements and if statements. We evaluate the quality of the generated programs by measuring statement coverage of a reference interpreter and by comparing the results to reference test suite. The results show that the generated programs can surpass the test suite in terms of quality by one percentage point of coverage. To test the bug finding capabilities of the generator and the shrinker, we use them to test seven interpreters and manage to identify a total of seven bugs. Furthermore, we test the same interpreters with the reference test suite and find only three bugs. The implications of the results lead us to question the reliability of code coverage as a measure of quality for compiler test suites. Finally, we conclude that type-directed generation and shrinking is a powerful method that can be used for the testing of compilers for imperative programming languages.

Ort, förlag, år, upplaga, sidor
2018. , s. 39
Nationell ämneskategori
Datavetenskap (datalogi)
Identifikatorer
URN: urn:nbn:se:mdh:diva-39673OAI: oai:DiVA.org:mdh-39673DiVA, id: diva2:1215491
Ämne / kurs
Datavetenskap
Presentation
2018-06-04, Gamma, Högskoleplan 1, Västerås, 10:55 (Engelska)
Handledare
Examinatorer
Tillgänglig från: 2018-06-11 Skapad: 2018-06-08 Senast uppdaterad: 2018-06-11Bibliografiskt granskad

Open Access i DiVA

Type-directed Generation and Shrinking for Imperative Programming Languages(531 kB)111 nedladdningar
Filinformation
Filnamn FULLTEXT01.pdfFilstorlek 531 kBChecksumma SHA-512
27061855ee9afa5d0af60ddd9893379466f7767fb24766930562d9a72727e54d412655c01c11ff37f01d456cafd868a4a10a0ef744a9269a246dd77e814de08c
Typ fulltextMimetyp application/pdf

Sök vidare i DiVA

Av författaren/redaktören
Samuel, BodinJoel, Söderman
Av organisationen
Akademin för innovation, design och teknik
Datavetenskap (datalogi)

Sök vidare utanför DiVA

GoogleGoogle Scholar
Totalt: 111 nedladdningar
Antalet nedladdningar är summan av nedladdningar för alla fulltexter. Det kan inkludera t.ex tidigare versioner som nu inte längre är tillgängliga.

urn-nbn

Altmetricpoäng

urn-nbn
Totalt: 267 träffar
RefereraExporteraLänk till posten
Permanent länk

Direktlänk
Referera
Referensformat
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Annat format
Fler format
Språk
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Annat språk
Fler språk
Utmatningsformat
  • html
  • text
  • asciidoc
  • rtf