Marcelo d'Amorim
Marcelo d'Amorim News: I will join NCSU in November 2022. I am looking for bright, motivated PhD students. For those interested in working with me, please read this. More information about PhD at NCSU: Structure, Application deadlines.

Service Upcoming: ISSTA'22 (Doctoral Symposium), ESEC/FSE'22, ICSE'23, ESEC/FSE'24 (General Chair)   
Teaching Now: Software Engineering (IF682), Software Testing (IF1009)

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. The tools I developed revealed many bugs and vulnerabilities in code. These tools are publicly available on GitHub.

My research has been funded by NCSU, Brazilian research agencies (CAPES, CNPq, FACEPE, and RNP), Microsoft (SEIF award), and Amazon (ARA award co-PI).



Recent Highlights:

Associate Professor, UFPE
PhD UIUC, 2007
Publications
Software
CV
Students  (Advice)
Contact


ThirdEye: Technique that uses Explainable AI (with heatmaps) for anomaly detection of Atonomous Driving Systems.[ASE'22 paper, tool]      ThirdEye SpecFuzzer: A technique to synthesize test oracles using grammar-based fuzzing, likely invariant detection, and mutation testing.[ICSE'22 paper, tool]      SpecFuzzer
NCQ: A coding environment to support Node.js code snippets search and testing. [paper, tool] NCQ 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]      Shipwright
PASTE: A lightweight technique to automate parallelization of test execution while minimizing flakiness observation. [ICSM'21 paper, tool]      PASTE Shaker: A technique to detect flaky tests by introducing noise in the execution environment. [ICSM'20 paper, tool]      Shaker