Ph.D. Dissertation Defense: Niloofar Mansoor
Monday, November 21, 2022
10 AM
211 Schorr Center and Zoom
Join Zoom Meeting: https://unl.zoom.us/j/91287193478
Meeting ID: 912 8719 3478
"An Empirical Assessment of Formal Models and Static Analysis Alarms in the Context of Defect Detection"
Software developers work with different programming languages and tools throughout their careers. Software maintenance is one of the essential parts of a developer's job. It includes locating and correcting defects in software systems. Understanding how developers comprehend programs and their process of finding and fixing bugs is essential for creating better tools to improve their productivity and workflow. It also gives us insight into their cognitive processes while working on these tasks, which can help build theories for teaching and learning programming. The dissertation presents two studies on assessing formal models and static analysis alarms in the context of defect detection. The first is an online empirical study on the effects of experience on bug fixing tasks in the Alloy specification language, a lightweight formal language with accompanying software that performs bounded model checking to facilitate verifying properties of software models. We found that non-novices performed 54% better on the Alloy tasks compared to novices, and participants performed better on syntactic tasks compared to semantic tasks. We also present insights from the participants' problem solving patterns. The second study investigates the effects of repositioning and merging static analysis alarms used to detect software defects on task accuracy and developers' visual effort. In order to do this, the second study involved two modes of data collection: online questionnaires and eye tracking, each of which was done independently with no overlap between participants. Both studies' results indicate that the repositioning and merging treatment do not affect accuracy. However, the eye tracking study results indicate that there is a significant difference in visual effort in the repositioning and merging of alarms as it draws the focus and attention of the developers to the most important parts of the program to solve tasks. The impact of these results on languages and tools to assist developers in defect detection is discussed.
Advisor and Committee Chair: Dr. Bonita Sharif
Committee Members:
Dr. Brittany Duncan
Dr. Witawas Srisa-an
Dr. Michael Dodd