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...
Producing precise and helpful error messages for type inference is still a challenge for implementations of functional languages. Current approaches often lack precision in terms of locating the origins of type errors. Moreover, suggestions for how to fix type errors that are offered by some tools are also often vague...
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...
Mutation analysis is a well-known method for measuring the quality of test suites. However, it is computationally intensive compared to other measures, which makes it hard to use in practice. Choosing a smaller subset of mutations to run is a simple approach that can alleviate this problem. Mutation operator selection...
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...
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...
Design and control of vector fields is critical for many visualization and graphics tasks such as vector field visualization, fluid simulation, and texture synthesis. The fundamental qualitative structures associated with vector fields are fixed points, periodic orbits, and separatrices. In this paper we provide a new technique that allows for...
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...
Sequential supervised learning problems involve assigning a class label to each item in a sequence. Examples include part of speech tagging and text to speech mapping. A very general-purpose strategy for solving such problems is to construct a recurrent sliding window (RSW) classifier which maps some window of the input...
Limited bandwidth and high packet loss rate pose a serious challenge for video streaming applications over wireless networks. Even when packet loss is not present, the bandwidth fluctuation as a result of an arbitrary number of active flows in an IEEE 802.11 network, can significantly degrade the video quality. This...