Numerous techniques exist to help users automate repetitive tasks; however, none of these methods fully support enduser creation, use, and modification of the learned tasks. We pr...
Aaron Spaulding, Jim Blythe, Will Haines, Melinda ...
Software systems are designed and engineered to process data. However, software is data too. The size and variety of today's software artifacts and the multitude of stakehold...
We present Binary Refactoring: a software engineering technique for improving the implementation of programs without modifying their source code. While related to regular refactor...
—Automatic white-box test generation is a challenging problem. Many existing tools rely on complex code analyses and heuristics. As a result, structural features of an input prog...
Concept location techniques are designed to help isolate sections of source code that relate to specific concepts. Blind Signal Separation techniques like Singular Value Decompos...