[10-29]Using Software Changes to Understand Software Projects
Date:2009-10-28
Title:Using Software Changes to Understand Software Projects
Speaker:Audris Mockus (Professor of Avaya Labs Research)
Time:10:00-11:30 am, Thursday Oct. 29
Venue:Lecture room, State Key Lab of Computer Science, Level 3 Building #5
Abstract:
Software systems are created and maintained by making changes to their source code. Therefore, understanding the nature and relationships among changes and their effects on the success of software projects is essential to improve software engineering. Using methods and tools to retrieve, process, and model data from ubiquitous change management systems we have gained insights into the relationships among properties of the software product, the way it is constructed, and outcomes, including quality, effort, and interval. We illustrate how measures and models of changes can lead to a better understanding of a software project. In particular, we analyze the relationship between the test coverage and customer reported defects, the transfer of code and its impact on developer productivity, and the divergence of developer and customer view of software quality. We find that increases in test coverage are related to lower defect density, but reaching high levels of coverage requires exponentially more effort. Transfer of code ownership reduces developer productivity and in larges projects the productivity may be reduced up to three times while in offshoring up to two times as compared to the original developers. Finally, customer perception of software quality represented by the fraction of customers that experience and report software defects, is not related to a simple-to-compute measure of defect density commonly used to assess the quality of a software projects.
Biography:
Audris Mockus is interested in quantifying, modeling, and improving software development. He designs data mining methods to summarize and augment software change data, interactive visualization techniques to inspect, present, and control the development process, and statistical models and optimization techniques to understand the relationships among people, organizations, and characteristics of a software product.
Audris Mockus received B.S. and M.S. in Applied Mathematics from Moscow Institute of Physics and Technology in 1988. In 1991 he received M.S. and in 1994 he received Ph.D. in Statistics from CarnegieMellonUniversity. He works at Avaya Labs Research. Previously he worked in the Software Production Research Department of Bell Labs. Audris Mockus serves on the editorial board of IEEE Transactions on Software Engineering and International Journal of Empirical Software Engineering. He had organized the first workshop on mining software repositories and on socio-technical congruence.