报告题目：Improving Collaboration Efficiency for Software Development
Software is being developed by increasingly distributed and interdisciplinary teams. Therefore, being able to collaborate efficiently across distances and disciplines is essential for contemporary software development. In this talk, I will present my research project of improving collaboration efficiencies in fork-based development, which is a lightweight mechanism that allows developers to collaborate with or without explicit coordination. Although it is easy to use and popular, when developers each create their own fork and develop independently, their contributions are usually not easily visible to others. When the number of forks grows, it becomes very difficult to maintain an overview of what happens in individual forks, which would lead to additional problems and inefficient practices: lost contributions, redundant development, fragmented communities. Facing these problems, I developed two complementary strategies: (1) Identifying existing best practices and suggesting evidence-based interventions for projects that are inefficient; (2) designing new interventions that could improve the awareness of a community using fork-based development, and help developers to detect redundant development to reduce unnecessary effort. I will conclude the talk by describing my current and future research directions of improving collaboration capability for interdisciplinary software teams and apply software engineering best practices to other domains.
Shurui Zhou (https://www.eecg.utoronto.ca/~shuruiz/) is an Assistant Professor in the Department of Electrical & Computer Engineering and the Department of Computer Science at the University of Toronto. She obtained her Ph.D. in May. 2020 in the Institute for Software Research, School of Computer Science at Carnegie Mellon University. Her research focuses on facilitating distributed and interdisciplinary software teams to build high-quality systems, including but not limited to building better programming environments for software developers, designing better code review and issue tracking systems to facilitate better collaboration among team members, improving the architecture of the software systems, and identifying vulnerabilities from the codebase. She studies and tackles the problems from both technical and social perspectives, especially in the context of modern open-source collaboration forms, Industrial plant software, and interdisciplinary teams when building AI-based systems or scientific software. She also investigates the collaboration challenges for hardware teams, specifically for CAD designers using online collaborative platforms. To achieve her goals, she combines advances in tooling and software engineering principles with insights from other disciplines that study human collaboration, for which she combines and mixes a wide range of research methods.