The Impact You Will Have
Our research program aims to achieve automated software evolution via analysis, verification, and test generation. Applications of repair studied in the program will include security vulnerability repair, patch transplantation across versions of major software systems such as Linux, as well as the use of agentic workflows to automate software evolution.
You will work on pioneering projects that advance the application of AI and ML within the realm of software engineering. This role offers the opportunity to conduct cutting-edge research, develop novel algorithms, and contribute to the development of software tools that enhance system performance, reliability, and flexibility.
On a daily basis, you will::
Define and execute research directions that pushes the state of the art AI4SE techniquesLead research projects in integrating AI/ML techniques with software engineering practices to improve code quality, testing, and software maintenance.Collaborate with cross-functional teams, including AI researchers, software engineers, and product managers, to translate research findings into practical applications.Work on curation of large datasets, benchmarks across multiple SE problems and challengesStay informed about the latest advancements in AI/ML and software engineering to identify emerging trends and opportunities for innovation.Publish research findings in leading academic conferences and journals, and present innovative work to the broader research community.
The skills you will demonstrate::
PhD (or equivalent) in computer science, information technology, engineering, or related field. Strong research background in AI, ML, and/or SE with a solid publication record in A and A* level conferences/journals.Minimum of 2 publications in top-tier conferences or journals. Strong problem-solving skills and ability to work independently in a research setting.Leadership experience working with junior researchers, senior researchers and other collaboratorsExcellent communication skills for conveying complex technical concepts.Experience in developing tools or frameworks that utilize AI/ML to enhance software development processes.Experience with general-purpose languages, such as Java, C#, C/C++, Python, RustExperience with techniques for automated code generation, program verification, program synthesis, or software testing using AI/ML.Strong knowledge in state-of-the-art research in ML for Software engineering, such as experience in Prompt Engineering, Agentic Systems, Chain of Thought applications
Nice to have::
Familiarity with AWS services such as Lambda, EC2, ECS, SNS, SQS, and RDS is an advantageExperience using and configuring static analyzers as part of a research project