Skip to main content
Upcoming Events:

Seminar: Bin Lin

Date & Time:
   Add All to Calendar

Mining Software Repositories to Support Software Development Activities

Overview

Abstract

As modern software systems are becoming increasingly complex, developers often need to rely on online resources (e.g., code sharing platform, Q&A websites, issue trackers) to address problems encountered during software development. These software repositories provide developers with access to peers' expertise, covering knowledge of different software lifecycle phases, including design, implementation, and maintenance. However, exploiting such knowledge and converting it into actionable items is far from trivial, due to the vastness of the information available online as well as to its unstructured nature.

In this talk, we will focus on how we can extract valuable information from online software repositories to support software development activities. More specifically, I will first discuss how we can leverage discussions on Stack Overflow, the most popular Q&A website for developers, to assist developers in taking the best design decisions. Next, I will present our ongoing projects, which aim to learn good refactoring practices from software projects and provide recommendations to improve code maintainability without sacrificing other high-priority non-functional requirements such as energy consumption and performance. Finally, I will present some future research directions in this field.

Bio

Bin Lin is a postdoctoral researcher in the Software Institute of USI - Università della Svizzera italiana, Switzerland. He received his Ph.D. from the same university under the supervision of Prof. Dr. Gabriele Bavota and Prof. Dr. Michele Lanza. Prior to that, he obtained his Master's degree from Eindhoven University of Technology, the Netherlands and his Bachelor’s degree from South China University of Technology, China. His research interests include program comprehension, mining software repositories, opinion mining, and human aspects of software engineering.