Christian Bird




Background

I am currently a Computer Science Ph.D. student at the University Of California, Davis. I received my bachelor's degree in CS from Brigham Young University in 2003. I've worked at Caldera, Lineo, Embedix, Motorola, and Freescale. I've also dabbled in the OSS world in the PyQt, Kate, and MoinMoin projects. Since Fall of 2004 I have been in Graduate School at UC Davis studying software engineering under Prem Devanbu. I received my Master's degree in 2008 and will complete my Ph.D. in Spring, 2010.

Research

I'm interested in software engineering and programming languages. I'm lucky to be working with my (sometimes wacky, but always fun) advisor Prem Devanbu, mining and analyzing bug data, mailing list archives, and source code repository history from both OSS and commercial projects. We've hoping to use social network analysis techniques to understand, among other things, how the social network structure of developers of a software project is related to the quality and the structure of the software itself (hoping to validate Conway's Law).

I've had the opportunity of working with many wonderful people and at some amazing places during the course of my research. I owe a debt of gratitude to those who have taught me and allowed me to work with them.

Curriculum vitae

Current Professional Activities

I am currently on the program committees for Please consider submitting!

Publications

Since I'm funded on a grant from the NSF, the taxpayers of the United States are paying for the research I (and many others) do. As such, I think it is ridiculous that access to most of the papers produced by this research is restricted and requires payment (try downloading my paper from the ACM here as an example). I therefore list them below.

Christian Bird, Nachiappan Nagappan, Premkumar Devanbu, Harald Gall, Brendan Murphy. Putting it All Together: Using Socio-Technical Networks to Predict Failures. In Proceedings of the 17th International Symposium on Software Reliability Engineering (ISSRE 09), Bengaluru-Mysuru, India, 2009.

PDF Abstract BibTeX

Studies have shown that social factors in development organizations have a dramatic effect on software quality. Separately, program dependency information has also been used successfully to predict which software components are more fault prone. Interestingly, the influence of these two phenomena have only been studied separately. Intuition and practical experience suggests, however, that task assignment (i.e. who worked on which components and how much) and dependency structure (which components have dependencies on others) together interact to influence the quality of the resulting software. We study the influence of combined socio-technical software networks on the fault-proneness of individual software components within a system. The network properties of a software component in this combined network are able to predict if an entity is failure prone with greater accuracy than prior methods which use dependency or contribution information in isolation. We evaluate our approach in different settings by using it on Windows Vista and across six releases of the Eclipse development environment including using models built from one release to predict failure prone components in the next release. We compare this to previous work. In every case, our method performs as well or better and is able to more accurately identify those software components that have more post-release failures, with precision and recall rates as high as 85%.

@inproceedings{bird2009pat,
    Author = {Christian Bird and Nachiappan Nagappan and Premkumar Devanbu and Harald Gall and Brendan Murphy},
    Title = {{Putting it All Together: Using Socio-Technical Networks to Predict Failures} },
    Booktitle = {Proceedings of the 17th International Symposium on Software Reliability Engineering},
    Publisher = {IEEE Computer Society},
    Year = {2009},
    Location = {Bengaluru-Mysuru, India},
}

Christian Bird, Adrian Bachmann, Eirik Aune, John Duffy, Abraham Bernstein and Vladimir Filkov, Premkumar Devanbu. Fair and Balanced? Bias in Bug-Fix Datasets. In Proceedings of the the Seventh joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (ESEC/FSE 09), Amsterdam, Netherlands, 2009.

PDF Abstract BibTeX

Software engineering researchers have long been interested in where and why bugs occur in code, and in predicting where they might turn up next. Historical bug-occurence data has been key to this research. Bug tracking systems, and code version histories, record when, how and by whom bugs were fixed; from these sources, datasets that relate file changes to bug fixes can be extracted. These historical datasets can be used to test hypotheses concerning processes of bug introduction, and also to build statistical bug prediction models. Unfortunately, processes and humans are imperfect, and only a fraction of bug fixes are actually labelled in source code version histories, and thus become available for study in the extracted datasets. The question naturally arises, are the bug fixes recorded in these historical datasets a fair representation of the full population of bug fixes? In this paper, we investigate historical data from several software projects, and find strong evidence of systematic bias. We then investigate the potential effects of "unfair, imbalanced" datasets on the performance of prediction techniques. We draw the lesson that bias is a critical problem that threatens both the effectiveness of processes that rely on biased datasets to build prediction models and the generalizability of hypotheses tested on biased data

@inproceedings{bird2009fbb,
    Author = {Christian Bird and Adrian Bachmann and Eirik Aune and John Duffy and Abraham Bernstein and
	Vladimir Filkov and Premkumar Devanbu},
    Title = {{Fair and Balanced? Bias in Bug-Fix Datasets} },
    Booktitle = {Proceedings of the the Seventh joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering},
    Publisher = {ACM},
    Year = {2009},
    Location = {Amsterdam, Netherlands},
}

Christian Bird, Peter C. Rigby, Earl T. Barr, David J. Hamilton, Daniel M. German, Prem Devanbu. The Promises and Perils of Mining Git. In Proceedings of the Sixth Working Conference on Mining Software Repositories (MSR 09), Vancouver, Canada, 2009.

PDF Abstract BibTeX

We are now witnessing the rapid growth of decentralized source code management (DSCM) systems, in which every developer has her own repository. DSCMs facilitate a style of collaboration in which work output can flow sideways (and privately) between collaborators, rather than always up and down (and publicly) via a central repository. Decentralization comes with both the promise of new data and the peril of its misinterpretation. We focus on git, a very popular DSCM used in high-profile projects. Decentralization, and other features of git, such as automatically recorded contributor attribution, lead to richer content histories, giving rise to new questions such as ``How do contributions flow between developers to the official project repository?'' However, there are pitfalls. Commits may be reordered, deleted, or edited as they move between repositories. The semantics of terms common to SCMs and DSCMs sometimes differ markedly, potentially creating confusion. For example, a commit is immediately visible to all developers in centralized SCMs, but not in DSCMs. Our goal is to help researchers interested in DSCMs avoid these and other perils when mining and analyzing git data.

@inproceedings{bird2009ppm,
    Author = {Christian Bird and Peter C. Rigby and Earl T. Barr and David J. Hamilton and Daniel M. German and Prem Devanbu},
    Title = {{The Promises and Perils of Mining Git}},
    Booktitle = {Proceedings of the Sixth Working Conference on Mining Software Repositories},
    Publisher = {IEEE Computer Society},
    Year = {2009},
    Location = {Vancouver, Canada},
}

Christian Bird, Earl Barr, Andre Nash, Premkumar Devanbu, Vladimir Filkov, Zhendong Su. Structure and Dynamics of Research Collaboration in Computer Science. In Proceedings of the Ninth SIAM International Conference on Data Mining (SDM 09), Sparks, Nevada, USA, 2009.

PDF Abstract BibTeX

Complex systems exhibit emergent patterns of behavior at different levels of organization. Powerful network analysis methods, developed in physics and social sciences, have been successfully used to tease out patterns that relate to community structure and network dynamics. In this paper, we mine the complex network of collaboration relationships in computer science, and adapt these network analysis methods to study collaboration and interdisciplinary research at the individual, within-area and network-wide levels.

We start with a collaboration graph extracted from the DBLP bibliographic database and use extrinsic data to define research areas within computer science. Using topological measures on the collaboration graph, we find significant differences in the behavior of individuals among areas based on their collaboration patterns. We use community structure analysis, betweenness centralization, and longitudinal assortativity as metrics within each area to determine how centralized, integrated, and cohesive they are. Of special interest is how research areas change with time. We longitudinally examine the area overlap and migration patterns of authors, and empirically confirm some computer science folklore.

We also examine the degree to which the research areas and their key conferences are interdisciplinary. We find that data mining and software engineering are very interdisciplinary while theory and cryptography are not. Specifically, it appears that SDM and ICSE attract authors who publish in many areas while FOCS and STOC do not. We also examine isolation both within and between areas. One interesting discovery is that cryptography is highly isolated within the larger computer science community, but densely interconnected within itself.

@inproceedings{bird2009sdr,
    Author = {Christian Bird and Earl Barr and   Andre Nash and Premkumar Devanbu and Vladimir Filkov   and Zhendong Su},
    Title = {{Structure and Dynamics of Research Collaboration in Computer Science} },
    Booktitle = {Proceedings of the Ninth SIAM International Conference on Data Mining},
    Pages = {826--837},
    Publisher = {SIAM},
    Year = {2009},
    Location = {Sparks, Nevada, USA},
}

Christian Bird, Nachiappan Nagappan, Premkumar Devanbu, Harald Gall, Brendan Murphy. Does Distributed Development Affect Software Quality? An Empirical Case Study of Windows Vista. In Communications of the ACM, August 2009.

PDF Abstract BibTeX

