Program State Visualizer with User-Defined Representation Conversion (bibtex)
by Rifqi Adlan Apriyadi, Hidehiko Masuhara and Youyou Cong
Abstract:
Conventional non-visual tree-based debuggers possess comprehensibility issues, which include the obscurity of object references, patterns, and overall program structure. Visual debuggers — specifically, ones that display an object diagram to represent the program state — alleviate these issues for imperative programming languages whose very states are directly manipulated by the programmer's statements. However, these debuggers are also prone to clutter when representing large program states from visualizing too much information. Additionally, the visualized program state can often differ from its conceptual abstraction on paper. We propose user-defined representation conversion which allows users to convert concrete representations of program states to their more focused and abstracted conceptual versions. We design a DSL such that users can specify conversions to manipulate displayed nodes and edges based on object types, references, values, or debugger halt locations. We implemented a prototype of this concept for Java.
Reference:
Program State Visualizer with User-Defined Representation Conversion (Rifqi Adlan Apriyadi, Hidehiko Masuhara and Youyou Cong), In Proceedings of the 1st ACM International Workshop on Future Debugging Techniques (Elisa Gonzalez Boix, Christophe Scholliers, eds.), ACM, 2023.
Bibtex Entry:
@inproceedings{apriyadi2023debt,
  author = {{Rifqi Adlan} Apriyadi and Hidehiko Masuhara and Youyou Cong},
  title = {Program State Visualizer with User-Defined Representation Conversion},
  booktitle = {Proceedings of the 1st ACM International Workshop on Future Debugging Techniques},
  year = 2023,
  editor = {Elisa Gonzalez Boix and Christophe Scholliers},
  url = {https://conf.researchr.org/details/ecoop-issta-2023/debt-2023/2/Program-State-Visualizer-with-User-Defined-Representation-Conversion},
  month = jul,
  location = {Seattle, Washington, USA},
  pdf = {debt2023.pdf},
  isbn = 9798400702457,
  publisher = {{ACM}},
  address = {New York, NY, USA},
  doi = {10.1145/3605155.3605863},
  abstract = {Conventional non-visual tree-based debuggers possess comprehensibility issues, which include the obscurity of object references, patterns, and overall program structure. Visual debuggers --- specifically, ones that display an object diagram to represent the program state --- alleviate these issues for imperative programming languages whose very states are directly manipulated by the programmer's statements. However, these debuggers are also prone to clutter when representing large program states from visualizing too much information. Additionally, the visualized program state can often differ from its conceptual abstraction on paper. We propose user-defined representation conversion which allows users to convert concrete representations of program states to their more focused and abstracted conceptual versions. We design a DSL such that users can specify conversions to manipulate displayed nodes and edges based on object types, references, values, or debugger halt locations. We implemented a prototype of this concept for Java.},
  pages = {5--10},
  numpages = 6,
  keywords = {representation conversion, domain-specific language, visual debugger},
  series = {DEBT 2023}
}
Powered by bibtexbrowser