Font Size: a A A

More Usable Recommendation Systems for Improving Software Quality

Posted on:2015-07-19Degree:Ph.DType:Dissertation
University:North Carolina State UniversityCandidate:Song, YoonkiFull Text:PDF
GTID:1478390017996308Subject:Computer Science
Abstract/Summary:
Recommendation systems have a well-established history in both the research literature and industrial practice. Recommendation systems for software engineering (RSSEs) are emerging to assist developers in completing various software engineering tasks. However, most RSSEs have focused on finding more relevant recommendation items and improving ranking algorithms, without improving the usability of RSSEs.;In this dissertation, I present three more usable RSSEs of software testing (called UnitPlus and VISCOVERY) and bug fixing (called FixBugs) for improving software quality. First, UnitPlus is designed to assist developers in writing unit test code more efficiently by recommending code. I have conducted a feasibility study for UnitPlus with four open source projects in Java to demonstrate its potential utility. The results indicate the test code can be improved by the code recommended by UnitPlus. Second, VISCOVERY is a structural coverage visualization tool that aims to help developers understand problems that Dynamic Symbolic Execution (DSE) tools face and to provide recommendations for developers to deal with those problems. In an experiment with 12 developers, I found VISCOVERY helps developers use DSE tools 50% more correctly, 29% more quickly, and substantially more enjoyably than existing DSE tools and DSE tools with textual problem-analysis results. Third, FixBugs is an interactive code recommendation tool that is designed to recommend code to fix software defects. The results of an experiment with 12 developers shows that the approach is as effective as non-interactive approaches, faster in some cases, and leads to greater user satisfaction. Finally, I present guidelines learned from the three tools to improve the usability of RSSEs.
Keywords/Search Tags:Software, Recommendation, Rsses, Systems, DSE tools, Improving
Related items