Aarhus University Seal

Analyzing Test Completeness for Dynamic Languages

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


  • 2,1

    Accepted manuscript, 1.23 MB, PDF document



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 yearJul 2016
ISBN (electronic)978-1-4503-4390-9
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


ConferenceProceedings of the 25th International Symposium on Software Testing and Analysis
LocationSaarland University

    Research areas

  • Dart, Program testing, Static analysis, Type checking

See relations at Aarhus University Citationformats

Download statistics

No data available

ID: 101006751