Explainable AI for SE: Challenges and Future Directions
Chakkrit Tantithamthavorn, Jürgen Cito, Hadi Hemmati, Satish Chandra
Abstract
In recent years, artificial intelligence/machine learning (AI/ML) have been widely used in software engineering (SE) to improve developer productivity, software quality, and decision making. This includes well-known tools for code completion (for example, GitHub’s Copilot) but also code search; automated task recommendation; automated developer recommendation; automated defect/vulnerability/malware prediction, detection, localization, and repair; and many other purposes.
Topics & Concepts
Computer scienceSoftware engineeringTask (project management)MalwareSoftwareSoftware qualityVulnerability (computing)Static program analysisCode (set theory)Software developmentArtificial intelligenceEngineeringComputer securitySystems engineeringProgramming languageSet (abstract data type)Software Engineering ResearchSoftware Engineering Techniques and PracticesSoftware Reliability and Analysis Research