Current refactoring tools work on a particular language. Each time it is intended to provide refactoring support for new languages, the same refactoring operations are defined and...
Most modern programming languages rely on exceptions for dealing with abnormal situations. Although exception handling was a significant improvement over other mechanisms like chec...
Static and dynamic type systems have well-known strengths and weaknesses. In previous work we developed a gradual type system for a functional calculus named λ? →. Gradual typin...
Modern integrated development environments, such as ECLIPSE, provide automated or semi-automated refactoring support. Despite this support, refactorings are often done manually --...
In runtime monitoring, a programmer specifies a piece of code to execute when a trace of events occurs during program execution. Our work is based on tracematches, an extension to...
Eric Bodden, Laurie J. Hendren, Ondrej Lhotá...