Computer Science, University of Alberta

"Supporting Evolutionary and Collaborative Software Development "

Abstract: Software is increasingly developed through evolutionary development process. Furthermore, software is increasingly created and maintained by multiple teams collaboratively. The evolutionary and collaborative software development creates new software development challenges. For example, the evolution of COTS (commercial off-the-shelf) software may result in the increased frequency of updates for client applications built on it. As another example, because few developers have all the knowledge about the history of the software system, they may change the software in a way that violates the previously established rules by other developers, which causes the deterioration of the system reliability. This talk will cover my primary research interests (past and future), which center on the tools and methods for supporting evolutionary and collaborative software development. I will present a model-differencing based methodology of my Ph.D. thesis work for supporting evolutionary software development and knowledge collaboration in software evolution process through capturing and analyzing the design-evolution history of the software system. In particular, I will demonstrate how this methodology has been applied to tackle the asynchronous API evolution problem in COTS-based software development. Finally, I will discuss several research topics in two general research areas, i.e., the collaborative production of evolving software systems and the knowledge mining and sharing in software evolution process, which will be the major focus of my research in the future.

Short Bio: Zhenchang Xing received the BSc and MEng degrees from Nankai University, China, in 1997 and 2000 respectively. He is expecting to receive the Ph.D. degree from University of Alberta, Canada, in June 2008. His research focuses on developing the tools and methods for supporting evolutionary and collaborative software development.