ArbitCheck

A highly automated property-based testing tool for Java

Kohsuke Yatoh, Kazunori Sakamoto, Fuyuki Ishikawa, Shinichi Honiden

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Citation (Scopus)

Abstract

Lightweight property-based testing tools are becoming popular these days. With property-based testing, developers can test properties of the system under test against large varieties of randomly generated inputs without writing test cases. Despite the advantages of property-based testing, current property-based testing tools have a major drawback: they require developers to write generator functions for user-defined types. This is because it is difficult for a tool to infer the possible values for the type. However, user-defined generators sometimes fail to find faults by only producing overly limited varieties of values. In this paper, we present a new property-based testing tool, called ArbitCheck, which automates object generation by adapting the feedback-directed random test generation technique. With the help of feedback-directed random test generation, ArbitCheck exhaustively generates possible values of user-defined types and tests properties with them, so that it can reveal faults that are hard to find with either manually written tests or existing property-based testing tools.

Original languageEnglish
Title of host publicationProceedings - IEEE 7th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2014
PublisherIEEE Computer Society
Pages405-412
Number of pages8
ISBN (Print)9780769551944
DOIs
Publication statusPublished - 2014 Jan 1
Externally publishedYes
Event7th IEEE International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2014 - Cleveland, OH, United States
Duration: 2014 Mar 312014 Apr 4

Other

Other7th IEEE International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2014
CountryUnited States
CityCleveland, OH
Period14/3/3114/4/4

Fingerprint

Testing
Function generators
Feedback

Keywords

  • Feedback-directed random test generation
  • Java
  • Object-oriented
  • Property-based testing
  • QuickCheck
  • Random testing
  • Randoop
  • Unit testing

ASJC Scopus subject areas

  • Software

Cite this

Yatoh, K., Sakamoto, K., Ishikawa, F., & Honiden, S. (2014). ArbitCheck: A highly automated property-based testing tool for Java. In Proceedings - IEEE 7th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2014 (pp. 405-412). [6825695] IEEE Computer Society. https://doi.org/10.1109/ICSTW.2014.68

ArbitCheck : A highly automated property-based testing tool for Java. / Yatoh, Kohsuke; Sakamoto, Kazunori; Ishikawa, Fuyuki; Honiden, Shinichi.

Proceedings - IEEE 7th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2014. IEEE Computer Society, 2014. p. 405-412 6825695.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Yatoh, K, Sakamoto, K, Ishikawa, F & Honiden, S 2014, ArbitCheck: A highly automated property-based testing tool for Java. in Proceedings - IEEE 7th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2014., 6825695, IEEE Computer Society, pp. 405-412, 7th IEEE International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2014, Cleveland, OH, United States, 14/3/31. https://doi.org/10.1109/ICSTW.2014.68
Yatoh K, Sakamoto K, Ishikawa F, Honiden S. ArbitCheck: A highly automated property-based testing tool for Java. In Proceedings - IEEE 7th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2014. IEEE Computer Society. 2014. p. 405-412. 6825695 https://doi.org/10.1109/ICSTW.2014.68
Yatoh, Kohsuke ; Sakamoto, Kazunori ; Ishikawa, Fuyuki ; Honiden, Shinichi. / ArbitCheck : A highly automated property-based testing tool for Java. Proceedings - IEEE 7th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2014. IEEE Computer Society, 2014. pp. 405-412
@inproceedings{2f0c8f28ac29497ba35e6a5e4208bf3c,
title = "ArbitCheck: A highly automated property-based testing tool for Java",
abstract = "Lightweight property-based testing tools are becoming popular these days. With property-based testing, developers can test properties of the system under test against large varieties of randomly generated inputs without writing test cases. Despite the advantages of property-based testing, current property-based testing tools have a major drawback: they require developers to write generator functions for user-defined types. This is because it is difficult for a tool to infer the possible values for the type. However, user-defined generators sometimes fail to find faults by only producing overly limited varieties of values. In this paper, we present a new property-based testing tool, called ArbitCheck, which automates object generation by adapting the feedback-directed random test generation technique. With the help of feedback-directed random test generation, ArbitCheck exhaustively generates possible values of user-defined types and tests properties with them, so that it can reveal faults that are hard to find with either manually written tests or existing property-based testing tools.",
keywords = "Feedback-directed random test generation, Java, Object-oriented, Property-based testing, QuickCheck, Random testing, Randoop, Unit testing",
author = "Kohsuke Yatoh and Kazunori Sakamoto and Fuyuki Ishikawa and Shinichi Honiden",
year = "2014",
month = "1",
day = "1",
doi = "10.1109/ICSTW.2014.68",
language = "English",
isbn = "9780769551944",
pages = "405--412",
booktitle = "Proceedings - IEEE 7th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2014",
publisher = "IEEE Computer Society",

}

TY - GEN

T1 - ArbitCheck

T2 - A highly automated property-based testing tool for Java

AU - Yatoh, Kohsuke

AU - Sakamoto, Kazunori

AU - Ishikawa, Fuyuki

AU - Honiden, Shinichi

PY - 2014/1/1

Y1 - 2014/1/1

N2 - Lightweight property-based testing tools are becoming popular these days. With property-based testing, developers can test properties of the system under test against large varieties of randomly generated inputs without writing test cases. Despite the advantages of property-based testing, current property-based testing tools have a major drawback: they require developers to write generator functions for user-defined types. This is because it is difficult for a tool to infer the possible values for the type. However, user-defined generators sometimes fail to find faults by only producing overly limited varieties of values. In this paper, we present a new property-based testing tool, called ArbitCheck, which automates object generation by adapting the feedback-directed random test generation technique. With the help of feedback-directed random test generation, ArbitCheck exhaustively generates possible values of user-defined types and tests properties with them, so that it can reveal faults that are hard to find with either manually written tests or existing property-based testing tools.

AB - Lightweight property-based testing tools are becoming popular these days. With property-based testing, developers can test properties of the system under test against large varieties of randomly generated inputs without writing test cases. Despite the advantages of property-based testing, current property-based testing tools have a major drawback: they require developers to write generator functions for user-defined types. This is because it is difficult for a tool to infer the possible values for the type. However, user-defined generators sometimes fail to find faults by only producing overly limited varieties of values. In this paper, we present a new property-based testing tool, called ArbitCheck, which automates object generation by adapting the feedback-directed random test generation technique. With the help of feedback-directed random test generation, ArbitCheck exhaustively generates possible values of user-defined types and tests properties with them, so that it can reveal faults that are hard to find with either manually written tests or existing property-based testing tools.

KW - Feedback-directed random test generation

KW - Java

KW - Object-oriented

KW - Property-based testing

KW - QuickCheck

KW - Random testing

KW - Randoop

KW - Unit testing

UR - http://www.scopus.com/inward/record.url?scp=84903624779&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=84903624779&partnerID=8YFLogxK

U2 - 10.1109/ICSTW.2014.68

DO - 10.1109/ICSTW.2014.68

M3 - Conference contribution

SN - 9780769551944

SP - 405

EP - 412

BT - Proceedings - IEEE 7th International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2014

PB - IEEE Computer Society

ER -