Analyzing Test Completeness for Dynamic Languages

Christoffer Quist Adamsen, Gianluca Mezzetti, Anders Møller

Research output: Contribution to book/anthology/report/proceedingArticle in proceedingsResearchpeer-review

1 Citation (Scopus)
283 Downloads (Pure)

Abstract

In dynamically typed programming languages, type errors can occur at runtime. Executing the test suites that often accompany programs may provide some confidence about absence of such errors, but generally without any guarantee. We present a program analysis that can check whether a test suite has sufficient coverage to prove a given type-related property, which is particularly challenging for program code with overloading and value dependent types. The analysis achieves a synergy between scalable static analysis and dynamic analysis that goes beyond what can be accomplished by the static analysis alone. Additionally, the analysis provides a new coverage adequacy metric for the completeness of a test suite regarding a family of type-related properties. Based on an implementation for Dart, we demonstrate how such a hybrid static/dynamic program analysis can be used for measuring the quality of a test suite with respect to showing absence of type errors and inferring sound call graph information, specifically for program code that is difficult to handle by traditional static analysis techniques.

Original languageEnglish
Title of host publicationISSTA 2016 - Proceedings of the 25th International Symposium on Software Testing and Analysis : ISSTA 2016
Number of pages12
Place of publicationNew York, NY, USA
PublisherAssociation for Computing Machinery
Publication dateJul 2016
Pages142-153
ISBN (Electronic)978-1-4503-4390-9
DOIs
Publication statusPublished - Jul 2016
EventProceedings of the 25th International Symposium on Software Testing and Analysis - Saarland University, Saarbrücken, Germany
Duration: 18 Jul 201620 Jul 2016
Conference number: 25
http://issta2016.cispa.saarland/

Conference

ConferenceProceedings of the 25th International Symposium on Software Testing and Analysis
Number25
LocationSaarland University
Country/TerritoryGermany
CitySaarbrücken
Period18/07/201620/07/2016
Internet address

Keywords

  • Dart
  • Program testing
  • Static analysis
  • Type checking

Fingerprint

Dive into the research topics of 'Analyzing Test Completeness for Dynamic Languages'. Together they form a unique fingerprint.

Cite this