• DocumentCode
    2022464
  • Title

    Generalizing parametricity using information-flow

  • Author

    Washburn, Geoffrey ; Weirich, Stephanie

  • Author_Institution
    Dept. of Comput. & Inf. Sci., Pennsylvania Univ., Philadelphia, PA, USA
  • fYear
    2005
  • fDate
    26-29 June 2005
  • Firstpage
    62
  • Lastpage
    71
  • Abstract
    Run-time type analysis allows programmers to easily and concisely define operations based upon type structure, such as serialization, iterators, and structural equality. However, when types can be inspected at run time, nothing is secret. A module writer cannot use type abstraction to hide implementation details from clients: clients can determine the structure of these supposedly "abstract" data types. Furthermore, access control mechanisms do not help isolate the implementation of abstract datatypes from their clients. Buggy or malicious authorized modules may leak type information to unauthorized clients, so module implementors cannot reliably tell which parts of a program rely on their type definitions. Currently, module implementors rely on parametric polymorphism to provide integrity and confidentiality guarantees about their abstract datatypes. However, standard parametricity does not hold for languages with run-time type analysis; this paper shows how to generalize parametricity so that it does. The key is to augment the type system with annotations about information-flow. Implementors can then easily see which parts of a program depend on the chosen implementation by tracking the flow of dynamic type information.
  • Keywords
    abstract data types; data flow analysis; type theory; abstract data types; access control mechanism; information-flow; malicious authorized modules; module implementor; parametric polymorphism; run-time type analysis; type structure; Access control; Cloning; Dynamic programming; Information analysis; Information science; Programming profession; Remuneration; Runtime; System testing; User interfaces;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Logic in Computer Science, 2005. LICS 2005. Proceedings. 20th Annual IEEE Symposium on
  • ISSN
    1043-6871
  • Print_ISBN
    0-7695-2266-1
  • Type

    conf

  • DOI
    10.1109/LICS.2005.20
  • Filename
    1509210