| Title | Wilber, Brandon MCS_2026 |
| Alternative Title | Unsupervised Statement Reduction of Java Unit Tests Experiencing Failure |
| Creator | Wilber, Brandon |
| Contributors | Christi, Arpit (advisor) |
| Collection Name | Master of Computer Science |
| Abstract | Software development often results in a massive volume of logical statements that depend on each other, as well as often influencing and building on each other. Programs composed of these statements can fail both programmatically by breaking existing rules within the project structure, or compiler checks, as well as logically ¬¬¬- a functioning program often requires configured test cases to validate logic because these failures will usually not crash the program. When a program crashes, or fails a test case, the environment the program is running in will attempt to reference a line of code where it believes the user can start the investigation into what has happened. Due to the nature of a program changing as it is executed, this starting point may not be incredibly helpful and locating the source of the fault can require traveling through a large amount of the codebase and become a massive time investment. Determining what code is required to maintain the existing failure allows irrelevant code to be hidden, or removed, to greatly simplify locating the cause for errors and maintaining the codebase as it evolves. A tool can be constructed to automate this process. Running externally, this program can modify a project, or multiple projects and create minimal test cases, removing many code elements that are unrelated to the existing faults. Algorithms of varying complexity can be used to find the different combinations of code statements that are required to maintain the failure. The processing time to reduce the code statements can vary, but is of minimal concern as it can be automated without requiring user intervention. Testing of multiple open-source projects with known failures determined that in all cases, a significant portion of code could be removed while maintaining the original error. |
| Subject | Debugging in computer science; Computer science; Algorithms |
| Digital Publisher | Digitized by Special Collections & University Archives, Stewart Library, Weber State University. |
| Date | 2026-03 |
| Medium | theses |
| Type | Text |
| Access Extent | 34 page pdf |
| Conversion Specifications | Adobe Acrobat |
| Language | eng |
| Rights | The author has granted Weber State University Archives a limited, non-exclusive, royalty-free license to reproduce his or her thesis, in whole or in part, in electronic or paper form and to make it available to the general public at no charge. The author |
| Source | University Archives Electronic Records: Master of Computer Science. Stewart Library, Weber State University |
| Format | application/pdf |
| ARK | ark:/87278/s6rc0pd8 |
| Setname | wsu_smt |
| ID | 158367 |
| Reference URL | https://digital.weber.edu/ark:/87278/s6rc0pd8 |