Research
Research Projects
Broadly, my research interests relate to software engineering with an emphasis on cognition and pedagogy. If you have questions about my work or are looking to get involved in this kind of research, send me an email and we can set up a time to chat. I love working with students on a variety of fun projects!
Search-based software engineering
I have used stochastic search-based approaches (e.g., genetic programming) to reduce the amount of developer effort for debugging software. My work in this area has not been limited to software: I am the developer of CirFix, a framework that bridges the gap between automated software repair and the hardware domain using novel insights about hardware designs.
- Indicative Paper(s): CirFix; Semantics and Search-Based Software Engineering
Cognition for CS tasks
I have used objective measures (e.g., transcranial magnetic stimulation, eye-tracking, etc.) to understand differences in problem-solving strategies employed by students for CS-related tasks, such as reading formal claims about algorithms, and investigating the factors associated with higher student performance. My efforts on understanding cognition have provided recommendations for instructors and suggested follow-on classroom intervention studies to favor students outcomes.
- Indicative Paper(s): TMS in a Programming Context; Eye-Tracking for CS Formalisms
- Ongoing Project(s): Investigating the neural relationship between working memory and program comprehension
Improving software quality through formal verification
I believe that testing for bugs in software can be insufficient, and that elevating the status of a critical system (e.g., autonomous cars) from “tested” to “correct” is becoming increasingly necessary. In this area, I have focused research efforts into developing new formalisms that allow for time-critical safety properties for software to be expressed and reasoned about, and into reducing the amount of manual human effort needed to prove correctness in complex distributed systems.
- Indicative Paper(s): Signal Temporal Dynamic Logic; Sift
Peer-Reviewed Publications
-
Causal Relationships and Programming Outcomes: A Transcranial Magnetic Stimulation Experiment. Hammad Ahmad, Madeline Endres, Kaia Newman, Priscila Santiesteban, Emma Shedden, Westley Weimer. ICSE’24.
[ACM Distinguished Paper Award] [pdf] [dataset] -
CirFix: Automated Hardware Repair and its Real-World Applications. Priscila Santiesteban, Yu Huang, Westley Weimer, Hammad Ahmad. TSE. [pdf]
-
How Do We Read Formal Claims? Eye-Tracking and the Cognition of Proofs about Algorithms. Hammad Ahmad, Zachary Karas, Kimberly Diaz, Amir Kamil, Jean-Baptiste Jeannin, Westley Weimer. ICSE’23.
[pdf] [dataset] -
LOGI: An Empirical Model of Heat-Induced Disk Drive Data Loss and its Implications for Data Recovery. Hammad Ahmad, Colton Holoday, Ian Bertram, Kevin Angstadt, Zohreh Sharafi, Westley Weimer. PROMISE’22. [pdf]
-
Digging into Semantics: Where do search-based software repair methods search? Hammad Ahmad, Padraic Cashin, Stephanie Forrest, Westley Weimer. PPSN’22. [pdf]
-
Sift: Using Refinement-Guided Automation to Verify Complex Distributed Systems. Haojun Ma, Hammad Ahmad, Aman Goel, Eli Goldweber, Jean-Baptiste Jeannin, Manos Kapritsos, Baris Kasikci. ATC’22. [pdf] [source code]
-
CirFix: Automatically Repairing Defects in Hardware Design Code. Hammad Ahmad, Yu Huang, Westley Weimer. ASPLOS’22. [pdf] [dataset] [source code]
-
Applying Automated Program Repair to Dataflow Programming Languages. Yu Huang, Hammad Ahmad, Stephanie Forrest, Westley Weimer. GI@ICSE’21. [pdf]
-
A Program Logic to Verify Signal Temporal Logic Specifications of Hybrid Systems. Hammad Ahmad, Jean-Baptiste Jeannin. HSCC’21. [pdf] [technical report]
-
A Comparison of Semantic-Based Initialization Methods for Genetic Programming. Hammad Ahmad, Thomas Helmuth. GECCO’18. [pdf]
Other Publications
-
Understanding Understanding: How Do We Reason About Computational Logic? Hammad Ahmad. Ph.D. Thesis. University of Michigan, Ann Arbor. 2024. [pdf]
-
Empirically Evaluating Genetic Algorithms For Generating Test Suites For Web Applications. Hammad Ahmad. Undergraduate Honors Thesis. Washington and Lee University. 2019. [pdf]