Continuous integration (CI) systems automate the compilation, building, and testing of software. Despite CI rising as a big success story in automated software engineering, it has received almost no attention from the research community. For example, how widely is CI used in practice, and what are some costs and benefits...
Current software development practices leave a plethora of activities that are archived in version control systems, issue trackers, mailing lists, or Question and Answer (Q&A) forums. Software managers are increasingly using these online activities to better evaluate job candidates. We introduce our tool, Visual Resume, that displays visual overviews of...
To avoid unresponsiveness, a core part of mobile development is asynchronous programming. Android provides several async constructs that developers can use. However, developers can still use the inappropriate async constructs, which result in memory leaks, lost results, and wasted energy. Fortunately, refactoring tools can eliminate these problems by transforming async...
Despite software history being indispensable for developers, there is little empirical knowledge about how they examine software history. Without such knowledge, researchers and tool builders are in danger of making wrong assumptions and building inadequate tools.
In this paper we present an in-depth empirical study about the motivations developers have...
A bad software development process leads to wasted effort and inferior products. In order to improve a software process, it is important to first understand it. Our unique approach in this paper is to use code and test changes to understand conformance to a process. We analyze the meaning of...
Mutation analysis is often used to compare the effectiveness of different test suites or testing techniques. One of the main assumptions underlying this technique is the Competent Programmer Hypothesis, which proposes that programs are very close to a correct version, or that the difference between current and correct code for...
Three-dimensional symmetric tensor fields have a wide range of applications in solid and fluid mechanics. Recent advances in the topological analysis of 3D symmetric tensor fields focus on the local behaviors of tensor fields at degenerate points, which usually form curves. In this paper, we make a number of observations...
We present a catalog of mutation operators for spreadsheets drawn from research into mutation testing for general purpose programming languages and from spreadsheet errors that have been reported in literature. These operators are integrated into a system, called μTest, which allows users to create and maintain spreadsheet test cases. Three...