2,679 research outputs found

    Causal graph dynamics

    Full text link
    We extend the theory of Cellular Automata to arbitrary, time-varying graphs. In other words we formalize, and prove theorems about, the intuitive idea of a labelled graph which evolves in time - but under the natural constraint that information can only ever be transmitted at a bounded speed, with respect to the distance given by the graph. The notion of translation-invariance is also generalized. The definition we provide for these "causal graph dynamics" is simple and axiomatic. The theorems we provide also show that it is robust. For instance, causal graph dynamics are stable under composition and under restriction to radius one. In the finite case some fundamental facts of Cellular Automata theory carry through: causal graph dynamics admit a characterization as continuous functions, and they are stable under inversion. The provided examples suggest a wide range of applications of this mathematical object, from complex systems science to theoretical physics. KEYWORDS: Dynamical networks, Boolean networks, Generative networks automata, Cayley cellular automata, Graph Automata, Graph rewriting automata, Parallel graph transformations, Amalgamated graph transformations, Time-varying graphs, Regge calculus, Local, No-signalling.Comment: 25 pages, 9 figures, LaTeX, v2: Minor presentation improvements, v3: Typos corrected, figure adde

    Finite Countermodel Based Verification for Program Transformation (A Case Study)

    Get PDF
    Both automatic program verification and program transformation are based on program analysis. In the past decade a number of approaches using various automatic general-purpose program transformation techniques (partial deduction, specialization, supercompilation) for verification of unreachability properties of computing systems were introduced and demonstrated. On the other hand, the semantics based unfold-fold program transformation methods pose themselves diverse kinds of reachability tasks and try to solve them, aiming at improving the semantics tree of the program being transformed. That means some general-purpose verification methods may be used for strengthening program transformation techniques. This paper considers the question how finite countermodels for safety verification method might be used in Turchin's supercompilation method. We extract a number of supercompilation sub-algorithms trying to solve reachability problems and demonstrate use of an external countermodel finder for solving some of the problems.Comment: In Proceedings VPT 2015, arXiv:1512.0221

    Unveiling metamorphism by abstract interpretation of code properties

    Get PDF
    Metamorphic code includes self-modifying semantics-preserving transformations to exploit code diversification. The impact of metamorphism is growing in security and code protection technologies, both for preventing malicious host attacks, e.g., in software diversification for IP and integrity protection, and in malicious software attacks, e.g., in metamorphic malware self-modifying their own code in order to foil detection systems based on signature matching. In this paper we consider the problem of automatically extracting metamorphic signatures from metamorphic code. We introduce a semantics for self-modifying code, later called phase semantics, and prove its correctness by showing that it is an abstract interpretation of the standard trace semantics. Phase semantics precisely models the metamorphic code behavior by providing a set of traces of programs which correspond to the possible evolutions of the metamorphic code during execution. We show that metamorphic signatures can be automatically extracted by abstract interpretation of the phase semantics. In particular, we introduce the notion of regular metamorphism, where the invariants of the phase semantics can be modeled as finite state automata representing the code structure of all possible metamorphic change of a metamorphic code, and we provide a static signature extraction algorithm for metamorphic code where metamorphic signatures are approximated in regular metamorphism

    The Paths to Choreography Extraction

    Full text link
    Choreographies are global descriptions of interactions among concurrent components, most notably used in the settings of verification (e.g., Multiparty Session Types) and synthesis of correct-by-construction software (Choreographic Programming). They require a top-down approach: programmers first write choreographies, and then use them to verify or synthesize their programs. However, most existing software does not come with choreographies yet, which prevents their application. To attack this problem, we propose a novel methodology (called choreography extraction) that, given a set of programs or protocol specifications, automatically constructs a choreography that describes their behavior. The key to our extraction is identifying a set of paths in a graph that represents the symbolic execution of the programs of interest. Our method improves on previous work in several directions: we can now deal with programs that are equipped with a state and internal computation capabilities; time complexity is dramatically better; we capture programs that are correct but not necessarily synchronizable, i.e., they work because they exploit asynchronous communication

    A Graph-Transformation Modelling Framework for Supervisory Control

    Get PDF
    Formal design methodologies have the potential to accelerate the development and increase the reliability of supervisory controllers designed within industry. One promising design framework which has been shown to do so is known as supervisory control synthesis (SCS). In SCS, instead of manually designing the supervisory controller itself, one designs models of the uncontrolled system and its control requirements. These models are then provided as input to a special synthesis algorithm which uses them to automatically generate a model of the supervisory controller. This outputted model is guaranteed to be correct as long as the models of the uncontrolled system and its control requirements are valid. This accelerates development by removing the need to verify and rectify the model of the supervisory controller. Instead, only the models of the uncontrolled system and its requirements must be validated. To address problems of scale, SCS can be applied in modular fashion, and implemented in hierarchical and decentralized architectures. Despite the large body of research con rming the bene ts of integrating SCS within the development process of supervisory controllers, it has still not yet found widespread application within industry. In the author's opinion, this is partly attributed to the non-user-friendly nature of the automaton-based modelling framework used create the models of the uncontrolled system (and control requirements in even-based SCS). It is believed that in order for SCS to become more accessible to a wider range of non experts, modelling within SCS must be made more intuitive and user-friendly. To improve the usability of SCS, this work illustrates how a graph transformation-based modelling approach can be employed to generate the automaton models required for supervisory control synthesis. Furthermore, it is demonstrated how models of the speci cation can be intuitively represented within our proposed modelling framework for both event- and state-based supervisory control synthesis. Lastly, this thesis assesses the relative advantages brought about by the proposed graph transformation-based modelling framework over the conventional automaton based modelling approach
    corecore