We present views, a new approach to controlling concurrency. Fine-grained locking is often necessary to increase concurrency. Correctly implementing fine-grained locking with tod...
Statistical debugging uses lightweight instrumentation and statistical models to identify program behaviors that are strongly predictive of failure. However, most software is most...
The size and high rate of change of source code comprising a software system make it difficult for software developers to keep up with who on the team knows about particular parts...
Thomas Fritz, Jingwen Ou, Gail C. Murphy, Emerson ...
A reachability question is a search across feasible paths through a program for target statements matching search criteria. In three separate studies, we found that reachability q...
Though verification tools are finding industrial use, the utility of engineering optimizations that make them scalable and usable is not widely known. Despite the fact that seve...
We present an approach for describing tests using nondeterministic test generation programs. To write such programs, we introduce UDITA, a Java-based language with non-determinist...
Milos Gligoric, Tihomir Gvero, Vilas Jagannath, Sa...
Each day, a software developer needs to answer a variety of questions that require the integration of different kinds of project information. Currently, answering these questions...
Free and open source software (FOSS) is distributed and made available to users under different software licenses, mentioned in FOSS code by means of licensing statements. Variou...
We performed an empirical study to characterize factors that affect which bugs get fixed in Windows Vista and Windows 7, focusing on factors related to bug report edits and relat...
Philip J. Guo, Thomas Zimmermann, Nachiappan Nagap...
The principle goal of our research project is to improve the availability of service-oriented systems. This is especially important in systems that cross organizational boundaries...