Abstract. Many long-lived and distributed systems must remain available yet evolve over time, due to, e.g., bugfixes, feature extensions, or changing user requirements. To facilit...
In software evolution research logical coupling has extensively been used to recover the hidden dependencies between source code artifacts. They would otherwise go lost because of...
Abstract. Protocols that govern the interactions between software components are a popular means to support the construction of correct component-based systems. Previous studies ha...
A challenge of existing program comprehension approaches is to provide consistent and flexible representations for software systems. Maintainers have to match their mental models ...
ÐExplicitly stated program invariants can help programmers by identifying program properties that must be preserved when modifying code. In practice, however, these invariants are...
Michael D. Ernst, Jake Cockrell, William G. Griswo...