Polyvariant Program Specialisation with Property-based Abstraction

被引:3
|
作者
Gallagher, John P. [1 ,2 ]
机构
[1] Roskilde Univ, Roskilde, Denmark
[2] IMDEA Software Inst, Madrid, Spain
来源
ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE | 2019年 / 299期
关键词
VERIFICATION;
D O I
10.4204/EPTCS.299.6
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In this paper we show that property-based abstraction, an established technique originating in software model checking, is a flexible method of controlling polyvariance in program specialisation in a standard online specialisation algorithm. Specialisation is a program transformation that transforms a program with respect to given constraints that restrict its behaviour. Polyvariant specialisation refers to the generation of two or more specialised versions of the same program code. The same program point can be reached more than once during a computation, with different constraints applying in each case, and polyvariant specialisation allows different specialisations to be realised. A propertybased abstraction uses a finite set of properties to define a finite set of abstract versions of predicates, ensuring that only a finite number of specialised versions is generated. The particular choice of properties is critical for polyvariance; too few versions can result in insufficient specialisation, while too many can result in an increase of code size with no corresponding efficiency gains. Using examples, we show the flexibility of specialisation with property-based abstraction and discuss its application in control flow refinement, verification, termination analysis and dimension-based specialisation.
引用
收藏
页码:34 / 48
页数:15
相关论文
共 50 条
  • [1] A property-based abstraction framework for SysML activity diagrams
    Ouchani, Samir
    Mohamed, Otmane Ait
    Debbabi, Mourad
    KNOWLEDGE-BASED SYSTEMS, 2014, 56 : 328 - 343
  • [2] Towards Property-Based Consistency Verification
    Viotti, Paolo
    Meiklejohn, Christopher
    Vukolic, Marko
    PROCEEDINGS OF THE 2ND WORKSHOP ON THE PRINCIPLES AND PRACTICE OF CONSISTENCY FOR DISTRIBUTED DATA, PAPOC 2016, 2016,
  • [3] Requirements Analysis via Property-based Approach
    Zhao, Lin
    Xu, Tianhua
    Zheng, Wei
    2012 7TH INTERNATIONAL CONFERENCE ON COMPUTING AND CONVERGENCE TECHNOLOGY (ICCCT2012), 2012, : 1153 - 1156
  • [4] Statistical Model Checking Meets Property-Based Testing
    Aichernig, Bernhard K.
    Schumi, Richard
    2017 10TH IEEE INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), 2017, : 390 - 400
  • [5] Automated Property-Based Testing from AADL Component Contracts
    Hatcliff, John
    Belt, Jason
    Robby
    Legg, Jacob
    Stewart, Danielle
    Carpenter, Todd
    FORMAL METHODS FOR INDUSTRIAL CRITICAL SYSTEMS, FMICS 2023, 2023, 14290 : 131 - 150
  • [6] An efficient synthesis method for property-based design in formal verification On consistency and completeness of property-sets
    Schickel, Martin
    Nimbler, Volker
    Braun, Martin
    Eveking, Hans
    ADVANCES IN DESIGN AND SPECIFICATION LANGUAGES FOR EMBEDDED SYSTEMS, 2007, : 179 - +
  • [7] Verification of the CAD System for an Application-Specific Processor by Property-Based Testing
    Prohorov, Daniil
    Penskoi, Aleksandr
    2020 9TH MEDITERRANEAN CONFERENCE ON EMBEDDED COMPUTING (MECO), 2020, : 329 - 332
  • [8] Property-based Polynomial Invariant Generation Using Sums-of-Squares Optimization
    Adje, Assale
    Garoche, Pierre-Loic
    Magron, Victor
    STATIC ANALYSIS (SAS 2015), 2015, 9291 : 235 - 251
  • [9] Property-based Testing for LG Home Appliances using Accelerated Software-in-the-Loop Simulation
    Park, Mingyu
    Jang, Hoon
    Byun, Taejoon
    Choi, Yunja
    2020 IEEE/ACM 42ND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: SOFTWARE ENGINEERING IN PRACTICE (ICSE-SEIP), 2020, : 120 - 129
  • [10] Efficient safety checking for automotive operating systems using property-based slicing and constraint-based environment generation
    Choi, Yunja
    Park, Mingyu
    Byun, Taejoon
    Kim, Dongwoo
    SCIENCE OF COMPUTER PROGRAMMING, 2015, 103 : 51 - 70