About Me

I am a PhD student in the Institute for Software Research at Carnegie Mellon University. I am a member of squaresLab under supervision of my advisor Prof. Claire Le Goues. My main research interests are quality assurance for robotics and cyberphysical systems, automatic program repair, and program analysis. You can download my CV here.


Doctor of Philosophy in Software Engineering

present (Expected 2021)
Carnegie Mellon University

Thesis: Automated Testing of Robotic and Cyberphysical Systems

Master of Science in Software Engineering

Carnegie Mellon University

Bachelor of Science in Software Engineering

Sharif University of Technology

Thesis: Bisulfite Genome Sequencing


Product Integrity Intern

Apple Inc. (Cupertino, CA)

Interned with Mac Systems Quality team at Apple Inc., where I developed a platform that automates many procedures of testing Mac systems.

Software Research Intern

ABB Inc. (Raleigh, NC)

Interned at ABB corporate research center, where we developed and evaluated a robotics programming environment for novice programmers.

Senior Application Architect

2013 - 2015
Congenial Mobile Co. (Tehran, Iran)

Developed and managed the payment system of CafeBazaar Android application store.


My research focuses on making robotics and cyberphysical systems safe, and improving the quality assurance of these systems. For this purpose I have done a number of empirical studies that identifies the challenges and bottlenecks of automated testing in robotics. In addition, I have developed tools and benchmarks towards building an automated testing pipeline for robotic systems. In addition, over the years I have also worked on automatic program repair, where given a faulty program and a set of test cases (some of which are failing), patches are automatically generated in a way that the final program passes all the test cases.

Robotics Quality Assurance - In this project, we discover and develop powerful methods to automatically detect, localize and fix defects in real-world autonomous systems using low-fidelity, software-based simulation.
SOSRepair - Automatic program repair tool which generates high quality patches by replacing the buggy fragment of code with a correct implementation that is already written by developers in maybe some other project.
CoBlox - In this project, with inspiration from block-based programming languages, initially designed as an introductory programming environment for education, we created CoBlox, a block-based interface for programming a one-armed industrial robot.


Panel: Software Quality in Robotics
November 2020
ROS World

A robot is only as good as the software that runs it. This panel addresses questions related to software quality in robotics. While there have been vast improvements in many areas of robotics, the quality of the end product is always constrained by the quality of the software that underlies the system. Panelists have worked with software quality in robotics in general and ROS in particular and will include perspectives from both industry and academia. Topics include: the current state of the art in quality assurance practices for robotics; the role of simulation; promoting quality through good development practices; ways to improve testing; software quality in projects with participants of different backgrounds; and unique quality features of the ROS ecosystem.

A developer perspective on the challenges of automated testing for robots
July 2020
ROS Quality Assurance Working Group

How do robotics developers test their systems? What are the main challenges of testing robots? Is it possible to automatically test robots in simulation? In this talk, I present the findings of several empirical studies with robotics developers, conducted by our research group, designed to identify both the state of the practice and challenges faced by developers when testing their systems. Considering the importance of test automation, and the potential of simulation-based testing, I will focus on presenting the challenges and bottlenecks of test automation for robotics, and how they are impacted by the capabilities of existing simulators.



Simulation for Robotics Test Automation: Developer Perspectives, Afsoon Afzal, Deborah S. Katz, Claire Le Goues, and Christopher Steven Timperley, in International Conference on Software Testing, Validation and Verification, ICST ’21, 2021.
PDF · Data · BibTeX

A Study on Challenges of Testing Robotic Systems, Afsoon Afzal, Claire Le Goues, Michael Hilton, and Christopher Steven Timperley, in International Conference on Software Testing, Validation and Verification, ICST ’20, 2020.
PDF · Data · BibTeX

It Takes a Village to Build a Robot: An Empirical Study of The ROS Ecosystem, Sophia Kolak, Afsoon Afzal, Claire Le Goues, Michael Hilton, and Christopher Steven Timperley, in International Conference on Software Maintenance and Evolution, ICSME ’20, 2020, vol. .
PDF · Data · BibTeX

SOSRepair: Expressive Semantic Search for Real-World Program Repair, Afsoon Afzal, Manish Motwani, Kathryn Stolee, Yuriy Brun, and Claire Le Goues, IEEE Transactions on Software Engineering, 2019.
PDF · Code · Data · Results · Presentation · DOI · BibTeX

A Study on the Use of IDE Features for Debugging, Afsoon Afzal and Claire Le Goues, in Proceedings of the Challenge Track at the International Conference on Mining Software Repositories, MSR ’18, 2018.
PDF · DOI · BibTeX

Crashing Simulated Planes is Cheap: Can Simulation Detect Robotics Bugs Early?, Christopher Steven Timperley, Afsoon Afzal, Deborah Katz, Jam Marcos Hernandez, and Claire Le Goues, in International Conference on Software Testing, Validation and Verification, ICST ’18, 2018, pp. 331–342.
PDF · Data · DOI · BibTeX

Quality assurance automation in autonomous systems, Afsoon Afzal, in Proceedings of the Doctoral Symposium Track at the Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE ’18, 2018, pp. 948–951.
PDF · BibTeX

Evaluating CoBlox: A Comparative Study of Robotics Programming Environments for Adult Novices, David Weintrop, Afsoon Afzal, Jean Salac, Patrick Francis, Boyang Li, David C. Shepherd, and Diana Franklin, in Conference on Human Factors in Computing Systems, CHI ’18, 2018, p. 366.
PDF · DOI · BibTeX

A Turing Test for Genetic Improvement, Afsoon Afzal, Jeremy Lacomis, Claire Le Goues, and Christopher S. Timperley, in Genetic Improvement Workshop, GI ’18, 2018, pp. 17–18.
PDF · BibTeX