24,422 research outputs found

    Extensible Technology-Agnostic Runtime Verification

    Full text link
    With numerous specialised technologies available to industry, it has become increasingly frequent for computer systems to be composed of heterogeneous components built over, and using, different technologies and languages. While this enables developers to use the appropriate technologies for specific contexts, it becomes more challenging to ensure the correctness of the overall system. In this paper we propose a framework to enable extensible technology agnostic runtime verification and we present an extension of polyLarva, a runtime-verification tool able to handle the monitoring of heterogeneous-component systems. The approach is then applied to a case study of a component-based artefact using different technologies, namely C and Java.Comment: In Proceedings FESCA 2013, arXiv:1302.478

    Towards a General Framework for Formal Reasoning about Java Bytecode Transformation

    Full text link
    Program transformation has gained a wide interest since it is used for several purposes: altering semantics of a program, adding features to a program or performing optimizations. In this paper we focus on program transformations at the bytecode level. Because these transformations may introduce errors, our goal is to provide a formal way to verify the update and establish its correctness. The formal framework presented includes a definition of a formal semantics of updates which is the base of a static verification and a scheme based on Hoare triples and weakest precondition calculus to reason about behavioral aspects in bytecode transformationComment: In Proceedings SCSS 2012, arXiv:1307.802

    Towards a Java Subtyping Operad

    Full text link
    The subtyping relation in Java exhibits self-similarity. The self-similarity in Java subtyping is interesting and intricate due to the existence of wildcard types and, accordingly, the existence of three subtyping rules for generic types: covariant subtyping, contravariant subtyping and invariant subtyping. Supporting bounded type variables also adds to the complexity of the subtyping relation in Java and in other generic nominally-typed OO languages such as C# and Scala. In this paper we explore defining an operad to model the construction of the subtyping relation in Java and in similar generic nominally-typed OO programming languages. Operads, from category theory, are frequently used to model self-similar phenomena. The Java subtyping operad, we hope, will shed more light on understanding the type systems of generic nominally-typed OO languages.Comment: 13 page

    Formal Verification of Security Protocol Implementations: A Survey

    Get PDF
    Automated formal verification of security protocols has been mostly focused on analyzing high-level abstract models which, however, are significantly different from real protocol implementations written in programming languages. Recently, some researchers have started investigating techniques that bring automated formal proofs closer to real implementations. This paper surveys these attempts, focusing on approaches that target the application code that implements protocol logic, rather than the libraries that implement cryptography. According to these approaches, libraries are assumed to correctly implement some models. The aim is to derive formal proofs that, under this assumption, give assurance about the application code that implements the protocol logic. The two main approaches of model extraction and code generation are presented, along with the main techniques adopted for each approac

    Card-Game Marriage in Internet Environment

    Get PDF
    Import 29/09/2010Tématem této práce je síťová realizace karetní hry Mariáš. Hru hrají tři hráči proti sobě. Aplikace má tedy dvě části – server (vytvořený pomocí Java servletu) a klient (vytvořený pomocí Java appletu). Bylo třeba vytvořit vhodné grafické rozhraní, síťovou vrstvu a server starající se o udržování stavu hry a zajišťující komunikaci mezi klienty. Pro tento účel jsem musela vybrat vhodnou technologii. Další část práce spočívala v implementaci herní logiky, aby bylo zajištěno dodržování pravidel hry. První kapitola je úvodní. Druhá kapitola srovnává různé serverové technologie a popisuje, proč jsem vybrala Java servlet. Třetí kapitola se týká technologií na straně klienta a zdůvodňuje použití Java appletu. Další kapitola obsahuje způsob řešení samotného programu. Po popisu použitých programů následuje uživatelská dokumentace. Jsou přiložena pravidla hry.This thesis is about creation of card-game Marriage in internet environment. The game is played by three players. The application has two parts: the server (implemented as Java Servlet) and the client (implemented as Java Applet). First I had to create a graphical user interface, the network layer and the server to take care of the game status and to handle communication with clients. I had to choose an appropriate technology for that purpose. The next part of the work was about implementing the game logic to enforce game rules. The first chapter contains introduction. In the second chapter, various server-side technologies are compared and reasons why Java Servlet was chosen are given. The third chapter discusses client-side technologies and the choice of Java Applet. Next chapter describes the programming part. The description of software used is then followed by user documentation. The game rules are included in Appendix A.Prezenční456 - Katedra informatikyvelmi dobř
    corecore