Infeasible path detection and code pattern mining

The quality of automated software testing is severely hampered by the presence of infeasible paths. These paths would cause a testing tool to consume an infinite amount of resource on trying to reach areas which are impossible to get to. Current methods of detecting infeasible paths take a long time...

Full description

Saved in:
Bibliographic Details
Main Author: Lee, Elgin Wei Sheng
Other Authors: Yeo Chai Kiat
Format: Final Year Project
Language:English
Published: 2019
Subjects:
Online Access:http://hdl.handle.net/10356/77245
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:The quality of automated software testing is severely hampered by the presence of infeasible paths. These paths would cause a testing tool to consume an infinite amount of resource on trying to reach areas which are impossible to get to. Current methods of detecting infeasible paths take a long time and require an immense amount of computing resource. Mainly due to the fact that SAT remains an NP-complete problem[1][2]. The purpose of this research would be to employ a novel method of detecting recurring code patterns among infeasible paths. This technique leverages on the observation that infeasible paths in a similar class would exhibit similar characteristics.This would allow reuse of code patterns and an increase of efficiency in detection. This research produces a tool, JSolve, which is able to mine infeasible code patterns and reuse code patterns for future detection. Ultimately, the tool would get smarter as it detects more infeasible paths and improves itselfover time. A preliminary comparison with industry tools shows an improvement in detection time and reduction of computing resources required.