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 条
  • [41] Formal Specification-Based Inspection for Verification of Programs
    Liu, Shaoying
    Chen, Yuting
    Nagoya, Fumiko
    McDermid, John A.
    [J]. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2012, 38 (05) : 1100 - 1122
  • [42] SPECIFICATION AND VERIFICATION OF CONCURRENT PROGRAMS BY ALL-AUTOMATA
    MANNA, Z
    PNUELI, A
    [J]. LECTURE NOTES IN COMPUTER SCIENCE, 1989, 398 : 124 - 164
  • [43] SPECIFICATION AND VERIFICATION OF CONCURRENT PROGRAMS BY ALL-AUTOMATA
    MANNA, Z
    PNUELI, A
    [J]. TEMPORAL LOGIC IN SPECIFICATION, 1989, 398 : 124 - 164
  • [44] MODULAR SPECIFICATION AND VERIFICATION OF OBJECT-ORIENTED PROGRAMS
    LEAVENS, GT
    [J]. IEEE SOFTWARE, 1991, 8 (04) : 72 - 80
  • [45] Construction and Verification of PLC LD Programs by the LTL Specification
    Kuzmin, E. V.
    Sokolov, V. A.
    Ryabukhin, D. A.
    [J]. AUTOMATIC CONTROL AND COMPUTER SCIENCES, 2014, 48 (07) : 424 - 436
  • [46] Efficient Implementation of Multiplierless Recursive Lowpass FIR Filters using Computer Algebra System
    Pavlovic, Vlastimir
    Lutovac, Miroslav
    Lutovac, Maja
    [J]. 2013 11TH INTERNATIONAL CONFERENCE ON TELECOMMUNICATIONS IN MODERN SATELLITE, CABLE AND BROADCASTING SERVICES (TELSIKS), VOLS 1 AND 2, 2013, : 65 - 68
  • [47] Specification and verification techniques of embedded systems using probabilistic linear hybrid automata
    Mutsuda, Y
    Kato, T
    Yamane, S
    [J]. EMBEDDED SOFTWARE AND SYSTEMS, PROCEEDINGS, 2005, 3820 : 346 - 360
  • [48] Formal Verification of Modular Multipliers using Symbolic Computer Algebra and Boolean Satisfiability
    Mahzoon, Alireza
    Grosse, Daniel
    Scholl, Christoph
    Konrad, Alexander
    Drechsler, Rolf
    [J]. PROCEEDINGS OF THE 59TH ACM/IEEE DESIGN AUTOMATION CONFERENCE, DAC 2022, 2022, : 1183 - 1188
  • [49] InfoVis Interaction Techniques in Animation of Recursive Programs
    Angel Velazquez-Iturbide, J.
    Perez-Carrasco, Antonio
    [J]. ALGORITHMS, 2010, 3 (01) : 76 - 91
  • [50] Incremental column-wise verification of arithmetic circuits using computer algebra
    Kaufmann, Daniela
    Biere, Armin
    Kauers, Manuel
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 2020, 56 (1-3) : 22 - 54