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...
In the field of Human-Computer Interaction, provenance refers to the complete history and genealogy of a document. Provenance can be useful in identifying related resources, such as different versions of the same document or resources used in the creation of a new document. Though methods of provenance collection and applications...
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...
Open source software has become a powerful force in the world of computing. While once confined to the domain of technical specialists, people of all types have begun to adopt this software – from the casual web-surfer who uses Firefox, to the professional web developer who codes in PHP or...
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,...
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 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...
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....
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...
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...