A flexible, (C)LP-based approach to the analysis of object-oriented programs

被引:31
|
作者
Mendez-Lojo, Mario [1 ]
Navas, Jorge [1 ]
Hermenegildo, Manuel V. [1 ]
机构
[1] Univ New Mexico, Albuquerque, NM 87131 USA
关键词
D O I
10.1007/978-3-540-78769-3_11
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Static analyses of object-oriented programs usually rely on intermediate representations that respect the original semantics while having a more uniform and basic syntax. Most of the work involving object-oriented languages and abstract interpretation usually omits the description of that language or just refers to the Control Flow Graph (CFG) it represents. However, this lack of formalization on one hand results in an absence of assurances regarding the correctness of the transformation and on the other it typically strongly couples the analysis to the source language. In this work we present a framework for analysis of object-oriented languages in which in a first phase we transform the input program into a representation based on Horn clauses. This facilitates on one hand proving the correctness of the transformation attending to a simple condition and on the other allows applying existing analyzers for (constraint) logic programming to automatically derive a safe approximation of the semantics of the original program. The approach is flexible in the sense that the first phase decouples the analyzer from most language-dependent features, and correct because the set of Horn clauses returned by the transformation phase safely approximates the standard semantics of the input program. The resulting analysis is also reasonably scalable due to the use of mature, modular (C)LP-based analyzers. This allows us to report good results for medium-sized programs.
引用
收藏
页码:154 / 168
页数:15
相关论文
共 50 条
  • [21] Object-oriented fuzzy control: an integrated and flexible approach
    Gaertner, N
    Thirion, B
    COMPUTATIONAL INTELLIGENCE FOR MODELLING, CONTROL & AUTOMATION - EVOLUTIONARY COMPUTATION & FUZZY LOGIC FOR INTELLIGENT CONTROL, KNOWLEDGE ACQUISITION & INFORMATION RETRIEVAL, 1999, 55 : 254 - 259
  • [22] A logic of object-oriented programs
    Abadi, M
    Rustan, K
    Leino, M
    VERIFICATION: THEORY AND PRACTICE: ESSAYS DEDICATED TO ZHOAR MANNA ON THE OCCASION OF HIS 64TH BIRTHDAY, 2003, 2772 : 11 - 41
  • [23] Encapsulation in object-oriented programs
    Chen, JL
    Wang, FJ
    ACM SIGPLAN NOTICES, 1996, 31 (07) : 30 - 32
  • [24] An object-oriented approach for semantic analysis
    Aref, MM
    Sharaf, ABM
    IC-AI'2000: PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE, VOL 1-III, 2000, : 1387 - 1393
  • [25] Slicing object-oriented programs
    Chen, JL
    Wang, FJ
    Chen, YL
    ASIA PACIFIC SOFTWARE ENGINEERING CONFERENCE AND INTERNATIONAL COMPUTER SCIENCE CONFERENCE, PROCEEDINGS, 1997, : 395 - 404
  • [26] OBJECT-ORIENTED PROGRAMS IN REALTIME
    GWINN, JM
    SIGPLAN NOTICES, 1992, 27 (02): : 47 - 56
  • [27] Recursion in object-oriented programs
    Blaschek, G
    Frohlich, JH
    JOURNAL OF OBJECT-ORIENTED PROGRAMMING, 1998, 11 (07): : 28 - 35
  • [28] A DIAGRAM FOR OBJECT-ORIENTED PROGRAMS
    CUNNINGHAM, W
    BECK, K
    SIGPLAN NOTICES, 1986, 21 (11): : 361 - 367
  • [29] Recursion in object-oriented programs
    Blaschek, Gunther
    Frohlich, Joachim Hans
    JOOP - Journal of Object-Oriented Programming, 1998, 11 (07): : 28 - 35
  • [30] AN OBJECT-ORIENTED APPROACH TO FILTER DESIGN IN C
    GEORGE, AD
    ENGINEERING EXCELLENCE : PEOPLE MAKE THE DIFFERENCE, VOLS 1-3, 1989, : 16 - 18