We present a declarative debugger for lazy functional logic programs with polymorphic type discipline. Whenever a computed answer is considered wrong by the user (error symptom), ...
Analyzing a program run can provide important insights about its correctness. Dynamic analysis of complex correctness properties, however, usually results in significant run-time ...
Matthew B. Dwyer, Alex Kinneer, Sebastian G. Elbau...
Objects model the world, and state is fundamental to a faithful modeling. Engineers use state machines to understand and reason about state transitions, but programming languages ...
Jonathan Aldrich, Joshua Sunshine, Darpan Saini, Z...
Integrative levels of program comprehension describe the evolution of our knowledge about a program from low-level program elements through successive and higher orders of knowled...
Program understanding tools manipulate program represensuch as abstract syntax trees, control-flow graphs, or data-flow graphs. This paper deals with the use of visitor combinat...