Leveraging Developer Discussions to Make Design Accessible
A software system’s design determines many of its properties. An understanding of design is needed to maintain system properties as changes to the system are made. When developers lose track of the overall design, the system may not conform to its intended properties. I hypothesize that it is possible to solve the problems of design evaporation and erosion by recovering design information from written developer discussions and by leveraging the recovered information to help developers make better decisions. As part of investigating this hypothesis, I have built an automated classifier that is able to locate design information in discussions, at the paragraph level, by learning from manual annotations of discussions extracted from open source pull requests. I next plan to extract and represent the design information from the identified paragraphs and to show the usefulness of the information by creating tools to help notify developers of design information relevant to a task at hand.
Giovanni received his MSc in computer science in 2016 from the University of British Columbia. He is currently a PhD candidate at the Department of Computer Science at the University of British Columbia. His research focuses on investigating how developers communicate and how to recover information from developers discussions.