Dijkstra Graphs

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...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:arXiv.org 2016-06
Hauptverfasser: Bento, Lucila M S, Boccardo, Davidson R, Machado, Raphael C S, Miyazawa, Flávio K, Vinícius G Pereira de Sá, Szwarcfiter, Jayme L
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title arXiv.org
container_volume
creator Bento, Lucila M S
Boccardo, Davidson R
Machado, Raphael C S
Miyazawa, Flávio K
Vinícius G Pereira de Sá
Szwarcfiter, Jayme L
description 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 graphs, for which we present a greedy \(O(n)\)-time algorithm. Furthermore, we describe an isomorphism algorithm for Dijkstra graphs, whose complexity is also linear in the number of vertices of the graph. Both the recognition and isomorphism algorithms have potential important applications, such as in code similarity analysis.
format Article
fullrecord <record><control><sourceid>proquest</sourceid><recordid>TN_cdi_proquest_journals_2080164751</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2080164751</sourcerecordid><originalsourceid>FETCH-proquest_journals_20801647513</originalsourceid><addsrcrecordid>eNpjYuA0MjY21LUwMTLiYOAtLs4yMDAwMjM3MjU15mTgd8nMyi4uKUpUcC9KLMgo5mFgTUvMKU7lhdLcDMpuriHOHroFRfmFpanFJfFZ-aVFeUCpeCMDCwNDMxNzU0Nj4lQBAK6_Jpk</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2080164751</pqid></control><display><type>article</type><title>Dijkstra Graphs</title><source>Free E- Journals</source><creator>Bento, Lucila M S ; Boccardo, Davidson R ; Machado, Raphael C S ; Miyazawa, Flávio K ; Vinícius G Pereira de Sá ; Szwarcfiter, Jayme L</creator><creatorcontrib>Bento, Lucila M S ; Boccardo, Davidson R ; Machado, Raphael C S ; Miyazawa, Flávio K ; Vinícius G Pereira de Sá ; Szwarcfiter, Jayme L</creatorcontrib><description>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 graphs, for which we present a greedy \(O(n)\)-time algorithm. Furthermore, we describe an isomorphism algorithm for Dijkstra graphs, whose complexity is also linear in the number of vertices of the graph. Both the recognition and isomorphism algorithms have potential important applications, such as in code similarity analysis.</description><identifier>EISSN: 2331-8422</identifier><language>eng</language><publisher>Ithaca: Cornell University Library, arXiv.org</publisher><subject>Algorithms ; Apexes ; Graph theory ; Graphs ; Greedy algorithms ; Isomorphism ; Recognition ; Structured programming</subject><ispartof>arXiv.org, 2016-06</ispartof><rights>2016. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>776,780</link.rule.ids></links><search><creatorcontrib>Bento, Lucila M S</creatorcontrib><creatorcontrib>Boccardo, Davidson R</creatorcontrib><creatorcontrib>Machado, Raphael C S</creatorcontrib><creatorcontrib>Miyazawa, Flávio K</creatorcontrib><creatorcontrib>Vinícius G Pereira de Sá</creatorcontrib><creatorcontrib>Szwarcfiter, Jayme L</creatorcontrib><title>Dijkstra Graphs</title><title>arXiv.org</title><description>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 graphs, for which we present a greedy \(O(n)\)-time algorithm. Furthermore, we describe an isomorphism algorithm for Dijkstra graphs, whose complexity is also linear in the number of vertices of the graph. Both the recognition and isomorphism algorithms have potential important applications, such as in code similarity analysis.</description><subject>Algorithms</subject><subject>Apexes</subject><subject>Graph theory</subject><subject>Graphs</subject><subject>Greedy algorithms</subject><subject>Isomorphism</subject><subject>Recognition</subject><subject>Structured programming</subject><issn>2331-8422</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2016</creationdate><recordtype>article</recordtype><sourceid>BENPR</sourceid><recordid>eNpjYuA0MjY21LUwMTLiYOAtLs4yMDAwMjM3MjU15mTgd8nMyi4uKUpUcC9KLMgo5mFgTUvMKU7lhdLcDMpuriHOHroFRfmFpanFJfFZ-aVFeUCpeCMDCwNDMxNzU0Nj4lQBAK6_Jpk</recordid><startdate>20160618</startdate><enddate>20160618</enddate><creator>Bento, Lucila M S</creator><creator>Boccardo, Davidson R</creator><creator>Machado, Raphael C S</creator><creator>Miyazawa, Flávio K</creator><creator>Vinícius G Pereira de Sá</creator><creator>Szwarcfiter, Jayme L</creator><general>Cornell University Library, arXiv.org</general><scope>8FE</scope><scope>8FG</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>HCIFZ</scope><scope>L6V</scope><scope>M7S</scope><scope>PIMPY</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope></search><sort><creationdate>20160618</creationdate><title>Dijkstra Graphs</title><author>Bento, Lucila M S ; Boccardo, Davidson R ; Machado, Raphael C S ; Miyazawa, Flávio K ; Vinícius G Pereira de Sá ; Szwarcfiter, Jayme L</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-proquest_journals_20801647513</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2016</creationdate><topic>Algorithms</topic><topic>Apexes</topic><topic>Graph theory</topic><topic>Graphs</topic><topic>Greedy algorithms</topic><topic>Isomorphism</topic><topic>Recognition</topic><topic>Structured programming</topic><toplevel>online_resources</toplevel><creatorcontrib>Bento, Lucila M S</creatorcontrib><creatorcontrib>Boccardo, Davidson R</creatorcontrib><creatorcontrib>Machado, Raphael C S</creatorcontrib><creatorcontrib>Miyazawa, Flávio K</creatorcontrib><creatorcontrib>Vinícius G Pereira de Sá</creatorcontrib><creatorcontrib>Szwarcfiter, Jayme L</creatorcontrib><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Materials Science &amp; Engineering Database (Proquest)</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central UK/Ireland</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Engineering Collection</collection><collection>Engineering Database</collection><collection>Publicly Available Content Database</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering collection</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Bento, Lucila M S</au><au>Boccardo, Davidson R</au><au>Machado, Raphael C S</au><au>Miyazawa, Flávio K</au><au>Vinícius G Pereira de Sá</au><au>Szwarcfiter, Jayme L</au><format>book</format><genre>document</genre><ristype>GEN</ristype><atitle>Dijkstra Graphs</atitle><jtitle>arXiv.org</jtitle><date>2016-06-18</date><risdate>2016</risdate><eissn>2331-8422</eissn><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 graphs, for which we present a greedy \(O(n)\)-time algorithm. Furthermore, we describe an isomorphism algorithm for Dijkstra graphs, whose complexity is also linear in the number of vertices of the graph. Both the recognition and isomorphism algorithms have potential important applications, such as in code similarity analysis.</abstract><cop>Ithaca</cop><pub>Cornell University Library, arXiv.org</pub><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier EISSN: 2331-8422
ispartof arXiv.org, 2016-06
issn 2331-8422
language eng
recordid cdi_proquest_journals_2080164751
source Free E- Journals
subjects Algorithms
Apexes
Graph theory
Graphs
Greedy algorithms
Isomorphism
Recognition
Structured programming
title Dijkstra Graphs
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-01T09%3A46%3A43IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=document&rft.atitle=Dijkstra%20Graphs&rft.jtitle=arXiv.org&rft.au=Bento,%20Lucila%20M%20S&rft.date=2016-06-18&rft.eissn=2331-8422&rft_id=info:doi/&rft_dat=%3Cproquest%3E2080164751%3C/proquest%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2080164751&rft_id=info:pmid/&rfr_iscdi=true