AI for Software Engineering 

During this placement, my research focused on investigating how developers identify, understand, discuss, and fix security vulnerabilities in software systems - and how we can utilise modern AI to analyse these elements of vulnerability remediation.

Research Intern: Robin Campbell-Parker

Project supervisor: Adriana Sejfia, Jingjie Li

PhD Tutor: Karen Jiamin Zheng

During this placement, my research focused on investigating how developers identify, understand, discuss, and fix security vulnerabilities in software systems - and how we can utilise modern AI to analyse these elements of vulnerability remediation. My work included conducting a Grounded Theory study of Chromium vulnerability reports and associated developer discussions, developing a local research tool to support the process of qualitative analysis in the Grounded Theory methodology, and implementing an agentic framework for using LLMs to support and automate the qualitative analysis process.  

This internship was my first formal experience of academic research in a professional environment, and it was an incredibly valuable introduction to what the research process really looks like in academia. I was initially struck by the amount of emphasis which was put into understanding the existing research landscape and previous literature surrounding our project topic - but, looking back, this served as an incredibly valuable part of the process. Sensitising everything I did on existing work done by other researchers allowed me to identify real gaps in the existing research and focus my work towards filling these gaps. It also allowed me to build directly on other researchers’ work, for example adapting existing codebooks for my grounded theory study. All of this was massively useful for my (very open-ended) project, and I gained a much deeper appreciation for the rigour required to turn an initial idea into well-defined research objectives.  

I gained hands-on experience working with real-world datasets, selecting and applying appropriate methodologies, analysing findings, and communicating results independently. I also learned lots about agentic development using LangGraph while investigating the ways in which AI agents can be used to support and automate certain research workflows (eventually designing and implementing my own agentic framework for applying a closed codebook to a large dataset).  

AI for Software Engineering Research Slide