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...
Saved in:
Main Author: | |
---|---|
Other Authors: | |
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 |
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. |
---|