学位论文详细信息
Test Clone Detection via Assertion Fingerprints
Software testing;Program analysis;Program comprehension and visualization;Electrical and Computer Engineering
Fang, Zheng
University of Waterloo
关键词: Software testing;    Program analysis;    Program comprehension and visualization;    Electrical and Computer Engineering;   
Others  :  https://uwspace.uwaterloo.ca/bitstream/10012/8831/3/Fang_Zheng.pdf
瑞士|英语
来源: UWSPACE Waterloo Institutional Repository
PDF
【 摘 要 】

Large software systems require large test suites to achieve high coverage. Test suites often employ closed unit tests that are self-contained and have no input parameters. To achieve acceptable coverage with self-contained unit tests, developers often clone existing tests and reproduce both boilerplate and essential environment setup code as well as assertions. Existing technologies such as parametrized unit tests and theories could mitigate cloning in test suites. These technologies give developers new ways to express refactorings. However, they do not help detect refactorable clones in thefirst place, which requires tedious manual effort.This thesis proposes a novel technique, assertion fingerprints, for detecting clones based on the set of assertion/fail calls in test methods.Assertion fingerprints encode the control flow around the ordered set of assertions in methods.We have implemented clone set detection using assertion fingerprints and applied it to 10 test suites for open-source Java programs. We provide an empirical study and a qualitative analysis of our results. Assertion fingerprints enable the discovery of test clones that exhibit strong structural similarities and are amenable to refactoring. Our technique delivers an overall 75% true positive rate on our benchmarks and identifies44% of the benchmark test methods as clones.

【 预 览 】
附件列表
Files Size Format View
Test Clone Detection via Assertion Fingerprints 322KB PDF download
  文献评价指标  
  下载次数:39次 浏览次数:49次