Service Upcoming: ISSTA'24 PC, release_alertESEC/FSE'24 GC, ICSE'25 PC
Teaching Fall 2023:CSC 712: Software Testing and Reliability
I am always looking for bright motivated PhD students to join my group. Information about PhD at NC State: Structure, Application deadlines.
My research interests are in the areas of Software Engineering and Programming Languages, with a focus on improving software reliability through program analysis and systematic testing. Software bugs are expensive and inevitable as software is mostly written by humans or automatically synthesized via ML. My research focuses at improving various software quality assurance tasks, including bug prevention, bug finding, bug diagnosis, and code repair. As part of my research, I develop tools to automate software testing and debugging activities.
Funding: My research has been funded by NSF, Amazon, Microsoft, NCSU, and Brazilian research agencies (CAPES, CNPq, FACEPE, and RNP).
NCQ: A coding environment for Node.js code snippet
search and testing.
[TSE'23 paper, tool]
ThirdEye: Technique that uses Attention Maps
--Explainable AI technique-- for anomaly
detection in Autonomous Driving
[ASE'22 paper, data+simulator]
SpecFuzzer: Technique to synthesize test oracles using grammar-based fuzzing, likely invariant detection, and mutation testing.
[ICSE'22 paper, tool, video]
|Shipwright: Technique to repair broken Dockerfiles. Shipwright clusters broken files (based on static and dynamic data) and searches for solutions to corresponding problems on the web. [ICSE'21 paper, tool]|
|PASTE: A lightweight technique to automate parallelization of test execution while minimizing flakiness. [ICSM'21 paper, tool]|
|Shaker: A technique to detect flaky tests by introducing noise in the execution environment. [ICSM'20 paper, tool]|