Supporting Software Quality with Probabilistic Reasoning and Practical Secure Programming Education
Files
TR Number
Date
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
Despite concerted efforts, perfecting software quality and security remains an elusive goal. In this dissertation, we argue that supporting software quality efforts requires a holistic two-pronged approach that advances both tooling and training. Specifically, this dissertation contributes two novel software engineering frameworks. First, we introduce PRISME(Probabilistic Reasoning for Intelligent Software Maintenance and Evolution), an analysis framework that applies probabilistic logic programming to software quality tasks. We have applied PRISME to enable advanced analyses, including exception-handling anti-pattern prioritization and rare-path coverage. Second, we present a drill-and-practice platform designed to target secure programming skills, called SecureCoder. This platform features a unique architecture and explores an emerging method for exercise generation and AI-powered tutoring in secure programming. Together, these contributions form a dual strategy—the toolset and the mindset—that strengthens both the technological and human aspects of software maintenance, supporting the quality of modern software systems.