Dissertation Defense

Understanding understanding: How do we reason about computational logic?

Hammad AhmadPh.D. Candidate
WHERE:
Remote/Virtual
SHARE:

Virtual Event: Zoom  Passcode: 146110

Abstract: Computers fundamentally do not reason like humans do, making it time-consuming and expensive for programmers to find and fix mistakes in, or maintain, hardware and software. Given that such maintenance activities can often comprise up to 90% of the total cost associated with hardware and software, interest in better preparing future programmers for the computational logic reasoning required for computer science industry and academia has grown.

Understanding how programmers reason about computational logic can guide tool development and training activities for more efficient logical reasoning. We argue for the use of non-intrusive and objective measures for cognition to establish correlations, along with a non-invasive and time-efficient medical technique to establish causation, to help us better probe how programmers understand computational logic, and to illuminate promising cognitive interventions that could help programmers reason about computers. With a focus on digital, mathematical, and programming logic, in this thesis, we present three research components investigating cognition for computational reasoning tasks. First, we present a novel automated algorithm to repair defects in hardware designs (i.e., digital logic) and a human study investigating its use as a debugging assistant for programmers. Next, we present an eye-tracking study investigating the effects of various problem-solving strategies on formalism comprehension (i.e., mathematical logic) task outcomes. Finally, we present a human study probing neural causality between spatial reasoning and program comprehension (i.e., programming logic) using transcranial magnetic stimulation (TMS), a neurostimulation technique.

This thesis shows that it is possible to use objective measures (ranging from functional to physiological to medical) to obtain mathematical models of the cognitive processes underlying computational logic reasoning tasks, and that these models can highlight prospective cognitive interventions for student training. This thesis includes the first automated program repair algorithm aimed at diagnosing and repairing hardware design defects. We also present the first TMS study in a programming context, demonstrating the applicability of the medical technique to computer science research. All datasets and analysis scripts associated with work in this thesis are made publicly available to support open and reproducible science.

Organizer

CSE Graduate Programs Office

Faculty Host

Prof. Westley Weimer