Software as an Intelligence-Rich Ecosystem
Software systems are not merely collections of source code.
Requirements, issues, commits, pull requests, documentation,
architectural decisions, developer discussions, and user feedback
collectively represent the evolving knowledge of a software project.
Our research explores how to mine, integrate, and reason over
this distributed software knowledge to uncover patterns,
relationships, and engineering insights that are difficult to identify
through conventional analysis.
Software Ecosystems
Repository Mining
Knowledge Integration
Human Language as a Gateway to Software Knowledge
A substantial portion of software knowledge is expressed through
natural language. Requirements, issue descriptions, documentation,
developer discussions, and user reviews encode information about
functionality, quality, risks, expectations, and engineering
decisions. Our research investigates NLP and language-model
based approaches for transforming unstructured human language into
structured and actionable software engineering knowledge.
NLP4SE
Requirements
Language Models
Evidence-Driven Engineering Intelligence
AI-based software engineering should not rely solely on model
predictions. Our research emphasizes combining empirical
evidence from software repositories with machine learning, deep
learning, and language models to produce more informed
recommendations, predictions, and engineering decisions. The
objective is to transform historical and continuously generated
software data into reliable, evidence-based engineering intelligence.
Evidence-Based AI
Software Analytics
Empirical SE
From Automation to Autonomous Engineering
Traditional software automation primarily executes predefined rules
and workflows. Our research investigates the next step: systems
capable of understanding context, reasoning about engineering
problems, generating candidate solutions, evaluating alternatives,
and adapting their actions. This creates a pathway from
conventional automated tools toward intelligent, reasoning-driven,
and agentic software engineering systems.
ASE
AI Agents
Autonomous SE
Human-Centered & Trustworthy AI for Software Engineering
AI should augment software engineers rather than simply replace
human decision-making. Our research therefore considers
explainability, reliability, trustworthiness, human oversight,
and practical usefulness as important dimensions of
AI-driven software engineering. The goal is to create intelligent
systems whose recommendations and actions can be understood,
evaluated, and meaningfully integrated into real software development
practices.
Trustworthy AI
Human-Centered AI
Explainability
Research Vision: From Intelligence to Autonomous SE
Our long-term research vision is to develop an intelligent software
engineering ecosystem in which AI can continuously learn from
software artifacts, understand human and technical context, reason
over engineering evidence, and autonomously assist in software
development while preserving human control and trust.
In this vision, the software repository becomes a living source of
engineering knowledge, while NLP, foundation models, analytics, and
agentic AI provide mechanisms for understanding, reasoning, and action.
AI4SE
LLM4SE
Agentic Systems