9,368 research outputs found
Putting formal specifications under the magnifying glass: Model-based testing for validation
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
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"?
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
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
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
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
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
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
- …