Crosscutting concerns can hinder maintainability of a design because they do not adhere to a system's underlying modular structure. Developers, therefore, may wish to refacto...
Eduardo Figueiredo, Jon Whittle, Alessandro F. Gar...
Java developers often use decompilers to aid reverse engineering and obfuscators to prevent it. Decompilers translate low-level class files to Java source and can produce “good...
Nomair A. Naeem, Michael Batchelder, Laurie J. Hen...
An execution trace contains a description of everything that happened during an execution of a program. Execution traces are useful, because they can help software engineers under...
Modern architectures, such as the Intel Itanium, support speculation, a hardware mechanism that allows the early execution of expensive operations—possibly even before it is kno...
Noah Snavely, Saumya K. Debray, Gregory R. Andrews
Program slicing has many applications in software engineering activities including program comprehension, debugging, testing, maintenance, and model checking. In this paper, we pr...