ESCHER: End-user SCripting for High-level softwarE Representation
Software dominates our modern civilization. However, as size, complexity, and lifetime of software in- crease, so does its cost. It is estimated that software maintenance exceeds 80% of the total development costs. Of this, nearly half is spent in program understanding.
Two main classes of instruments support program understanding. First, program analysis techniques extract a wealth of information from source code, dynamic program execution, and the development pro- cess itself, such as models, metrics, and proofs of correctness. Secondly, software visualization methods present this information in interactive ways to support the comprehension process using techniques such as graph layouts, diagrams, dense pixel displays, treemaps, glyphs, and timelines.
However, a fundamental gap is identifiable between the two: software analysis and visualization are not integrated in ways that effectively and efficiently support the sense-making, reasoning process, and hypothesis forming central to understanding. We argue that this gap is at the center of the limited adoption and success of software visualization methods and, arguably, of some more complex software analysis methods. For software visualization to make a true difference, it has to be centered on answering the questions of its stakeholders, rather than show the data emerging from program analyses.
We cast software analysis and visualization in a new framework, inspired by the highly successful visual analytics field. Central to our approach is providing abstractions, methods and tools that enable the stakeholders to effectively and efficiently formulate their questions as directly and as easily as possible, and ways that translate these questions, abstracting away from the raw analysis data, into suitable combinations of analysis and visualization instruments.
Members
- Prof. Dr. Paul Klint (project leader)
- Prof. Dr. Ir. Robert van Liere
- Drs. Atze van der Ploeg (PhD student)
Partners
- Centrum Wiskunde & Informatica (CWI)
- Rijksuniversiteit Groningen (RUG)
- Technische Universiteit van Eindhoven (TUE)
![]()
![]()
![]()

