Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/158511.158628acmconferencesArticle/Chapter ViewAbstractPublication PagespoplConference Proceedingsconference-collections
Article
Free access

Graph types

Published: 01 March 1993 Publication History
  • Get Citation Alerts
  • Abstract

    Recursive data structures are abstractions of simple records and pointers. They impose a shape invariant, which is verified at compile-time and exploited to automatically generate code for building, copying, comparing, and traversing values without loss of efficiency. However, such values are always tree shaped, which is a major obstacle to practical use.
    We propose a notion of graph types, which allow common shapes, such as doubly-linked lists or threaded trees, to be expressed concisely and efficiently. We define regular languages of routing expressions to specify relative addresses of extra pointers in a canonical spanning tree. An efficient algorithm for computing such addresses is developed. We employ a second-order monadic logic to decide well-formedness of graph type specifications. This logic can also be used for automated reasoning about pointer structures.

    References

    [1]
    H. Ait-Kaci and R. Nasr. Logic and inheritance. In Proc. 13th A CM Syrup. on Princ. of Program. ruing Languages, pages 219-228, 1986.
    [2]
    H. Ait-Kaci and R. Nasr. Login: A logic programming language with built-in inheritance. Journal of Logic Programming, 3:185-215, 1986. Journal version of {1}.
    [3]
    H. Ai't-Kaci and A. Podelski. Towards a meaning of life. In Jan Maluszyfiski and Martin Wirsing, editors, Proceedings of the 3rd International Symposium on Programming Language Implementation and Logic Programming (Passau, Germany), pages 255-274. Springer-Verlag, LNCS 528, August 1991.
    [4]
    B. Courcelle. The monadic second-order logic of graphs I. Recognizable sets of finite graphs. Information and computation, 85:12-75, 1990.
    [5]
    J. DSrre and W.C Rounds. On subsumption and semiunification in feature algebras. In Proc. IEEE Symp. on Logics in Computer Science, pages 300-310, 1990.
    [6]
    L. Hendren, J. Hummel, and A. Nicolau. Abstractions for recursive pointer data structures: Improving the analysis and transformation of imperative programs. In Proc. SIGPLAN'g2 Conference on Programming Language Design and Implementation, pages 249-260. ACM, 1992.
    [7]
    C.A.R. Hoare. Reeursive data structures. In~ernational Journal of Computer and Information Sciences, 4:2:105-132, 1975.
    [8]
    Robin Milner, Mads Torte, and Robert Harper. The Definition of Standard ML. MIT Press, 1990.
    [9]
    T. Reps. Incremental evaluation for attribute grammars with unrestricted movement between tree modifications. Acta Informa~ica, 25, 1986.
    [10]
    D.A. Turner. Miranda: A non-strict functional language with polymorphie types. In Proc. Conference on Functional Programming Languages and Computer Architecture, pages 1-16. Springer- Verlag (LNCS 201), 1985.

    Cited By

    View all

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    POPL '93: Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
    March 1993
    510 pages
    ISBN:0897915607
    DOI:10.1145/158511
    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

    Sponsors

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 01 March 1993

    Permissions

    Request permissions for this article.

    Check for updates

    Qualifiers

    • Article

    Conference

    POPL93

    Acceptance Rates

    POPL '93 Paper Acceptance Rate 39 of 199 submissions, 20%;
    Overall Acceptance Rate 824 of 4,130 submissions, 20%

    Upcoming Conference

    POPL '25

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)157
    • Downloads (Last 6 weeks)16
    Reflects downloads up to 11 Aug 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)Type Checking Data Structures More Complex than TreesJournal of Information Processing10.2197/ipsjjip.31.11231(112-130)Online publication date: 2023
    • (2022)Engineering Grammar-Based Type Checking for Graph Rewriting LanguagesIEEE Access10.1109/ACCESS.2022.321791310(114612-114628)Online publication date: 2022
    • (2020)Local Reasoning for Global Graph PropertiesProgramming Languages and Systems10.1007/978-3-030-44914-8_12(308-335)Online publication date: 27-Apr-2020
    • (2019)A Decidable Logic for Tree Data-Structures with MeasurementsVerification, Model Checking, and Abstract Interpretation10.1007/978-3-030-11245-5_15(318-341)Online publication date: 11-Jan-2019
    • (2017)Seam: provably safe local edits on graphsProceedings of the ACM on Programming Languages10.1145/31339021:OOPSLA(1-29)Online publication date: 12-Oct-2017
    • (2016)Heap Abstractions for Static AnalysisACM Computing Surveys10.1145/293109849:2(1-47)Online publication date: 30-Jun-2016
    • (2013)Attribute grammars as tree transducers over cyclic representations of infinite trees and their descriptional compositionTheoretical Computer Science10.5555/2846456.2846501480:C(1-25)Online publication date: 8-Apr-2013
    • (2013)Attribute grammars as tree transducers over cyclic representations of infinite trees and their descriptional compositionTheoretical Computer Science10.1016/j.tcs.2013.02.007480(1-25)Online publication date: Apr-2013
    • (2013)Verification of complex dynamic data tree with mu-calculusAutomated Software Engineering10.1007/s10515-012-0113-820:4(569-612)Online publication date: 1-Dec-2013
    • (2013)Functional synthesis for linear arithmetic and setsInternational Journal on Software Tools for Technology Transfer (STTT)10.1007/s10009-011-0217-715:5-6(455-474)Online publication date: 1-Oct-2013
    • Show More Cited By

    View Options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Get Access

    Login options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media