Automatically Engineering Trusted Software: A Research Roadmap
Abstract
Recent advances in automated programming have the potential to reduce human involvement in the software engineering process, but this can lead to less trustworthy software. We envision a three-pronged approach to automating the engineering of trustworthy software that involves (1) eliciting requirements from users and automatically generating formal specifications encoding users’ intent, (2) automatically synthesizing source code conforming to those specifications, and (3) automatically synthesizing formal proofs to verify the correctness of the produced software. We describe this vision and the state of the art in each of these three areas, and the research challenges that must be overcome in each area and in their integration.
Fields of Study & Subjects
Security and Verification in Computing
Advanced Malware Detection Techniques
Safety Systems Engineering in Autonomy
Publication details
- Journal / source
- ACM Transactions on Software Engineering and Methodology
- Publisher
- Association for Computing Machinery (ACM)
- Volume
- 35
- Issue
- 9
- Pages
- 1–30
- Publication date
- 2 March 2026
- Language
- EN