posted on 2024-11-12, 10:37authored byAbdulaziz Hasan M Alhefdhi
The modern scene of software development experiences an exponential growth in the number of software projects, applications and code-bases. As software increases substantially in both size and complexity, software engineers face significant challenges in developing and maintaining high-quality software applications. Therefore, support in the form of automated techniques and tools is much needed to accelerate development productivity and improve software quality. The rise of Artificial Intelligence (AI) has the potential to bring such support and significantly transform the practices of software development. This thesis explores the use of AI in developing automated support for improving three aspects of software quality: software documentation, technical debt and software defects. We leverage a large amount of data from software projects and repositories to provide actionable insights and reliable support. Using cutting-edge machine/deep learning technologies, we develop a novel suite of automated techniques and models for pseudo-code documentation generation, technical debt identification, description and repayment, and patch generation for software defects. We conducted a number of intensive empirical evaluations which show the high effectiveness of our approach.
History
Year
2024
Thesis type
Doctoral thesis
Faculty/School
School of Computing and Information Technology
Language
English
Disclaimer
Unless otherwise indicated, the views expressed in this thesis are those of the author and do not necessarily represent the views of the University of Wollongong.