Dijkstra Graphs
Lucila M. S. Bento, Davidson R. Boccardo, Raphael C. S. Machado,, Fl\'avio K. Miyazawa, Vin\'icius G. Pereira de S\'a, Jayme L. Szwarcfiter

TL;DR
This paper introduces Dijkstra Graphs to model structured programs and presents efficient linear-time algorithms for recognizing such graphs and testing their isomorphism, aiding code analysis.
Contribution
It defines Dijkstra Graphs and provides the first linear-time algorithms for their recognition and isomorphism testing, advancing structured programming analysis.
Findings
Linear-time recognition algorithm for Dijkstra Graphs
Linear-time isomorphism algorithm for Dijkstra Graphs
Potential applications in code similarity analysis
Abstract
We revisit a concept that has been central in some early stages of computer science, that of structured programming: a set of rules that an algorithm must follow in order to acquire a structure that is desirable in many aspects. While much has been written about structured programming, an important issue has been left unanswered: given an arbitrary, compiled program, describe an algorithm to decide whether or not it is structured, that is, whether it conforms to the stated principles of structured programming. We refer to the classical concept of structured programming, as described by Dijkstra. By employing a graph model and graph-theoretic techniques, we formulate an efficient algorithm for answering this question. To do so, we first introduce the class of graphs which correspond to structured programs, which we call Dijkstra Graphs. Our problem then becomes the recognition of such…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsGraph Theory and Algorithms · Advanced Database Systems and Queries · Advanced Software Engineering Methodologies