Existing literature on distributed development in software engineering, and other fields discuss various challenges, including cultural barriers, expertise transfer difficulties, and communication and coordination overhead. Conventional wisdom, in fact, holds that distributed software development is riskier and more challenging than collocated development. We revisit this belief, empirically studying the overall development of Windows Vista and comparing the post-release failures of components that were developed in a distributed fashion with those that were developed by collocated teams. We found a negligible difference in failures. This difference becomes even less significant when controlling for the number of developers working on a binary. Furthermore, we also found that component characteristics (such as code churn, complexity, dependency information, and test code coverage) differ very little between distributed and collocated components. Finally, we examine the software process used during the Vista development cycle and examine how it may have mitigated some of the difficulties of distributed development introduced in prior work in this area.

@article{bird2009dddb,
    Author = {Christian Bird and Nachiappan Nagappan and   Premkumar Devanbu and Harald Gall and Brendan Murphy},
    Title = {{Does Distributed Development Affect Software Quality? An Empirical   Case Study of Windows Vista} },
    Journal = {Communications of the ACM},
    Volume = {52},
    Number = {8},
    Pages = {85--93},
    Publisher = {ACM},
    Month = {August},
    Year = {2009},
}

Christian Bird, Nachiappan Nagappan, Premkumar Devanbu, Harald Gall, Brendan Murphy. Does Distributed Development Affect Software Quality? An Empirical Case Study of Windows Vista. In Proceedings of the 31st International Conference on Software Engineering (ICSE 09), Vancouver, Canada, 2009.

PDF Abstract BibTeX

Existing literature on distributed development in software engineering, and other fields discuss various challenges, including cultural barriers, expertise transfer difficulties, and communication and coordination overhead. Conventional wisdom, in fact, holds that distributed software development is riskier and more challenging than collocated development. We revisit this belief, empirically studying the overall development of Windows Vista and comparing the post-release failures of components that were developed in a distributed fashion with those that were developed by collocated teams. We found a negligible difference in failures. This difference becomes even less significant when controlling for the number of developers working on a binary. Furthermore, we also found that component characteristics (such as code churn, complexity, dependency information, and test code coverage) differ very little between distributed and collocated components. Finally, we examine the software process used during the Vista development cycle and examine how it may have mitigated some of the difficulties of distributed development introduced in prior work in this area.

@inproceedings{bird2009ddd,
    Author = {Christian Bird and Nachiappan Nagappan and   Premkumar Devanbu and Harald Gall and Brendan Murphy},
    Title = {{Does Distributed Development Affect Software Quality? An Empirical   Case Study of Windows Vista} },
    Booktitle = {Proceedings of the 31st International Conference on Software Engineering},
    Pages = {518--528},
    Publisher = {IEEE Computer Society},
    Year = {2009},
    Location = {Vancouver, Canada},
}

Christian Bird, David Pattison, Raissa D'Souza, Vladimir Filkov, Premkumar Devanbu. Latent Social Structure in Open Source Projects. In SIGSOFT '08/FSE-16: Proceedings of the 16th ACM SIGSOFT Symposium on Foundations of Software Engineering (FSE 08), Atlanta, Georgia, USA, 2008.

PDF Abstract BibTeX

Commercial software project managers design project organizational structure carefully, mindful of available skills, division of labour, geographical boundaries, etc. These organizational "cathedrals" are to be contrasted with the "bazaar-like" nature of Open Source Software (OSS) Projects, which have no pre-designed organizational structure. Any structure that exists is dynamic, self-organizing, latent, and usually not explicitly stated. Still, in large, complex, successful, OSS projects, we do expect that subcommunities will form spontaneously within the developer teams. Studying these subcommunities, and their behavior can shed light on how successful OSS projects self-organize. This phenomenon could well hold important lessons for how commercial software teams might be organized. Building on known well-established techniques for detecting community structure in complex networks, we extract and study latent subcommunities from the email social network of several projects: Apache HTTPD, Python, PostgresSQL, Perl, and Apache ANT. We then validate them with software development activity history. Our results show that subcommunities do indeed spontaneously arise within these projects as the projects evolve. These subcommunities manifest most strongly in technical discussions, and are significantly connected with collaboration behaviour.

