Using Computer Algebra techniques for the specification, verification and synthesis of recursive programs

被引:0
|
作者
Popov, Nikolaj [1 ]
Jebelean, Tudor [1 ]
机构
[1] Johannes Kepler Univ Linz, Symbol Computat Res Inst, A-4040 Linz, Austria
基金
美国国家科学基金会; 奥地利科学基金会;
关键词
Specification and verification; Program synthesis; Computer Algebra;
D O I
10.1016/j.matcom.2008.11.017
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
We describe an innovative method for proving total correctness of tail recursive programs having a specific structure, namely programs in which an auxiliary tail recursive function is driven by a main nonrecursive function, and only the specification of the main function is provided. The specification of the auxiliary function is obtained almost fully automatically by solving coupled linear recursive sequences with constant coefficients. The process is carried out by means of CA (Computer Algebra) and AC (Algorithmic Combinatories) and is implemented in the Theorema system (using Mathematica). We demonstrate this method on an example involving polynomial expressions. Furthermore, we develop a method for synthesis of recursive programs for computing polynomial expressions of a fixed degree by means of "cheap" operations, e.g., additions, subtractions and multiplications. For a given polynomial expression, we define its recursive program in a schemewise manner. The correctness of the synthesized programs follows from the general correctness of the synthesis method. which is proven once for all, using the verification method presented in the first part of this paper. (C) 2008 IMACS. Published by Elsevier B.V. All rights reserved.
引用
收藏
页码:2302 / 2309
页数:8
相关论文
共 50 条
  • [1] Specification and Verification Techniques of Object Oriented Programs using Invariants
    Zafar, Beenish
    Hassan, Zara
    Nasir, Mobashirah
    Naheed, Sidrah
    Abid, Beenish
    Fatima, Umbreen
    Awan, Rimsha
    [J]. INTERNATIONAL JOURNAL OF COMPUTER SCIENCE AND NETWORK SECURITY, 2019, 19 (08): : 39 - 50
  • [2] Automated Synthesis of Recursive Programs from a ∀∃ Logical Specification
    Jacques Chazarain
    Serge Muller
    [J]. Journal of Automated Reasoning, 1998, 21 : 233 - 275
  • [3] Automated synthesis of recursive programs from a ∀∃ logical specification
    Chazarain, J
    Muller, S
    [J]. JOURNAL OF AUTOMATED REASONING, 1998, 21 (02) : 233 - 275
  • [4] Modular Verification of Recursive Programs
    Apt, Krzysztof R.
    de Boer, Frank S.
    Olderog, Ernst-Ruediger
    [J]. LANGUAGES: FROM FORMAL TO NATURAL: ESSAYS DEDICATED TO NISSIM FRANCEZ ON THE OCCASION OF HIS 65TH BIRTHDAY, 2009, 5533 : 1 - +
  • [5] Specification and verification of GPGPU programs
    Blom, Stefan
    Huisman, Marieke
    Mihelcic, Matej
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2014, 95 : 376 - 388
  • [6] Web Service Interaction Modeling and Verification Using Recursive Composition Algebra
    Rai, Gopal N.
    Gangadharan, G. R.
    Padmanabhan, Vineet
    Buyya, Rajkumar
    [J]. IEEE TRANSACTIONS ON SERVICES COMPUTING, 2021, 14 (01) : 300 - 314
  • [7] Formal verification of multiplier circuits using computer algebra
    Kaufmann, Daniela
    [J]. IT-INFORMATION TECHNOLOGY, 2022, 64 (06): : 285 - 291
  • [8] Specification Verification and Controller Synthesis Using (γ,δ)-Similarity
    Pirastehzad, Armin
    van der Schaft, Arjan
    Besselink, Bart
    [J]. 2023 62ND IEEE CONFERENCE ON DECISION AND CONTROL, CDC, 2023, : 1692 - 1697
  • [9] Invariant-based specification, synthesis, and verification of synchronization in concurrent programs
    Deng, XG
    Dwyer, MB
    Hatcliff, J
    Mizuno, M
    [J]. ICSE 2002: PROCEEDINGS OF THE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2002, : 442 - 452
  • [10] Modeling, specification, and verification of automaton programs
    Kuzmin, E. V.
    Sokolov, V. A.
    [J]. PROGRAMMING AND COMPUTER SOFTWARE, 2008, 34 (01) : 27 - 43