Merge conflicts have long plagued software development. With larger and more dispersed teams comes greater risk of developers working on the same code at the same time. While merge conflicts are known to be painful, their exact impact on software is still largely unknown. Are merge conflicts an isolated problem,...
Mutation analysis is the gold standard for evaluating test-suite adequacy. It involves exhaustive seeding of all small faults in a program and evaluating the effectiveness of test suites in detecting these faults. Mutation analysis subsumes numerous structural coverage criteria, approximates fault detection capability of test suites, and the faults produced...
The art of software engineering inherently requires high-level problem solving and perseverance, as programmers and designers wrestle with complex design and implementation challenges in the process of turning loose concepts and ideas into working code. In the current developer ecosystem, engineers are commonly incentivized extrinsically by monetary rewards, approval or...
Over the past few decades, the ratio of women to men in many traditionally maledominated fields has become much more equal. However, in science, technology, engineering, and math (STEM) fields the ratio has not improved at the same rate. In computer science the ratio is still very uneven. Today women...
Free / Open Source Software developers come from a myriad of different backgrounds. While some contribute for personal reasons, many become involved because they receive compensation from corporations or foundations. The motivation for participating in a project can have dramatic impacts on how and what contribution an individual makes. These...
Free and open source software (FOSS) projects primarily rely on the efforts of volunteer contributors from around the world. For this reason, recruiting and retaining contributor is vital to the sustainability and growth of FOSS projects. This notion became the jumping-off point for this three-part investigation into the cultural structure...
Free/Open Source Software (FOSS) communities often use open bug reporting to allow users to participate by reporting bugs. This practice can lead to more duplicate reports, as inexperienced users can be less rigorous about researching existing bug reports. The purpose of this research is to determine the extent of this...
While there are powerful keyword search systems that index all kinds of resources including emails and web pages, people have trouble recalling semantic facts such as the name, location, edit dates and keywords that uniquely identifies resources in their personal repositories. Reusing information exasperates this problem. A rarely used approach...
Free/Open Source Software (FOSS) is a powerful development paradigm for
creating software. Increasingly more FOSS projects, like Firefox and Android, are
integrated into mainstream technology. It is important that FOSS projects serve its
diverse user base well. Several surveys have found that existing FOSS communities
are very homogenous populations and...
Keeping FOSS developers motivated is a challenging problem, and their motivation levels can affect the team's productivity and satisfaction, leading to higher or lower productivity. Using reputation systems as a motivator has become the de-facto standard for many online communities, rewarding user's activity through badges of honor or achievement levels....