The purpose of refactoring is to improve the quality of a software system by changing its internal design so that it is easier to understand or modify, or less prone to errors and...
Information about string values at key points in a program can help program understanding, reverse engineering, and forensics. We present a static-analysis technique for recoverin...
Modeling object-oriented applications using collaborations and roles is now well accepted. Collaboration-based or role-based designs decompose an application into tasks performed ...
Many software systems suffer from missing support for behavioral (runtime) composition and configuration of software components. The concern "behavioral composition and confi...
Modern integrated development environments (IDEs) provide programmers with a variety of sophisticated tools for program visualization and manipulation. These tools assist the prog...