Cited by 397Logic, programming, and type systemsTeaching and Learning ProgrammingAdvanced Software Engineering Methodologies

Programming with abstract data types

Open access
Liskov, Barbara, Zilles, Stephen·1974·ACM SIGPLAN Notices

Abstract

The motivation behind the work in very-high-level languages is to ease the programming task by providing the programmer with a language containing primitives or abstractions suitable to his problem area. The programmer is then able to spend his effort in the right place; he concentrates on solving his problem, and the resulting program will be more reliable as a result. Clearly, this is a worthwhile goal. Unfortunately, it is very difficult for a designer to select in advance all the abstractions which the users of his language might need. If a language is to be used at all, it is likely to be used to solve problems which its designer did not envision, and for which the abstractions embedded in the language are not sufficient. This paper presents an approach which allows the set of built-in abstractions to be augmented when the need for a new data abstraction is discovered. This approach to the handling of abstraction is an outgrowth of work on designing a language for structured programming. Relevant aspects of this language are described, and examples of the use and definitions of abstractions are given.

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Integrity signals

Registry

Crossref · 10.1145/942572.807045

Cites

Statistics

Claims the paper makes

The claims and statistics of this paper haven’t been checked yet.

Run the check — free, no account needed. It reads the open-access text and checks the sources it cites.

A few free checks a day · papers already verified open instantly · results are public

Self-check

Percentages, sums and reported differences re-computed from the paper’s own numbers.

The self-check needs the paper’s full text.

The citation lists haven’t been fetched yet

References 4 · Cited by 397

Research works printed but not linked: 10

  1. Parnas, D.L. Information distribution aspects of design methodology, Proceedings of the IFIP Congress, August 1971.
  2. DiJkstra, E. W. Notes on structured programming. Structured Pro~rammln~, A.P.I.C. Studies in Data Processing, No. 8, Academic Press, New York, 1972, pp 1-81.
  3. Schuman, S. A. and P. Jorrand. Definition mechanisms in extensible programming languages. Proceedln~s of the AFIPS, Vol. 37, 1970, pp 9-19.
  4. Mealy, G. Another look at data. Proceedings of the AFIPS, Vol. 31, 1967, pp 525-534.
  5. Balzer, R. M. Dataless programming. ProceedinKs of the AFIPS, Vol. 31, 1967, pp 557-566.
  6. Earley, J. Toward an understanding of data struc- tures. Comm. of the ACM, Vol. 14, No. I0 (October 1971), pp 617-627.
  7. Daley, R. C., and P. G. Neumann. A general- purpose file system for secondary storage. Proceedings of the AFIPS, Vol. 27, 1965~ pp 213-229.
  8. Morris, J. H., Jr. Protection in progranmling languages. Comm. of the ACM, Vol. 16, N__oo. i (January 1973), pp 15-21.
  9. Zilles, S. N. Procedural encapsulation: a linguistic protection technique. SIGPLANNotices, Vol. 8, N__o. 9 (September 1973), pp 140-146.
  10. Liskov, B. H. A design methodology for reliable software systems. Proceedings of the AFIPS, Vol. 41, 1972~ pp 191-199.

Authors
Liskov, B., & Zilles, S.
Affiliations
  • Massachusetts Institute of Technology (US)
  • IBM (United States) (US)
Venue
ACM SIGPLAN Notices
Published
1974-03-28
Volume
9
Issue
4
Pages
50-59
ISSN
  • 0362-1340 (ISSN-L)
  • 1558-1160
OpenAlex
W3160136729
Cited by
397
References
4
Citations by year
2026: 4 · 2025: 5 · 2024: 5 · 2023: 5 · 2022: 7 · 2021: 7 · 2020: 5 · 2019: 6 · 2018: 3 · 2017: 3 · 2016: 4 · 2015: 1 · 2014: 4 · 2013: 5 · 2012: 4
FWCI
33.72
Type
journal article
Language
en
Open access
Locations
ACM SIGPLAN Notices (publishedVersion)
Topics
  • Physical Sciences › Computer Science › Artificial Intelligence › Logic, programming, and type systems
  • Physical Sciences › Computer Science › Computer Science Applications › Teaching and Learning Programming
  • Physical Sciences › Computer Science › Artificial Intelligence › Advanced Software Engineering Methodologies
Keywords
abstract data types, data abstraction, language design, structured programming, very high level languages, programming language design

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review