Abstract
Finding and documenting bugs in software systems is an essential component of the software development process. A bug is defined as a series of steps that produces behavior which differs from the software specification and requirements. Finding steps to produce such behavior requires expert knowledge of the possible operations of the software in development as well as intuition and creativity. This thesis proposes the Directed Action Node Input Execution Language (DANIEL), a language that represents test cases as directed graphs, where each node represents an action, and possible input arguments for each action are represented along the incoming directed edges. With this representation, it is possible to form a union of all recorded test cases, making a combined directed graph which represents all of the paths of interaction with the developing software. This thesis demonstrates how DANIEL can generate prioritized test cases for a web form application, while also preserving workflow context. Using a graph built on Selenium test cases, we evaluate a random walk, a weighted walk, and model-weighted walks integrating logistic regression and XGBoost to compute the relevant probabilities. We find that the weighted walk discovers the most bugs while the model-weighted walk provides the most meaningful coverage.
Library of Congress Subject Headings
Debugging in computer science--Automation; Computer software--Testing--Automation
Publication Date
3-9-2021
Document Type
Thesis
Student Type
Graduate
Degree Name
Computer Science (MS)
Department, Program, or Center
Computer Science (GCCIS)
Advisor
Alex Ororbia II
Advisor/Committee Member
Carlos Rivero
Advisor/Committee Member
Michael Mior
Recommended Citation
Peechatt, Michael G., "DANIEL: Towards Automated Bug Discovery By Black Box Test Case Generation & Recommendation" (2021). Thesis. Rochester Institute of Technology. Accessed from
https://repository.rit.edu/theses/10702
Campus
RIT – Main Campus
Plan Codes
COMPSCI-MS