Automated cost-effective test strategies are needed to provide reliable, secure, and usable web applications. As a software maintainer updates an application, test cases must accu...
Sara Sprenkle, Sreedevi Sampath, Emily Gibson, Lor...
Distributed applications provide numerous advantages related to software performance, reliability, interoperability, and extensibility. This paper focuses on distributed Java prog...
This paper presents an approach for comprehending large software systems using views that are created by subjecting the software systems to dynamic analysis under various use-case...
We have built a software development tool, CLIME, that uses constraints to ensure the consistency of the different artifacts associated with software. This approach to software dev...
IRiSS (Information Retrieval based Software Search) is a software exploration tool that uses an indexing engine based on an information retrieval method. IRiSS is implemented as a...
Software merging is a common and essential activity during the lifespan of large-scale software systems. Traditional textual merge techniques are inadequate for detecting syntacti...
This paper describes a refactoring process transforming a Java code base into an AspectJ equivalent. The process illustrates 17 aspect-oriented refactorings covering extraction of...
Program flow analysis has many applications in software tools for program understanding, restructuring, verification, testing and reverse engineering. There are two important re...
This paper presents IntensiVE, a tool suite implemented in Cincom VisualWorks Smalltalk that allows for the documentation and co-evolution of high-level structural regularities in...
As size and complexity of software systems increase, preserving the design and specification of their implementation structure gains importance in order to maintain the evolvabil...