130 research outputs found
Digital ecosystems : a distributed service oriented approach for business transactions
EThOS - Electronic Theses Online ServiceGBUnited Kingdo
Atomic Distributed Transactions: a RESTful Design
ABSTRACT The REST architectural style supports the reliable interaction of clients with a single server. However, no guarantees can be made for more complex interactions which require to atomically transfer state among resources distributed across multiple servers. In this paper we describe a lightweight design for transactional composition of RESTful services. The approach -based on the TryCancel/Confirm (TCC) pattern -does not require any extension to the HTTP protocol. The design assumes that resources are designed to comply with the TCC pattern and ensures that the resources involved in the transaction are not aware of it. It delegates the responsability of achieving the atomicity of the transaction to a coordinator which exposes a RESTful API
Adaptive Hypermutation for Search-Based System Test Generation: A Study on REST APIs with EvoMaster
REST web services are widely popular in industry, and search techniques have been successfully used to automatically generate system-level test cases for those systems. In this article, we propose a novel mutation operator which is designed specifically for test generation at system-level, with a particular focus on REST APIs. In REST API testing, and often in system testing in general, an individual can have a long and complex chromosome. Furthermore, there are two specific issues: (1) fitness evaluation in system testing is highly costly compared with the number of objectives (e.g., testing targets) to optimize for; and (2) a large part of the genotype might have no impact on the phenotype of the individuals (e.g., input data that has no impact on the execution flow in the tested program). Due to these issues, it might be not suitable to apply a typical low mutation rate like 1/n (where n is the number of genes in an individual), which would lead to mutating only one gene on average. Therefore, in this article, we propose an adaptive weight-based hypermutation, which is aware of the different characteristics of the mutated genes. We developed adaptive strategies that enable the selection and mutation of genes adaptively based on their fitness impact and mutation history throughout the search. To assess our novel proposed mutation operator, we implemented it in the EvoMaster tool, integrated in the MIO algorithm, and further conducted an empirical study with three artificial REST APIs and four real-world REST APIs. Results show that our novel mutation operator demonstrates noticeable improvements over the default MIO. It provides a significant improvement in performance for six out of the seven case studies, where the relative improvement is up to +12.09% for target coverage, +12.69% for line coverage, and +32.51% for branch coverage.publishedVersio
Synthesis and Pruning as a Dynamic Compression Strategy for Efficient Deep Neural Networks
The brain is a highly reconfigurable machine capable of task-specific
adaptations. The brain continually rewires itself for a more optimal
configuration to solve problems. We propose a novel strategic synthesis
algorithm for feedforward networks that draws directly from the brain's
behaviours when learning. The proposed approach analyses the network and ranks
weights based on their magnitude. Unlike existing approaches that advocate
random selection, we select highly performing nodes as starting points for new
edges and exploit the Gaussian distribution over the weights to select
corresponding endpoints. The strategy aims only to produce useful connections
and result in a smaller residual network structure. The approach is
complemented with pruning to further the compression. We demonstrate the
techniques to deep feedforward networks. The residual sub-networks that are
formed from the synthesis approaches in this work form common sub-networks with
similarities up to ~90%. Using pruning as a complement to the strategic
synthesis approach, we observe improvements in compression.Comment: 29TH ACM INTERNATIONAL CONFERENCE ON INFORMATION AND KNOWLEDGE
MANAGEMENT, 9th International Symposium DATAMOD 2020 FROM DATA TO MODELS AND
BACK, 16 Pages, 7 Figures, 3 Tables, 2 Equation
Inductive Verification of Data Model Invariants for Web Applications β
Modern software applications store their data in remote cloud servers. Users interact with these applications using web browsers or thin clients running on mobile devices. A key issue in dependability of these applications is the correctness of the actions that update the data store, which are triggered by user requests. In this paper, we present techniques for automatically checking if the actions of an application preserve the data model invariants. Our approach first automatically data store, from a given application using instrumented execution. The abstract data store identifies the sets of objects and relations (associations) used by the application, and the actions that update the data store by deleting or creating objects or by changing the relations among the objects. We show that checking invariants of an abstract data store corresponds to inductive invariant verification, and can be done using a mapping to First Order Logic (FOL) and using a FOL theorem prover. We implemented this approach for the Rails framework and applied it to three open source applications. We found four previously unknown bugs and reported them to the developers, who confirmed and immediately fixed two of them
Coordination in Service Value Networks - A Mechanism Design Approach
The fundamental paradigm shift from traditional value chains to agile service value networks (SVN) implies new economic and organizational challenges. This work provides an auction-based coordination mechanism that enables the allocation and pricing of service compositions in SVNs. The mechanism is multidimensional incentive compatible and implements an ex-post service level enforcement. Further extensions of the mechanism are evaluated following analytical and numerical research methods
Data Model Verification via Theorem Proving
Software applications have moved from desktop computers onto the web. This is not surprising since there are many advantages that web applications provide, such as ubiquitous access and distributed processing power. However, these benefits come at a cost. Web applications are complex distributed systems written in multiple languages. As such, they are prone to errors at any stage of development, and difficult to verify, or even test. Considering that web applications store and manage data for millions (even billions) of users, errors in web applications can have disastrous effects.In this dissertation, we present a method for verifying code that is used to access and modify data in web applications. We focus on applications that use frameworks such as Ruby on Rails, Django or Spring. These frameworks are RESTful, enforce the Model-View-Controller architecture, and use Object Relational Mapping libraries to manipulate data. We developed a formal model for data stores and data store manipulation, including access control. We developed a translation of these models to formulas in First Order Logic (FOL) that allows for verification of data model invariants using off-the-shelf FOL theorem provers. In addition, we developed a method for extracting these models from existing applications implemented in Ruby on Rails. Our results demonstrate that our approach is applicable to real world applications, it is able to discover previously unknown bugs, and it does so within minutes on commonly available hardware
- β¦