Advanced search
1 file | 2.63 MB Add to list

GraphRedex : look at your research

Author
Organization
Project
Abstract
A significant aspect of designing new programming languages is to define their operational semantics. Working with a pen and paper version of such a semantics is notoriously difficult. For this reason, tools for computer aided semantics engineering were created. Many of these tools allow programmers to execute their language's operational semantics. An executable semantics makes it easier to verify whether the execution of a program leads to the desired result. When a program exhibits unexpected behavior, the programmer can consult the reduction graph to see what went wrong. Unfortunately, visualization of these graphs is currently not well‐supported by most tools. Consequently, the comprehension of errors remains challenging. In this article, we present GraphRedex an open‐source tool that empowers language designers to interactively explore their reduction graphs, offering three main benefits. First, a global exploration mode allows users to obtain a bird's‐eye overview of the reduction graph and learn its high level workings. Second, a local exploration mode lets the programmer closely interact with the individual reduction rules. Third, our query interface allows the programmer to filter out and highlight specific regions of the reduction graph. We evaluated our tool by carrying out a user study showing that participants comprehend programs on average twice as fast while being able to answer questions more accurately. Finally, we demonstrate how GraphRedex helps to understand the semantics of two published works. Exploration of the semantics with GraphRedex unveiled an issue in one of the implementations of these works, which the author confirmed.
Keywords
Software, operational semantics, PLT Redex, semantics engineering, state explosion, tooling, visualization

Downloads

  • (...).pdf
    • full text (Published version)
    • |
    • UGent only
    • |
    • PDF
    • |
    • 2.63 MB

Citation

Please use this url to cite or link to this publication:

MLA
Gurdeep Singh, Robbert, and Christophe Scholliers. “GraphRedex : Look at Your Research.” SOFTWARE-PRACTICE & EXPERIENCE, vol. 51, no. 6, 2021, doi:10.1002/spe.2959.
APA
Gurdeep Singh, R., & Scholliers, C. (2021). GraphRedex : look at your research. SOFTWARE-PRACTICE & EXPERIENCE, 51(6). https://doi.org/10.1002/spe.2959
Chicago author-date
Gurdeep Singh, Robbert, and Christophe Scholliers. 2021. “GraphRedex : Look at Your Research.” SOFTWARE-PRACTICE & EXPERIENCE 51 (6). https://doi.org/10.1002/spe.2959.
Chicago author-date (all authors)
Gurdeep Singh, Robbert, and Christophe Scholliers. 2021. “GraphRedex : Look at Your Research.” SOFTWARE-PRACTICE & EXPERIENCE 51 (6). doi:10.1002/spe.2959.
Vancouver
1.
Gurdeep Singh R, Scholliers C. GraphRedex : look at your research. SOFTWARE-PRACTICE & EXPERIENCE. 2021;51(6).
IEEE
[1]
R. Gurdeep Singh and C. Scholliers, “GraphRedex : look at your research,” SOFTWARE-PRACTICE & EXPERIENCE, vol. 51, no. 6, 2021.
@article{8701726,
  abstract     = {{A significant aspect of designing new programming languages is to define their operational semantics. Working with a pen and paper version of such a semantics is notoriously difficult. For this reason, tools for computer aided semantics engineering were created. Many of these tools allow programmers to execute their language's operational semantics. An executable semantics makes it easier to verify whether the execution of a program leads to the desired result. When a program exhibits unexpected behavior, the programmer can consult the reduction graph to see what went wrong. Unfortunately, visualization of these graphs is currently not well‐supported by most tools. Consequently, the comprehension of errors remains challenging. In this article, we present GraphRedex an open‐source tool that empowers language designers to interactively explore their reduction graphs, offering three main benefits. First, a global exploration mode allows users to obtain a bird's‐eye overview of the reduction graph and learn its high level workings. Second, a local exploration mode lets the programmer closely interact with the individual reduction rules. Third, our query interface allows the programmer to filter out and highlight specific regions of the reduction graph. We evaluated our tool by carrying out a user study showing that participants comprehend programs on average twice as fast while being able to answer questions more accurately. Finally, we demonstrate how GraphRedex helps to understand the semantics of two published works. Exploration of the semantics with GraphRedex unveiled an issue in one of the implementations of these works, which the author confirmed.}},
  author       = {{Gurdeep Singh, Robbert and Scholliers, Christophe}},
  issn         = {{0038-0644}},
  journal      = {{SOFTWARE-PRACTICE & EXPERIENCE}},
  keywords     = {{Software,operational semantics,PLT Redex,semantics engineering,state explosion,tooling,visualization}},
  language     = {{eng}},
  number       = {{6}},
  pages        = {{1322-1351}},
  title        = {{GraphRedex : look at your research}},
  url          = {{http://dx.doi.org/10.1002/spe.2959}},
  volume       = {{51}},
  year         = {{2021}},
}

Altmetric
View in Altmetric
Web of Science
Times cited: