Typestate: A programming language concept for enhancing software reliability

  title={Typestate: A programming language concept for enhancing software reliability},
  author={R. Strom and S. Yemini},
  journal={IEEE Transactions on Software Engineering},
  • R. Strom, S. Yemini
  • Published 1986
  • Computer Science
  • IEEE Transactions on Software Engineering
  • The authors introduce a new programming language concept, called typestate, which is a refinement of the concept of type. Whereas the type of a data object determines the set of operations over permitted on the object, typestate determines the subset of these operations which is permitted in a particular context. Typestate tracking is a program analysis technique which enhances program reliability by detecting at compile-time syntactically legal but semantically undefined execution sequences… CONTINUE READING
    570 Citations
    Typestates for Objects
    • 277
    • PDF
    Foundations of Typestate-Oriented Programming
    • 63
    • PDF
    Gradual Typestate
    • 75
    • Highly Influenced
    • PDF
    Formal foundations for hybrid effect analysis
    • PDF
    Types for correct concurrent api usage
    • 9
    • Highly Influenced
    • PDF
    Runtime Instrumentation for Precise Flow-Sensitive Type Analysis
    • 14
    • PDF
    Masked types for sound object initialization
    • 68
    • PDF


    Mechanisms for compile-time enforcement of security
    • 41
    Access-Right Expressions
    • 19
    Toward Modular Verifiable Exception Handling
    • 10
    Modular verification of concurrent programs
    • 16
    A New Programming Methodology for Long-Lived Software Systems
    • 17
    • PDF
    A unified approach to global program optimization
    • 912
    • PDF
    A methodology for programming abstract data types in Ada
    • 12
    Constant propagation with conditional branches
    • 558
    • PDF