2,847 papers · page 113 of 143
Ralph E. Johnson
Many computer science research efforts fail. Some of this is inevitable, since research is risky. But sometimes the agenda of a group of researchers fails because there is a part of the problem that everyone agrees is crucial, but that nobody works on. Often this is because there…
Pallavi Joshi, Mayur Naik, Koushik Sen, David Gay
We present an effective dynamic analysis for finding a broad class of deadlocks, including the well-studied lock-only deadlocks as well as the less-studied, but no less widespread or insidious, deadlocks involving condition variables. Our analysis consists of two stages. In the f…
Aditya Kanade, Rajeev Alur, Sriram K. Rajamani, Ganesan Ramalingam
The definition of a data structure may permit many different concrete representations of the same logical content. A (client) program that accepts such a data structure as input is said to have a representation dependence if its behavior differs for logically equivalent input val…
Charles Killian, Karthik Nagaraj, Salman Pervez, Ryan Braud, James W. Anderson, Ranjit Jhala
Robust distributed systems commonly employ high-level recovery mechanisms enabling the system to recover from a wide variety of problematic environmental conditions such as node failures, packet drops and link disconnections. Unfortunately, these recovery mechanisms also effectiv…
Miryung Kim, Matthew Gee, Alex Loh, Napol Rachatasumrit
Knowing which parts of a system underwent which types of refactoring between two program versions can help programmers better understand code changes. Though there are a number of techniques that automatically find refactorings from two input program versions, these techniques ar…
Etienne Kneuss, Philippe Suter, Viktor Kuncak
We present Phantm, a static analyzer that uses a flow-sensitive analysis to detect type errors in PHP applications. Phantm can infer types for nested arrays, and can leverage runtime information and procedure summaries for more precise results. Phantm found over 200 true problems…
Ivo Krka
In this thesis, I will improve the state-of-the-art for capturing, analyzing, and refining functional requirements by providing support for synthesizing, analyzing, and refining Modal Transition Systems.
Steven Lauterburg, Rajesh K. Karmani, Darko Marinov, Gul Agha
This paper presents Basset, a tool for systematic testing of JVM-based actor programs. The actor programming model offers a promising approach for developing reliable concurrent and distributed systems. Since the actor model is based on message passing and disallows shared state,…
Wei Le, Mary Lou Soffa
Although a number of automatic tools have been developed to detect faults, much of the diagnosis is still being done manually. To help with the diagnostic tasks, we formally introduce fault correlation, a causal relationship between faults. We statically determine correlations ba…
Mu-Woong Lee, Jong-Won Roh, Seung-won Hwang, Sunghun Kim
In this paper, we propose a scalable instant code clone search engine for large-scale software repositories. While there are commercial code search engines available, they treat software as text and often fail to find semantically related code. Meanwhile, existing tools for seman…
Lian Li, Cristina Cifuentes, Nathan Keynes
Although buffer overflow detection has been studied for more than 20 years, it is still the most common source of security vulnerabilities in systems code. Different approaches using symbolic analysis have been proposed to detect this vulnerability. However, existing symbolic ana…
Guodong Li, Ganesh Gopalakrishnan
Interest in Graphical Processing Units (GPUs) is skyrocketing due to their potential to yield spectacular performance on many important computing applications. Unfortunately, writing such efficient GPU kernels requires painstaking manual optimization effort which is very error pr…
Shay Litvak, Nurit Dor, Rastislav Bodík, Noam Rinetzky, Mooly Sagiv
Statement st transitively depends on statement stseed if the execution of stseed may affect the execution of st. Computing transitive program dependences is a fundamental operation in many automatic software analysis tools. Existing tools find it challenging to compute transitive…
Yang Liu, Jun Sun, Jin Song Dong
Specification and verification of real-time systems are important research topics which have practical implications. In this work, we present a self-contained toolkit to analyze real-time systems, which supports system modeling, animated simulation and automatic verification (bas…
Audris Mockus
The key premise of an organization is to allow more efficient production, including production of high quality software. To achieve that, an organization defines roles and reporting relationships. Therefore, changes in organization's structure are likely to affect product's quali…
Del Myers, Margaret-Anne D. Storey
This research demonstration presents the tool, Dynamic Interactive Views for Reverse Engineering (Diver). Diver supports software understanding through a trace focused user interface. The trace focused user interface is a method of re-organizing the user interface of integrated d…
Narayan Ramasubbu, Rajesh Krishna Balan
In this paper, we study the decision making process involved in the five year lifecycle of a Bluetooth software product produced by a large, multi-national test and measurement firm. In this environment, customer change requests either have to be added as a standard feature in th…
Konstantin Rubinov
In this thesis, I investigate the problem of automatically generating test cases. In particular, I focus on the problem of automatic generation of integration test cases from unit test cases. I start from the observation that software is usually provided with many unit test cases…
Karissa Y. Sanbonmatsu
Biotechnology has achieved exquisite control over many biological systems. However, to design drugs computationally, we need to understand these systems at the atomic level of detail well enough to predict their behavior. While we have not achieved this goal, advances in high-per…
Hesham Shokry
Early system requirements are often captured by declarative and property-based artifacts, such as scenarios and goals. While such artifacts are intuitive and useful, they are partial and typically lack an overarching structure to allow systematic elaboration of the fragmented beh…