Abstract. Performance understanding and prediction are extremely important goals for guiding the application of program optimizations or in helping programmers focus their efforts...
Design patterns are widely recognized as important software development methods. Their use as software understanding tools, though generally acknowledged has been scarcely explore...
Speech is a tantalizing mode of human communication. On one hand, humans understand speech with ease and use speech to express complex ideas, information, and knowledge. On the ot...
Eric W. Brown, Savitha Srinivasan, Anni Coden, Dul...
As a software system evolves, its architecture will drift. System changes are often done without considering their effects on the system structure. These changes often introduce s...
John B. Tran, Michael W. Godfrey, Eric H. S. Lee, ...
As a program evolves, it becomes increasingly difficult to understand and reason about changes in the source code. Eventually, if enough changes are made, reverse engineering and ...