Hi, I'm Antonio
I am an Assistant Professor of Computer Science at William & Mary. My research lies at the intersection of Artificial Intelligence (AI), Natural Language Processing (NLP), and Software Engineering (SE), with a strong emphasis on the automation of SE-related practices. My work promotes explainability, efficiency, and optimization from both a model-centric perspective (e.g., robustness and adaptability of foundation models such as GitHub Copilot) and an output-centric perspective (e.g., documentation and summarization of code components). More broadly, my research addresses the reliability and efficiency of AI systems for SE, advancing next-generation intelligent tools that improve transparency, scalability, and developer productivity.
Resource-Efficient AI for Code
Developing scalable, resource-efficient AI techniques — quantization, parameter-efficient fine-tuning, knowledge distillation — to make code intelligence models practical for real-world deployment and developer productivity.
AI Agents for SE
Designing autonomous AI agents that plan, reason, and execute multi-step software engineering workflows — from issue resolution to code review — with minimal human intervention.
Neurosymbolic Program Reasoning
Combining neural language models with symbolic reasoning — grammars, type systems, program analysis — to build AI tools that are both powerful and formally grounded for software comprehension.
Causality for Software Systems
Applying causal reasoning and counterfactual analysis to understand cause-and-effect in software systems — from root-cause debugging to evaluating the true impact of AI-driven interventions on developer workflows.
Publications
@article{afrin2025peft,
title={A Systematic Literature Review of Parameter-Efficient Fine-Tuning for Large Code Models},
author={Saima Afrin and Md Zahidul Haque and Antonio Mastropaolo},
journal={ACM Transactions on Software Engineering and Methodology (TOSEM)},
year={2025}
}@article{crupi2025llmjudge,
title={On the Effectiveness of LLM-as-a-Judge for Code Generation and Summarization},
author={Giuseppe Crupi and Rosalia Tufano and Alejandro Velasco and Antonio Mastropaolo and Denys Poshyvanyk and Gabriele Bavota},
journal={IEEE Transactions on Software Engineering (TSE)},
year={2025}
}@article{shu2025testlogging,
title={An Empirical Study on Language Models for Generating Log Statements in Test Code},
author={Honglin Shu and Dong Wang and Antonio Mastropaolo and Gabriele Bavota and Yasutaka Kamei},
journal={ACM Transactions on Software Engineering and Methodology (TOSEM)},
year={2025}
}@article{mastropaolo2025triumph,
title={From Triumph to Uncertainty: The Journey of Software Engineering in the AI Era},
author={Antonio Mastropaolo and Camilo Escobar-Vel\'{a}squez and Mario Linares-V\'{a}squez},
journal={ACM Transactions on Software Engineering and Methodology (TOSEM)},
year={2025}
}@inproceedings{afrin2025quantization,
title={Is Quantization a Deal-breaker? Empirical Insights from Large Code Models},
author={Saima Afrin and Bowen Xu and Antonio Mastropaolo},
booktitle={IEEE 41st International Conference on Software Maintenance and Evolution (ICSME)},
year={2025}
}@inproceedings{mastropaolo2025neurosymbolic,
title={A Path Less Traveled: Reimagining Software Engineering Automation via a Neurosymbolic Paradigm},
author={Antonio Mastropaolo and Denys Poshyvanyk},
booktitle={The 1st International Workshop on Envisioning the AI-Augmented SDLC (AI-SDLC), co-located with FSE 2025},
year={2025}
}@inproceedings{casillo2025rationale,
title={Towards Generating the Rationale for Code Changes},
author={Francesco Casillo and Antonio Mastropaolo and Gabriele Bavota and Vincenzo Deufemia and Carmine Gravino},
booktitle={IEEE/ACM 33rd International Conference on Program Comprehension (ICPC -- ReNE)},
year={2025}
}@inproceedings{vitale2025coherence,
title={Optimizing Datasets for Code Summarization: Is Code-Comment Coherence Enough?},
author={Antonio Vitale and Antonio Mastropaolo and Rocco Oliveto and Massimiliano Di Penta and Simone Scalabrino},
booktitle={IEEE/ACM 33rd International Conference on Program Comprehension (ICPC)},
year={2025}
}@inproceedings{velasco2025nspc,
title={Toward Neurosymbolic Program Comprehension},
author={Alejandro Velasco and Aya Garryyeva and David Nader Palacio and Antonio Mastropaolo and Denys Poshyvanyk},
booktitle={IEEE/ACM 33rd International Conference on Program Comprehension (ICPC -- ERA)},
year={2025}
}@inproceedings{afrin2025qlora,
title={Resource-Efficient and Effective Code Summarization},
author={Saima Afrin and Joseph Call and Khai Nguyen and Oscar Chaparro and Antonio Mastropaolo},
booktitle={ACM 2nd International Conference on AI Foundation Models and Software Engineering (FORGE)},
year={2025}
}@article{tufano2024codereview,
title={Code Review Automation: Strengths and Weaknesses of the State of the Art},
author={Rosalia Tufano and Ozren Dabic and Antonio Mastropaolo and Matteo Ciniselli and Gabriele Bavota},
journal={IEEE Transactions on Software Engineering (TSE)},
year={2024}
}@article{mastropaolo2024logging,
title={Log Statements Generation via Deep Learning: Widening the Support Provided to Developers},
author={Antonio Mastropaolo and Valentina Ferrari and Luca Pascarella and Gabriele Bavota},
journal={Elsevier Journal of Systems and Software (JSS)},
year={2024}
}@article{mastropaolo2024renaming,
title={Automated Variable Renaming: Are We There Yet?},
author={Antonio Mastropaolo and Emad Aghajani and Luca Pascarella and Gabriele Bavota},
journal={Springer Empirical Software Engineering (EMSE)},
year={2024}
}@inproceedings{pepe2024satd,
title={A Taxonomy of Self-Admitted Technical Debt in Deep Learning Systems},
author={Federica Pepe and Fiorella Zampetti and Antonio Mastropaolo and Gabriele Bavota and Massimiliano Di Penta},
booktitle={IEEE 40th International Conference on Software Maintenance and Evolution (ICSME)},
year={2024}
}@inproceedings{mastropaolo2024risefall,
title={The Rise and Fall (?) of Software Engineering},
author={Antonio Mastropaolo and Camilo Escobar-Vel\'{a}squez and Mario Linares-V\'{a}squez},
booktitle={Software Engineering in 2030 (SE2030)},
year={2024}
}@inproceedings{tufano2024chatgpt,
title={Unveiling ChatGPT's Usage in Open Source Projects: A Mining-based Study},
author={Rosalia Tufano and Antonio Mastropaolo and Federica Pepe and Ozren Dabic and Massimiliano Di Penta and Gabriele Bavota},
booktitle={IEEE/ACM 21st International Conference on Mining Software Repositories (MSR)},
year={2024}
}@inproceedings{pepe2024huggingface,
title={How do Hugging Face Models Document Datasets, Bias, and Licenses? An Empirical Study},
author={Federica Pepe and Vittoria Nardone and Antonio Mastropaolo and Gerardo Canfora and Massimiliano Di Penta and Gabriele Bavota},
booktitle={IEEE/ACM 32nd International Conference on Program Comprehension (ICPC)},
year={2024}
}@inproceedings{mastropaolo2024snippets,
title={Towards Summarizing Code Snippets Using Pre-Trained Transformers},
author={Antonio Mastropaolo and Matteo Ciniselli and Luca Pascarella and Rosalia Tufano and Emad Aghajani and Gabriele Bavota},
booktitle={IEEE/ACM 32nd International Conference on Program Comprehension (ICPC)},
year={2024}
}@inproceedings{mastropaolo2024metric,
title={Evaluating Code Summarization Techniques: A New Metric and an Empirical Characterization},
author={Antonio Mastropaolo and Matteo Ciniselli and Massimiliano Di Penta and Gabriele Bavota},
booktitle={IEEE/ACM 46th International Conference on Software Engineering (ICSE)},
year={2024}
}@inproceedings{mastropaolo2024ghwcom,
title={Toward Automatically Completing GitHub Workflows},
author={Antonio Mastropaolo and Fiorella Zampetti and Gabriele Bavota and Massimiliano Di Penta},
booktitle={IEEE/ACM 46th International Conference on Software Engineering (ICSE)},
year={2024}
}@article{ciniselli2023codecompletion,
title={An Empirical Study on the Usage of Transformer Models for Code Completion},
author={Matteo Ciniselli and Nathan Cooper and Luca Pascarella and Antonio Mastropaolo and Emad Aghajani and Denys Poshyvanyk and Massimiliano Di Penta and Gabriele Bavota},
journal={IEEE Transactions on Software Engineering (TSE)},
year={2023}
}@article{mastropaolo2023transfer,
title={Using Transfer Learning for Code-Related Tasks},
author={Antonio Mastropaolo and Nathan Cooper and David Nader Palacio and Simone Scalabrino and Denys Poshyvanyk and Rocco Oliveto and Gabriele Bavota},
journal={IEEE Transactions on Software Engineering (TSE)},
year={2023}
}@inproceedings{mastropaolo2023satd,
title={Towards Automatically Addressing Self-Admitted Technical Debt: How Far Are We?},
author={Antonio Mastropaolo and Massimiliano Di Penta and Gabriele Bavota},
booktitle={IEEE/ACM 38th International Conference on Automated Software Engineering (ASE)},
year={2023}
}@inproceedings{mastropaolo2023copilot,
title={On the Robustness of Code Generation Techniques: An Empirical Study on GitHub Copilot},
author={Antonio Mastropaolo and Luca Pascarella and Emanuela Guglielmi and Matteo Ciniselli and Simone Scalabrino and Rocco Oliveto and Gabriele Bavota},
booktitle={IEEE/ACM 45th International Conference on Software Engineering (ICSE)},
year={2023}
}@inproceedings{rosa2023dockerfiles,
title={Automatically Generating Dockerfiles via Deep Learning: Challenges and Promises},
author={Giovanni Rosa and Antonio Mastropaolo and Simone Scalabrino and Gabriele Bavota and Rocco Oliveto},
booktitle={IEEE/ACM 17th International Conference on Software and System Processes (ICSSP)},
year={2023}
}@article{scalabrino2021bot,
title={An Adaptive Search Budget Allocation Approach for Search-Based Test Case Generation},
author={Simone Scalabrino and Antonio Mastropaolo and Rocco Oliveto and Gabriele Bavota},
journal={ACM Transactions on Software Engineering and Methodology (TOSEM)},
year={2021}
}@inproceedings{mastropaolo2021comment,
title={An Empirical Study on Code Comment Completion},
author={Antonio Mastropaolo and Emad Aghajani and Luca Pascarella and Gabriele Bavota},
booktitle={IEEE/ACM 37th International Conference on Software Maintenance and Evolution (ICSME)},
year={2021}
}@inproceedings{mastropaolo2021t5,
title={Studying the Usage of Text-To-Text Transfer Transformer to Support Code-Related Tasks},
author={Antonio Mastropaolo and Simone Scalabrino and Nathan Cooper and David Nader Palacio and Denys Poshyvanyk and Rocco Oliveto and Gabriele Bavota},
booktitle={IEEE/ACM 43rd International Conference on Software Engineering (ICSE)},
year={2021}
}Teaching
This first-year seminar introduces students to computing through the emerging practice of prompt engineering -- the use of natural language to direct advanced AI systems. By engaging with tools such as ChatGPT, Copilot, and DALL-E, students learn how clearly expressed ideas can be transformed into computational outcomes. The course emphasizes creativity, accessibility, and critical reflection, including the societal impact of AI, ethics, bias, and "tech for good" applications.
This course provides students with the foundational and technical skills needed to develop and apply Deep Learning-based tools, especially Generative AI methods, to enhance software development tasks like code generation and documentation. By the end, undergraduate students will understand Generative AI for software development, while graduate students will also be skilled in critically evaluating research and proposing innovative solutions.
This course is designed to equip students with an understanding of how recent advancements in Artificial Intelligence are leading to innovative automated practices in the realm of software engineering. Participants will investigate the usage of AI techniques to foster and automate software engineering processes while understanding their transformative impact on the software development lifecycle. Students will be introduced to the core concepts of conducting research at the intersection of AI and SE.
Awards & Grants
NSF CRII Grant #2451058
Distinguished Paper Award
Distinguished Paper Award
Distinguished Reviewer
Distinguished Reviewer
Distinguished Reviewer
Outstanding Reviewer Award
Service
Program Committees ▾
Journal Reviewing ▾
Organizing Committees ▾
Community Service ▾
Invited Talks ▾
Blog
Why I Think LLMs Won't Replace Developers
The hype is real, but so is the gap between generating code and engineering software. Here's why I think developers are safe -- for now.
Teaching GenAI to the Next Generation
Reflections on designing a course about generative AI for software development. What worked, what surprised me, and what I'd change.
First Year on the Tenure Track
An honest look at the first year as an assistant professor -- the highs, the lows, and the lessons learned along the way.