9,368 research outputs found

    Putting formal specifications under the magnifying glass: Model-based testing for validation

    Get PDF
    A software development process is effectively an abstract form of model transformation, starting from an end-user model of requirements, through to a system model for which code can be automatically generated. The success (or failure) of such a transformation depends substantially on obtaining a correct, well-formed initial model that captures user concerns. Model-based testing automates black box testing based on the model of the system under analysis. This paper proposes and evaluates a novel model-based testing technique that aims to reveal specification/requirement-related errors by generating test cases from a test model and exercising them on the design model. The case study outlined in the paper shows that a separate test model not only increases the level of objectivity of the requirements, but also supports the validation of the system under test through test case generation. The results obtained from the case study support the hypothesis that there may be discrepancies between the formal specification of the system modeled at developer end and the problem to be solved, and using solely formal verification methods may not be sufficient to reveal these. The approach presented in this paper aims at providing means to obtain greater confidence in the design model that is used as the basis for code generation

    Applying Formal Methods to Networking: Theory, Techniques and Applications

    Full text link
    Despite its great importance, modern network infrastructure is remarkable for the lack of rigor in its engineering. The Internet which began as a research experiment was never designed to handle the users and applications it hosts today. The lack of formalization of the Internet architecture meant limited abstractions and modularity, especially for the control and management planes, thus requiring for every new need a new protocol built from scratch. This led to an unwieldy ossified Internet architecture resistant to any attempts at formal verification, and an Internet culture where expediency and pragmatism are favored over formal correctness. Fortunately, recent work in the space of clean slate Internet design---especially, the software defined networking (SDN) paradigm---offers the Internet community another chance to develop the right kind of architecture and abstractions. This has also led to a great resurgence in interest of applying formal methods to specification, verification, and synthesis of networking protocols and applications. In this paper, we present a self-contained tutorial of the formidable amount of work that has been done in formal methods, and present a survey of its applications to networking.Comment: 30 pages, submitted to IEEE Communications Surveys and Tutorial

    "Boring formal methods" or "Sherlock Holmes deduction methods"?

    Full text link
    This paper provides an overview of common challenges in teaching of logic and formal methods to Computer Science and IT students. We discuss our experiences from the course IN3050: Applied Logic in Engineering, introduced as a "logic for everybody" elective course at at TU Munich, Germany, to engage pupils studying Computer Science, IT and engineering subjects on Bachelor and Master levels. Our goal was to overcome the bias that logic and formal methods are not only very complicated but also very boring to study and to apply. In this paper, we present the core structure of the course, provide examples of exercises and evaluate the course based on the students' surveys.Comment: Preprint. Accepted to the Software Technologies: Applications and Foundations (STAF 2016). Final version published by Springer International Publishing AG. arXiv admin note: substantial text overlap with arXiv:1602.0517

    Phase field study of the tip operating state of a freely growing dendrite against convection using a novel parallel multigrid approach

    Get PDF
    Alloy dendrite growth during solidification with coupled thermal-solute-convection fields has been studied by phase field modeling and simulation. The coupled transport equations were solved using a novel parallel-multigrid numerical approach with high computational efficiency that has enabled the investigation of dendrite growth with realistic alloy values of Lewis number ∼104 and Prandtl number ∼10−2. The detailed dendrite tip shape and character were compared with widely recognized analytical approaches to show validity, and shown to be highly dependent on undercooling, solute concentration and Lewis number. In a relatively low flow velocity regime, variations in the ratio of growth selection parameter with and without convection agreed well with theory

    The AFLOW Fleet for Materials Discovery

    Full text link
    The traditional paradigm for materials discovery has been recently expanded to incorporate substantial data driven research. With the intent to accelerate the development and the deployment of new technologies, the AFLOW Fleet for computational materials design automates high-throughput first principles calculations, and provides tools for data verification and dissemination for a broad community of users. AFLOW incorporates different computational modules to robustly determine thermodynamic stability, electronic band structures, vibrational dispersions, thermo-mechanical properties and more. The AFLOW data repository is publicly accessible online at aflow.org, with more than 1.7 million materials entries and a panoply of queryable computed properties. Tools to programmatically search and process the data, as well as to perform online machine learning predictions, are also available.Comment: 14 pages, 8 figure

    Automatic Software Repair: a Bibliography

    Get PDF
    This article presents a survey on automatic software repair. Automatic software repair consists of automatically finding a solution to software bugs without human intervention. This article considers all kinds of repairs. First, it discusses behavioral repair where test suites, contracts, models, and crashing inputs are taken as oracle. Second, it discusses state repair, also known as runtime repair or runtime recovery, with techniques such as checkpoint and restart, reconfiguration, and invariant restoration. The uniqueness of this article is that it spans the research communities that contribute to this body of knowledge: software engineering, dependability, operating systems, programming languages, and security. It provides a novel and structured overview of the diversity of bug oracles and repair operators used in the literature

    A model-driven approach to the conceptual modeling of situations : from specification to validation

    Get PDF
    A modelagem de situações para aplicações sensíveis ao contexto, também chamadas de aplicações sensíveis a situações, é, por um lado, uma tarefa chave para o funcionamento adequado dessas aplicações. Por outro lado, essa também é uma tafera árdua graças à complexidade e à vasta gama de tipos de situações possíveis. Com o intuito de facilitar a representação desses tipos de situações em tempo de projeto, foi criada a Linguagem de Modelagem de Situações (Situation Modeling Language - SML), a qual se baseia parcialmente em ricas teorias ontológicas de modelagem conceitual, além de fornecer uma plataforma de detecção de situação em tempo de execução. Apesar do benefício da existência dessa infraestrutura, a tarefa de definir tipos de situação é ainda não-trivial, podendo carregar problemas que dificilmente são detectados por modeladores via inspeções manuais. Esta dissertação tem o propósito de melhorar e facilitar ainda mais a definição de tipos de situação em SML propondo: (i) uma maior integração da linguagem com as teorias ontológicas de modelagem conceitual pelo uso da linguagem OntoUML, visando aumentar a expressividade dos modelos de situação; e (ii) uma abordagem para validação de tipos de situação usando um método formal, visando garantir que os modelos criados correspondam à intenção do modelador. Tanto a integração quanto a validação são implementadas em uma ferramenta para especificação, verificação e validação de tipos de situação ontologicamente enriquecidos.The modeling of situation types for context-aware applications, also called situationaware applications, is, on the one hand, a key task to the proper functioning of those applications. On the other hand, it is also a hard task given the complexity and the wide range of possible situation types. Aiming at facilitating the representation of those types of situations at design-time, the Situation Modeling Language (SML) was created. This language is based partially on rich ontological theories of conceptual modeling and is accompanied by a platform for situation-detection at runtime. Despite the benefits of the availability of this suitable infrastructure, the definition of situation types, being a non-trivial task, can still pose problems that are hardly detected by modelers by manual model inspection. This thesis aims at improving and facilitating the definition of situation types in SML by proposing: (i) the integration between the language and the ontological theories of conceptual modeling by using the OntoUML language, with the purpose of increasing the expressivity of situation type models; and (ii) an approach for the validation of situation type models using a lightweight formal method, aiming at increasing the correspondence between the created models’ instances and the modeler’s intentions. Both the integration and the validation are implemented in a tool for specification, verification and validation of ontologically-enriched situation types.CAPE

    Knowledge Flow Analysis for Security Protocols

    Full text link
    Knowledge flow analysis offers a simple and flexible way to find flaws in security protocols. A protocol is described by a collection of rules constraining the propagation of knowledge amongst principals. Because this characterization corresponds closely to informal descriptions of protocols, it allows a succinct and natural formalization; because it abstracts away message ordering, and handles communications between principals and applications of cryptographic primitives uniformly, it is readily represented in a standard logic. A generic framework in the Alloy modelling language is presented, and instantiated for two standard protocols, and a new key management scheme.Comment: 20 page
    corecore