Automated software engineering represents a transformative shift in the way software is developed, tested, and maintained, making it a significant advancement in the tech industry. By automating repetitive and error-prone tasks, such as testing, bug fixing, and documentation, developers can focus more on creative problem-solving and innovation. This not only boosts productivity but also enhances the quality of software by reducing human errors and improving consistency across codebases. Our research group is pioneering advancements in automated software engineering, focusing on two main areas: code comment inconsistency detection and commit message generation.
In software development, code comments serve as essential artifacts in understanding systems and source code, facilitating the maintenance process. However, the presence of inconsistencies between code and comments, particularly due to outdated or inaccurate comments, poses a significant risk to software quality, potentially leading to future bugs. Our objective is to explore the impacts of such inconsistencies on the quality of software, especially bug-proneness in open source software systems. By analyzing such inconsistencies, we aim to provide insights into how they impact the stability and reliability of software systems, ultimately contributing to enhanced development practices and higher-quality software products. Future work may involve analyzing the impact of comments on other aspects of software quality, such as code readability, maintainability, and overall system understanding.
Commit messages are crucial in software development by providing a clear historical record of project changes and decision-making processes. We are developing an automated commit message generation method that leverages the power of open-source large language models along with state-of-the-art prompting techniques. We aim to introduce an approach that is privacy-friendly, affordable, and can generate meaningful and informative commit messages that accurately reflect the changes made, thereby enhancing version control practices and facilitating smoother project management.
Through these initiatives, we aim to contribute valuable tools and insights to the field of automated software engineering, ultimately supporting developers in producing higher quality software more efficiently. Our upcoming projects in this area include automated privacy user story generation based on users’ discussion of famous applications for freshly-introduced software products. This innovative approach involves analyzing user conversations and feedback on popular applications to automatically generate user stories that are privacy-centric. These user stories will then serve as critical inputs in the development process, ensuring that privacy considerations are embedded from the earliest stages of software creation. By focusing on privacy from the get-go, we not only adhere to the increasing global regulatory demands but also address the growing public concern over data protection. This capability to swiftly adapt and implement privacy-focused features in new software products will give developers a significant edge in creating trustworthy applications that resonate with users’ expectations and legal standards.