3,696 research outputs found
A Denotational Semantics for Communicating Unstructured Code
An important property of programming language semantics is that they should
be compositional. However, unstructured low-level code contains goto-like
commands making it hard to define a semantics that is compositional. In this
paper, we follow the ideas of Saabas and Uustalu to structure low-level code.
This gives us the possibility to define a compositional denotational semantics
based on least fixed points to allow for the use of inductive verification
methods. We capture the semantics of communication using finite traces similar
to the denotations of CSP. In addition, we examine properties of this semantics
and give an example that demonstrates reasoning about communication and jumps.
With this semantics, we lay the foundations for a proof calculus that captures
both, the semantics of unstructured low-level code and communication.Comment: In Proceedings FESCA 2015, arXiv:1503.0437
Semantics-based Automated Web Testing
We present TAO, a software testing tool performing automated test and oracle
generation based on a semantic approach. TAO entangles grammar-based test
generation with automated semantics evaluation using a denotational semantics
framework. We show how TAO can be incorporated with the Selenium automation
tool for automated web testing, and how TAO can be further extended to support
automated delta debugging, where a failing web test script can be
systematically reduced based on grammar-directed strategies. A real-life
parking website is adopted throughout the paper to demonstrate the effectivity
of our semantics-based web testing approach.Comment: In Proceedings WWV 2015, arXiv:1508.0338
Agent-Based Models and Simulations in Economics and Social Sciences: from conceptual exploration to distinct ways of experimenting
Now that complex Agent-Based Models and computer simulations
spread over economics and social sciences - as in most sciences of complex
systems -, epistemological puzzles (re)emerge. We introduce new
epistemological tools so as to show to what precise extent each author is right
when he focuses on some empirical, instrumental or conceptual significance of
his model or simulation. By distinguishing between models and simulations,
between types of models, between types of computer simulations and between
types of empiricity, section 2 gives conceptual tools to explain the rationale of
the diverse epistemological positions presented in section 1. Finally, we claim
that a careful attention to the real multiplicity of denotational powers of
symbols at stake and then to the implicit routes of references operated by
models and computer simulations is necessary to determine, in each case, the
proper epistemic status and credibility of a given model and/or simulation
Mechanized semantics
The goal of this lecture is to show how modern theorem provers---in this
case, the Coq proof assistant---can be used to mechanize the specification of
programming languages and their semantics, and to reason over individual
programs and over generic program transformations, as typically found in
compilers. The topics covered include: operational semantics (small-step,
big-step, definitional interpreters); a simple form of denotational semantics;
axiomatic semantics and Hoare logic; generation of verification conditions,
with application to program proof; compilation to virtual machine code and its
proof of correctness; an example of an optimizing program transformation (dead
code elimination) and its proof of correctness
Towards a Step Semantics for Story-Driven Modelling
Graph Transformation (GraTra) provides a formal, declarative means of
specifying model transformation. In practice, GraTra rule applications are
often programmed via an additional language with which the order of rule
applications can be suitably controlled.
Story-Driven Modelling (SDM) is a dialect of programmed GraTra, originally
developed as part of the Fujaba CASE tool suite. Using an intuitive,
UML-inspired visual syntax, SDM provides usual imperative control flow
constructs such as sequences, conditionals and loops that are fairly simple,
but whose interaction with individual GraTra rules is nonetheless non-trivial.
In this paper, we present the first results of our ongoing work towards
providing a formal step semantics for SDM, which focuses on the execution of an
SDM specification.Comment: In Proceedings GaM 2016, arXiv:1612.0105
- …