Toward Static Analysis of SIGNAL Programs using Interval Techniques

This paper presents a work-in-progress aiming at improving the functional analysis of Signal programs. The usual adopted technique relies on abstractions. Typically, in order to check the presence or absence of variables in a program at some logical instants, the program is transformed into another program that reflects its clock information so that the presence or absence of each variable can be straightforwardly checked. Signal adopts a boolean abstraction for the static functional analysis of programs. This abstraction does not enable to fully reason on the values of non logical variables. Here, we propose a solution based on interval techniques in order to be able to deal with both logical and numerical parts of programs.

[1]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[2]  Tocheou Amagbegnon,et al.  Forme canonique arborescente des horloges de signal , 1995 .

[3]  Jørn Lind-Nielsen,et al.  BuDDy : A binary decision diagram package. , 1999 .

[4]  David Aspinall,et al.  Formalising Java's Data Race Free Guarantee , 2007, TPHOLs.

[5]  MIKKEL CHRISTIANSEN An MTIDD Based Firewall Using Decision Diagrams for Packet Filtering , 2004 .

[6]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[7]  David A. Duffy,et al.  Principles of automated theorem proving , 1991, Wiley professional computing.

[8]  Patrick Cousot,et al.  Static determination of dynamic properties of programs , 1976 .

[9]  Paul Le Guernic,et al.  Synthesis of Discrete-Event Controllers Based on the Signal Environment , 2000, Discret. Event Dyn. Syst..

[10]  G. Alefeld,et al.  Introduction to Interval Computation , 1983 .

[11]  Stephen A. Edwards,et al.  The Synchronous Languages Twelve Years Later , 1997 .

[12]  L. Thiele,et al.  Symbolic model checking of process networks using interval diagram techniques , 1998, 1998 IEEE/ACM International Conference on Computer-Aided Design. Digest of Technical Papers (IEEE Cat. No.98CB36287).

[13]  Nicolas Halbwachs,et al.  Programming and Verifying Real-Time Systems by Means of the Synchronous Data-Flow Language LUSTRE , 1992, IEEE Trans. Software Eng..

[14]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

[15]  Irina Madalina Smarandache Transformations affines d'horloges : application au codesign de systemes temps-reel en utilisant les langages signal et alpha , 1998 .

[16]  Frédéric Goualard,et al.  Interval Constraints: Results and Perspectives , 1999, New Trends in Constraints.

[17]  Jens Brandt,et al.  Theorem Proving in Higher Order Logics , 1997, Lecture Notes in Computer Science.

[18]  Bertrand Jeannet,et al.  Dynamic Partitioning in Linear Relation Analysis: Application to the Verification of Reactive Systems , 2003, Formal Methods Syst. Des..

[19]  Mirabelle Nebut,et al.  Réactions synchrones : spécification et analyse , 2002 .

[20]  JeannetB. Dynamic Partitioning in Linear Relation Analysis , 2003 .

[21]  Andrew Adams,et al.  Theorem Proving in Higher Order Logics , 2001, Lecture Notes in Computer Science.

[22]  Jean-Christophe Le Lann,et al.  POLYCHRONY for System Design , 2003, J. Circuits Syst. Comput..

[23]  Natarajan Shankar,et al.  PVS: A Prototype Verification System , 1992, CADE.