29 research outputs found

    Towards scaling up DynAlloy analysis using predicate abstraction

    Get PDF
    DynAlloy is an extension to the Alloy specifi cation language suitable for modeling properties of executions of software systems. DynAlloy provides fully automated support for verifying properties of programs, in the style of the Alloy Analyzer, i.e., by exhaustively searching for counterexamples of properties in bounded scenarios (bounded domains and iterations of programs). But, as for other automated analysis techniques, the so called state explotion problem makes the analysis feasible only for small bounds. In this paper, we take advantage of an abstraction technique known as predicate abstraction, for scaling up the analysis of DynAlloy specifi cations. The implementation of predicate abstraction we present enables us to substantially increase the domain and iteration bounds in some case studies, and its use is fully automated. Our implementation is relatively e cient, exploiting the reuse of already calculated abstractions when these are available, and an "on the fly" check of traces when looking for counterexamples. We introduce the implementation of the technique, and some preliminary experimental results with case studies, to illustrate the benefi ts of the technique.VI Workshop Ingenier铆a de Software (WIS)Red de Universidades con Carreras en Inform谩tica (RedUNCI

    Towards scaling up DynAlloy analysis using predicate abstraction

    Get PDF
    DynAlloy is an extension to the Alloy specifi cation language suitable for modeling properties of executions of software systems. DynAlloy provides fully automated support for verifying properties of programs, in the style of the Alloy Analyzer, i.e., by exhaustively searching for counterexamples of properties in bounded scenarios (bounded domains and iterations of programs). But, as for other automated analysis techniques, the so called state explotion problem makes the analysis feasible only for small bounds. In this paper, we take advantage of an abstraction technique known as predicate abstraction, for scaling up the analysis of DynAlloy specifi cations. The implementation of predicate abstraction we present enables us to substantially increase the domain and iteration bounds in some case studies, and its use is fully automated. Our implementation is relatively e cient, exploiting the reuse of already calculated abstractions when these are available, and an "on the fly" check of traces when looking for counterexamples. We introduce the implementation of the technique, and some preliminary experimental results with case studies, to illustrate the benefi ts of the technique.VI Workshop Ingenier铆a de Software (WIS)Red de Universidades con Carreras en Inform谩tica (RedUNCI

    Computer Science and Technology Series : XV Argentine Congress of Computer Science. Selected papers

    Get PDF
    CACIC'09 was the fifteenth Congress in the CACIC series. It was organized by the School of Engineering of the National University of Jujuy. The Congress included 9 Workshops with 130 accepted papers, 1 main Conference, 4 invited tutorials, different meetings related with Computer Science Education (Professors, PhD students, Curricula) and an International School with 5 courses. CACIC 2009 was organized following the traditional Congress format, with 9 Workshops covering a diversity of dimensions of Computer Science Research. Each topic was supervised by a committee of three chairs of different Universities. The call for papers attracted a total of 267 submissions. An average of 2.7 review reports were collected for each paper, for a grand total of 720 review reports that involved about 300 different reviewers. A total of 130 full papers were accepted and 20 of them were selected for this book.Red de Universidades con Carreras en Inform谩tica (RedUNCI

    Translating between Alloy specifications and UML class diagrams annotated with OCL

    Get PDF
    Model-driven engineering (MDE) is a software engineering approach based on model transformations at different abstraction levels. It prescribes the development of software by successively transforming the models from abstract (specifications) to more concrete ones (code). Alloy is an increasingly popular lightweight formal specification language that supports automatic verification. Unfortunately, its widespread industrial adoption is hampered by the lack of an ecosystem of MDE tools, namely code generators. This paper presents a model transformation from Alloy to UML class diagrams annotated with OCL (UML+OCL) and shows how an existing transformation from UML+OCL to Alloy can be improved to handle dynamic issues. The proposed bidirectional transformation enables a smooth integration of Alloy in the current MDE contexts, by allowing UML+OCL specifications to be transformed to Alloy for validation and verification, to correct and possibly refine them inside Alloy, and to translate them back to UML+OCL for sharing with stakeholders or to reuse current model-driven architecture tools to refine them toward code.This work was funded by European Regional Development Fund (ERDF) through the COMPETE Programme (operational program for competitiveness) and by national funds through the FCT (Fundaaco para a Ciencia e a Tecnologia-portuguese Foundation for Science and Technology) within project FCOMP-01-0124-FEDER-020532. Part of the work was done while the first author was visiting the Software Design Group at CSAIL, MIT, USA, funded by FCT sabbatical grant SFRH/BSAB/1187/2011. The second author was also partially supported by QREN (the portuguese National Strategy Reference Chart) project 1621, while visiting the High-Assurance Software Laboratory at Universidade do Minho, Portugal. Finally, we would also like to thank all anonymous reviewers for the valuable comments and suggestions

    Computer Science and Technology Series : XV Argentine Congress of Computer Science. Selected papers

    Get PDF
    CACIC'09 was the fifteenth Congress in the CACIC series. It was organized by the School of Engineering of the National University of Jujuy. The Congress included 9 Workshops with 130 accepted papers, 1 main Conference, 4 invited tutorials, different meetings related with Computer Science Education (Professors, PhD students, Curricula) and an International School with 5 courses. CACIC 2009 was organized following the traditional Congress format, with 9 Workshops covering a diversity of dimensions of Computer Science Research. Each topic was supervised by a committee of three chairs of different Universities. The call for papers attracted a total of 267 submissions. An average of 2.7 review reports were collected for each paper, for a grand total of 720 review reports that involved about 300 different reviewers. A total of 130 full papers were accepted and 20 of them were selected for this book.Red de Universidades con Carreras en Inform谩tica (RedUNCI

    Mejorando la aplicaci贸n de abstracci贸n por predicados a especificaciones DynAlloy

    Get PDF
    En este trabajo presentamos t茅cnicas para mejorar la performance de Abstracci贸n por Predicados en el contexto de an谩lisis de especificaciones DynAlloy. Este trabajo extiende nuestro trabajo previo en la misma direcci贸n, principalmente mediante un mecanismo de detecci贸n de inducci贸n, que permite independizar, bajo ciertas condiciones, el tiempo de an谩lisis del programa de la cota en la cantidad de iteraciones exigida por DynAlloy. Dado que el tiempo de an谩lisis de programas DynAlloy depende exponencialmente de dicha cota, las ganancias obtenidas al aplicar esta optimizaci麓on son notables. Sin embargo, la t茅cnica no es aplicable en casos arbitrarios, sino s贸lo bajo ciertas condiciones que identificamos en este trabajo. Por otra parte, la t茅cnica puede requerir intervenci贸n del usuario, a trav茅s de la introducci贸n manual de predicados de abstracci贸n. Las optimizaciones mencionadas fueron incorporadas a la implementaci贸n de nuestra herramienta, permit茅ndonos evaluar las mismas en diversos casos de estudio que reportamos en este art铆culo. Estos casos de estudio corresponden a modelos DynAlloy provenientes de programas que operan sobre listas enlazadas.Presentado en el I Workshop Aspectos Te贸ricos de Ciencia de la Computaci贸n (WATCC)Red de Universidades con Carreras en Inform谩tica (RedUNCI

    Mejorando la aplicaci贸n de abstracci贸n por predicados a especificaciones DynAlloy

    Get PDF
    En este trabajo presentamos t茅cnicas para mejorar la performance de Abstracci贸n por Predicados en el contexto de an谩lisis de especificaciones DynAlloy. Este trabajo extiende nuestro trabajo previo en la misma direcci贸n, principalmente mediante un mecanismo de detecci贸n de inducci贸n, que permite independizar, bajo ciertas condiciones, el tiempo de an谩lisis del programa de la cota en la cantidad de iteraciones exigida por DynAlloy. Dado que el tiempo de an谩lisis de programas DynAlloy depende exponencialmente de dicha cota, las ganancias obtenidas al aplicar esta optimizaci麓on son notables. Sin embargo, la t茅cnica no es aplicable en casos arbitrarios, sino s贸lo bajo ciertas condiciones que identificamos en este trabajo. Por otra parte, la t茅cnica puede requerir intervenci贸n del usuario, a trav茅s de la introducci贸n manual de predicados de abstracci贸n. Las optimizaciones mencionadas fueron incorporadas a la implementaci贸n de nuestra herramienta, permit茅ndonos evaluar las mismas en diversos casos de estudio que reportamos en este art铆culo. Estos casos de estudio corresponden a modelos DynAlloy provenientes de programas que operan sobre listas enlazadas.Presentado en el I Workshop Aspectos Te贸ricos de Ciencia de la Computaci贸n (WATCC)Red de Universidades con Carreras en Inform谩tica (RedUNCI

    DASH: A New Language for Declarative Behavioural Requirements with Control State Hierarchy

    Get PDF
    We present DASH, a new language for describing formal behavioural models of requirements. DASH combines the ability to write abstract, declarative transitions (as in Z or Alloy) with a labelled control state hierarchy (as in the Statecharts family of languages). The key contribution of DASH is the combination of explicit support for user-level abstractions that create and factor sets of transitions, such as state hierarchy, and the use of full first-order logic to describe the transitions

    Dash: declarative behavioural modelling in Alloy with control state hierarchy

    Get PDF
    This is a post-peer-review, pre-copyedit version of an article published in Software and Systems Modeling. The final authenticated version is available online at: https://doi.org/10.1007/s10270-022-01012-1We present Dash, an extension to the Alloy language to model dynamic behaviour using the labelled control state hierarchy of Statecharts. From Statecharts, Dash borrows the concepts to specify hierarchy, concurrency, and communication for describing behaviour in a compositional manner. From Alloy, Dash uses the expressiveness of relational logic and set theory to abstractly and declaratively describe structures, data, and operations. We justify our semantic design decisions for Dash, which carefully mix the usual semantic understanding of control state hierarchy with the declarative perspective. We describe and implement the semantics of a Dash model by translating it to Alloy, taking advantage of Alloy language features. We evaluate our Dash translation and perform model checking analysis, enabled by our translation, in the Alloy Analyzer using several case studies. Dash provides modellers with a language that seamlessly combines the semantics of control-modelling paradigms with Alloy鈥檚 existing strengths in modelling data and operations abstractly
    corecore