AutoPUT: An automated technique for retrofitting closed unit tests into parameterized unit tests

Keita Tsukamoto, Yuta Maezawa, Shinichi Honiden

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

Abstract

Parameterized unit testing is a promising technique for developers to use to facilitate the understanding of test codes. However, as a practical issue, developers might not have sufficient resources to implement parameterized unit tests (PUTs) corresponding to a vast number of closed unit tests (CUTs) in long-term software projects. Although a technique for retrofitting CUTs into PUTs was proposed, it imposes a laborious task on developers to promote parameters in CUTs. In this study, we propose a fully automated CUT-PUT retrofitting technique (called AutoPUT), which detects similar CUTs as PUT candidates by comparing their code structures. It then identifies common procedures and unique parameters to generate PUTs without degradation in terms of code coverage as compared with original CUTs. From the results of our case-study experiments on open-sourced software projects, we found that AutoPUT fully automatically generated 204 PUTs in 8.5 hours. We concluded that AutoPUT can help developers maintain test suites for building reliable software.

Original languageEnglish
Title of host publicationProceedings of the 33rd Annual ACM Symposium on Applied Computing, SAC 2018
PublisherAssociation for Computing Machinery
Pages1944-1951
Number of pages8
VolumePart F137816
ISBN (Electronic)9781450351911
DOIs
Publication statusPublished - 2018 Apr 9
Externally publishedYes
Event33rd Annual ACM Symposium on Applied Computing, SAC 2018 - Pau, France
Duration: 2018 Apr 92018 Apr 13

Other

Other33rd Annual ACM Symposium on Applied Computing, SAC 2018
CountryFrance
CityPau
Period18/4/918/4/13

Fingerprint

Retrofitting
Degradation
Testing
Experiments

Keywords

  • Junit
  • Parameterized unit testing
  • Test-suite maintenance

ASJC Scopus subject areas

  • Software

Cite this

Tsukamoto, K., Maezawa, Y., & Honiden, S. (2018). AutoPUT: An automated technique for retrofitting closed unit tests into parameterized unit tests. In Proceedings of the 33rd Annual ACM Symposium on Applied Computing, SAC 2018 (Vol. Part F137816, pp. 1944-1951). Association for Computing Machinery. https://doi.org/10.1145/3167132.3167340

AutoPUT : An automated technique for retrofitting closed unit tests into parameterized unit tests. / Tsukamoto, Keita; Maezawa, Yuta; Honiden, Shinichi.

Proceedings of the 33rd Annual ACM Symposium on Applied Computing, SAC 2018. Vol. Part F137816 Association for Computing Machinery, 2018. p. 1944-1951.

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

