We pursue research in Software Engineering guided by our vision of Humanization, Adaptability, and Reliability
Our Vision
Humanization: According to a global survey by KPMG, more than half of the respondents expressed concerns about the controllability of AI and privacy security. So, how can we encourage better acceptance of AI-driven autonomous software to the end users? We believe the solution lies in enhancing the software's user-friendliness. Key research questions include: How can we improve system transparency and enhance user control? Especially as system autonomy increases, how should systems more effectively communicate with users to boost their trust and mitigate the responsibility gap?
Adaptability: Given the increasingly complex and dynamic nature of modern software operating environments, software must be capable of flexibly responding to various changes. We are dedicated to developing software that can self-adapt, self-optimize, self-repair, and self-evolve to meet varying user needs and operating environments. Key research questions include: How can we implement mechanisms for self-adaptation, optimization, repair, and evolution? How can we coordinate and synchronize different aspects of software (e.g., when software requirements change, so must the software architecture and behavior)?
Reliability: Unlike adaptability, reliable software is primarily concerned with the development phase. Our focus encompasses multiple perspectives (software design, testing, and verification) to ensure software reliability. Main research questions include: How can systems be designed to be robust and resilient against attacks or noise? How can we efficiently conduct formal verification of system correctness (e.g., how to decompose problems and design the granularity of analysis)? How can we find more system bugs at a lower cost during testing?
Applications we target