An open source project typically maintains an open bug repository so that bug reports from all over the world can be gathered. When a new bug report is submitted to the repository...
Xiaoyin Wang, Lu Zhang, Tao Xie, John Anvik, Jiasu...
Automatically detecting bugs in programs has been a long-held goal in software engineering. Many techniques exist, trading-off varying levels of automation, thoroughness of covera...
Pervasive computing software adapts its behavior according to the changing contexts. Nevertheless, contexts are often noisy. Context inconsistency resolution provides a cleaner pe...
This paper describes Juzi, a tool for automatic repair of complex data structures. Juzi takes a Java class representing the data structure as well as a predicate method that speci...
According to Parnas's information hiding principle and Baldwin and Clark's design rule theory, the key step to decomposing a system into modules is to determine the desi...
Sunny Huynh, Yuanfang Cai, Yuanyuan Song, Kevin J....
We investigate relationships among software quality measures commonly used to assess the value of a technology, and several aspects of customer perceived quality measured by Inter...
Dynamically discovering likely program invariants from concrete test executions has emerged as a highly promising software engineering technique. Dynamic invariant inference has t...
Christoph Csallner, Nikolai Tillmann, Yannis Smara...
Efforts for software evolution supersede any other part of the software life cycle. Technological decisions have a major impact on the maintainability, but are not well reflected ...
In software development, resources for quality assurance are limited by time and by cost. In order to allocate resources effectively, managers need to rely on their experience bac...
JPREDICTOR is a tool for detecting concurrency errors in JAVA programs. The JAVA program is instrumented to emit property-relevant events at runtime and then executed. The resulti...