Tsukamoto, K, Maezawa, Y & Honiden, S 2018, AutoPUT: An automated technique for retrofitting closed unit tests into parameterized unit tests. in Proceedings of the 33rd Annual ACM Symposium on Applied Computing, SAC 2018. vol. Part F137816, Association for Computing Machinery, pp. 1944-1951, 33rd Annual ACM Symposium on Applied Computing, SAC 2018, Pau, France, 18/4/9. https://doi.org/10.1145/3167132.3167340
Tsukamoto K, Maezawa Y, Honiden S. AutoPUT: An automated technique for retrofitting closed unit tests into parameterized unit tests. In Proceedings of the 33rd Annual ACM Symposium on Applied Computing, SAC 2018. Vol. Part F137816. Association for Computing Machinery. 2018. p. 1944-1951 https://doi.org/10.1145/3167132.3167340
Tsukamoto, Keita ; Maezawa, Yuta ; Honiden, Shinichi. / AutoPUT : An automated technique for retrofitting closed unit tests into parameterized unit tests. Proceedings of the 33rd Annual ACM Symposium on Applied Computing, SAC 2018. Vol. Part F137816 Association for Computing Machinery, 2018. pp. 1944-1951
@inproceedings{611b9fee12fa48918f56428a14435dc3,
title = "AutoPUT: An automated technique for retrofitting closed unit tests into parameterized unit tests",
abstract = "Parameterized unit testing is a promising technique for developers to use to facilitate the understanding of test codes. However, as a practical issue, developers might not have sufficient resources to implement parameterized unit tests (PUTs) corresponding to a vast number of closed unit tests (CUTs) in long-term software projects. Although a technique for retrofitting CUTs into PUTs was proposed, it imposes a laborious task on developers to promote parameters in CUTs. In this study, we propose a fully automated CUT-PUT retrofitting technique (called AutoPUT), which detects similar CUTs as PUT candidates by comparing their code structures. It then identifies common procedures and unique parameters to generate PUTs without degradation in terms of code coverage as compared with original CUTs. From the results of our case-study experiments on open-sourced software projects, we found that AutoPUT fully automatically generated 204 PUTs in 8.5 hours. We concluded that AutoPUT can help developers maintain test suites for building reliable software.",
keywords = "Junit, Parameterized unit testing, Test-suite maintenance",
author = "Keita Tsukamoto and Yuta Maezawa and Shinichi Honiden",
year = "2018",
month = "4",
day = "9",
doi = "10.1145/3167132.3167340",
language = "English",
volume = "Part F137816",
pages = "1944--1951",
booktitle = "Proceedings of the 33rd Annual ACM Symposium on Applied Computing, SAC 2018",
publisher = "Association for Computing Machinery",

}

TY - GEN

T1 - AutoPUT

T2 - An automated technique for retrofitting closed unit tests into parameterized unit tests

AU - Tsukamoto, Keita

AU - Maezawa, Yuta

AU - Honiden, Shinichi

PY - 2018/4/9

Y1 - 2018/4/9

N2 - Parameterized unit testing is a promising technique for developers to use to facilitate the understanding of test codes. However, as a practical issue, developers might not have sufficient resources to implement parameterized unit tests (PUTs) corresponding to a vast number of closed unit tests (CUTs) in long-term software projects. Although a technique for retrofitting CUTs into PUTs was proposed, it imposes a laborious task on developers to promote parameters in CUTs. In this study, we propose a fully automated CUT-PUT retrofitting technique (called AutoPUT), which detects similar CUTs as PUT candidates by comparing their code structures. It then identifies common procedures and unique parameters to generate PUTs without degradation in terms of code coverage as compared with original CUTs. From the results of our case-study experiments on open-sourced software projects, we found that AutoPUT fully automatically generated 204 PUTs in 8.5 hours. We concluded that AutoPUT can help developers maintain test suites for building reliable software.

AB - Parameterized unit testing is a promising technique for developers to use to facilitate the understanding of test codes. However, as a practical issue, developers might not have sufficient resources to implement parameterized unit tests (PUTs) corresponding to a vast number of closed unit tests (CUTs) in long-term software projects. Although a technique for retrofitting CUTs into PUTs was proposed, it imposes a laborious task on developers to promote parameters in CUTs. In this study, we propose a fully automated CUT-PUT retrofitting technique (called AutoPUT), which detects similar CUTs as PUT candidates by comparing their code structures. It then identifies common procedures and unique parameters to generate PUTs without degradation in terms of code coverage as compared with original CUTs. From the results of our case-study experiments on open-sourced software projects, we found that AutoPUT fully automatically generated 204 PUTs in 8.5 hours. We concluded that AutoPUT can help developers maintain test suites for building reliable software.

KW - Junit

KW - Parameterized unit testing

KW - Test-suite maintenance

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

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

U2 - 10.1145/3167132.3167340

DO - 10.1145/3167132.3167340

M3 - Conference contribution

AN - SCOPUS:85050511778

VL - Part F137816

SP - 1944

EP - 1951

BT - Proceedings of the 33rd Annual ACM Symposium on Applied Computing, SAC 2018

PB - Association for Computing Machinery

ER -