@inproceedings{bird2008lss,
    Author = {Christian Bird and David Pattison and Raissa D'Souza and   Vladimir Filkov and Premkumar Devanbu},
    Title = {{Latent Social Structure in Open Source Projects} },
    Booktitle = {SIGSOFT '08/FSE-16: Proceedings of the 16th ACM SIGSOFT Symposium  on Foundations of Software Engineering},
    Pages = {24--35},
    Publisher = {ACM},
    Year = {2008},
    Location = {Atlanta, Georgia, USA},
}

David Pattison, Christian Bird, Premkumar Devanbu. Talk and Work: a Preliminary Report. In Proceedings of the Fifth International Working Conference on Mining Software Repositories (MSR 08), Leipzig, Germany, 2008.

PDF BibTeX
@inproceedings{pattison2008twp,
    Author = {David Pattison and Christian Bird and Premkumar Devanbu},
    Title = {{Talk and Work: a Preliminary Report} },
    Booktitle = {Proceedings of the Fifth International Working Conference on Mining Software Repositories},
    Pages = {113--116},
    Publisher = {ACM},
    Year = {2008},
    Location = {Leipzig, Germany},
}

Zachary M. Saul, Vladimir Filkov, Premkumar Devanbu, Christian Bird. Recommending Random Walks. In ESEC-FSE '07: Proceedings of the the Sixth joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering (FSE 07), Dubrovnik, Croatia, 2007.

PDF BibTeX
@inproceedings{saul2007rrw,
    Author = {Zachary M. Saul and Vladimir Filkov and Premkumar Devanbu and Christian Bird},
    Title = {{Recommending Random Walks} },
    Booktitle = {ESEC-FSE '07: Proceedings of the the Sixth joint meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on The Foundations of Software Engineering},
    Pages = {15--24},
    Publisher = {ACM},
    Year = {2007},
    Location = {Dubrovnik, Croatia},
}

Christian Bird, Alex Gourley, Prem Devanbu. Detecting Patch Submission and Acceptance in OSS Projects. In Proceedings of the Fourth International Workshop on Mining Software Repositories (MSR 07), Minneapolis, Minnesota, USA, 2007.

PDF BibTeX
@inproceedings{bird2007dps,
    Author = {Christian Bird and Alex Gourley and Prem Devanbu},
    Title = {{Detecting Patch Submission and Acceptance in OSS Projects} },
    Booktitle = {Proceedings of the Fourth International Workshop on Mining Software Repositories},
    Pages = {26--35},
    Publisher = {IEEE Computer Society},
    Year = {2007},
    Location = {Minneapolis, Minnesota, USA},
}

Michael Ogawa, Kwan-Liu Ma, Christian Bird, Premkumar T. Devanbu, Alex Gourley. Visualizing Social Interaction in Open Source Software Projects. In Sixth International Asia-Pacific Symposium on Visualization (APVIS 07), 2007.

PDF BibTeX
@inproceedings{ogawa2007vsi,
    Author = {Michael Ogawa and Kwan-Liu Ma and Christian Bird and Premkumar T. Devanbu and                Alex Gourley},
    Title = {{Visualizing Social Interaction in Open Source Software Projects} },
    Booktitle = {Sixth International Asia-Pacific Symposium on Visualization},
    Pages = {25--32},
    Year = {2007},
}

Christian Bird, Alex Gourley, Prem Devanbu, Anand Swaminathan, Greta Hsu. Open Borders? Immigration in Open Source Projects. In Proceedings of the Fourth International Workshop on Mining Software Repositories (MSR 07), Minneapolis, Minnesota, USA, 2007.

PDF BibTeX
@inproceedings{bird2007obi,
    Author = {Christian Bird and Alex Gourley and Prem Devanbu and Anand Swaminathan and Greta Hsu},
    Title = {{Open Borders? Immigration in Open Source Projects} },
    Booktitle = {Proceedings of the Fourth International Workshop on Mining Software Repositories},
    Pages = {6},
    Publisher = {IEEE Computer Society},
    Year = {2007},
    Location = {Minneapolis, Minnesota, USA},
}

Christian Bird, Alex Gourley, Prem Devanbu, Michael Gertz, Anand Swaminathan. Mining Email Social Networks. In Proceedings of the Third International Workshop on Mining software repositories (MSR 06), Shanghai, China, 2006.

PDF BibTeX
@inproceedings{bird2006mes,
    Author = {Christian Bird and Alex Gourley and Prem Devanbu and Michael Gertz and Anand Swaminathan},
    Title = {{Mining Email Social Networks} },
    Booktitle = {Proceedings of the Third International Workshop on Mining software repositories},
    Pages = {137--143},
    Publisher = {ACM},
    Year = {2006},
    Location = {Shanghai, China},
}

Christian Bird, Alex Gourley, Prem Devanbu, Michael Gertz, Anand Swaminathan. Mining Email Social Networks in Postgres. In Proceedings of the Third International Workshop on Mining software repositories (Challenge Track) (MSR 06), Shanghai, China, 2006.

PDF BibTeX
@inproceedings{bird2006mesp,
    Author = {Christian Bird and Alex Gourley and Prem Devanbu and Michael Gertz and Anand Swaminathan},
    Title = {{Mining Email Social Networks in Postgres} },
    Booktitle = {Proceedings of the Third International Workshop on Mining software repositories (Challenge Track)},
    Pages = {185--186},
    Publisher = {ACM},
    Year = {2006},
    Location = {Shanghai, China},
}

Others
Color Scheme