• DocumentCode
    519762
  • Title

    An imperative formal calculus for Java

  • Author

    Xu, Bo ; Hua, Baojian ; Gao, Ying

  • Author_Institution
    Sch. of Software Eng., Univ. of Sci. & Technol. of China, Hefei, China
  • Volume
    1
  • fYear
    2010
  • fDate
    21-24 May 2010
  • Abstract
    This paper presents a formal imperative calculus to formalize the semantics of class-based object-oriented programming languages. The tractability of this approach is demonstrated by our formalization of a core subset of the Java programming language called Cool: Core Object-Oriented Language. Cool is relatively small but retains many of modern class-based object-oriented languages´ key features, including classes, inheritance, objects, virtual functions and dynamic method dispatch etc. The technical contribution of this paper can be summarized as: first, this paper formalizes a syntactic specification for Cool; second, this paper presents static semantics for Cool via typing rules, and its operational semantics via small-step transition relation. Finally, this paper proves that the formal calculus proposed is type safe.
  • Keywords
    Java; calculus; object-oriented programming; programming language semantics; Cool; Java; class-based object-oriented programming languages; core object-oriented language; imperative formal calculus; small-step transition relation; static semantics; syntactic specification; technical contribution; Calculus; Computer languages; Documentation; Encoding; Functional programming; Java; Object oriented programming; Paper technology; Safety; Software engineering; programming languages; semantics; type system;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Future Computer and Communication (ICFCC), 2010 2nd International Conference on
  • Conference_Location
    Wuhan
  • Print_ISBN
    978-1-4244-5821-9
  • Type

    conf

  • DOI
    10.1109/ICFCC.2010.5497813
  • Filename
    5497813