An Interactive System for Data Structure Development

517 views · Published 6 April 2015 · 0:33 · Indexed 20 September 2026

Channel: Association for Computing Machinery (ACM) · 2015 · Science & Technology

Watch on YouTube

An Interactive System for Data Structure Development
Jibin Ou, Martin Vechev, Otmar Hilliges

Abstract:
Data structure algorithms are of fundamental importance in teaching and software development, yet are difficult to understand. We propose a new approach for understanding, debugging and developing heap manipulating data structures. \  \ The key technical idea of our work is to combine deep parametric abstraction techniques emerging from the area of static analysis with interactive abstraction manipulation. Our approach bridges program analysis with HCI and enables new capabilities not possible before: i) online automatic visualization of the data structure in a way which captures its essential operation, thus enabling powerful local reasoning, and ii) fine grained pen and touch gestures allowing for interactive control of the abstraction -- at any point the developer can pause the program, graphically interact with the data, and continue program execution. These features address some of the most pressing challenges in developing data structures. \  \ We implemented our approach in a Java-based system called FluiEdt and evaluated it with $27$ developers. The results indicate that FluiEdt is more effective in helping developers find data structure errors than existing state of the art IDEs (e.g. Eclipse) or pure visualization based approaches.

ACM DL: http://dl.acm.org/citation.cfm?id=2702319
DOI: http://dx.doi.org/10.1145/2702123.2702319

More from this channel