Filters








1,873 Hits in 2.0 sec

A Monitoring Tool for a Branching-Time Logic [chapter]

Duncan Paul Attard, Adrian Francalanza
2016 Lecture Notes in Computer Science  
We present the implementation of an experimental tool that automatically synthesises monitors from specifications written in mHML, a monitorable subset of the branching-time logic µHML.  ...  We discuss how this compositionality facilitates a translation into concurrent Erlang monitors, where each individual (sub)monitor is an actor that autonomously analyses individual parts of the source  ...  A.4 for an example. The tool instruments the generated monitors to run with the system in asynchronous fashion, using the native tracing functionality provided by the Erlang Virtual Machine (EVM).  ... 
doi:10.1007/978-3-319-46982-9_31 fatcat:4gxq27lw2zdllmosceyf26ui2u

eAOP: an aspect oriented programming framework for Erlang

Ian Cassar, Adrian Francalanza, Luca Aceto, Anna Ingólfsdóttir
2017 Proceedings of the 16th ACM SIGPLAN International Workshop on Erlang - Erlang 2017  
We thus present eAOP, a new AOP framework specifically designed to instrument actororiented constructs in Erlang such as message sends and receives, along with other traditional constructs such as function  ...  Aspect oriented programming (AOP) is a paradigm ideal for defining cross-cutting concerns within an existing application.  ...  For instance, to synchronously monitor the send operations in the math_loop function (defined in Example 3.1), the tool generates the pointcut The generated advice reports the operation by sending a trace  ... 
doi:10.1145/3123569.3123570 dblp:conf/erlang/CassarFAI17 fatcat:uxgwbyqdu5dovjisa5nhows44q

On Synchronous and Asynchronous Monitor Instrumentation for Actor-based systems

Ian Cassar, Adrian Francalanza
2015 Electronic Proceedings in Theoretical Computer Science  
We study the impact of synchronous and asynchronous monitoring instrumentation on runtime overheads in the context of a runtime verification framework for actor-based systems.  ...  We also show how, for certain properties that require synchronous monitoring, a hybrid approach can be used that ensures timely violation detections for the important events while, at the same time, incurring  ...  In [23] , the authors present a tool that synthesises concurrent monitors (as systems of Erlang processes) from a syntactic subset of the modal µ-calculus specifying safety properties for Erlang systems  ... 
doi:10.4204/eptcs.175.4 fatcat:dbtypl3ksfal5ixl2hquajy73e

Elarva: A Monitoring Tool for Erlang [chapter]

Christian Colombo, Adrian Francalanza, Rudolph Gatt
2012 Lecture Notes in Computer Science  
The Larva monitoring tool has been successfully applied to a number of industrial Java systems, providing extra assurance of behaviour correctness.  ...  Given the increased interest in concurrent programming, we propose Elarva, an adaptation of Larva for monitoring programs written in Erlang, an established industry-strength concurrent language.  ...  for a monitoring framework for Erlang.  ... 
doi:10.1007/978-3-642-29860-8_29 fatcat:fnq3lwckvzcpdch2bsqsohx6um

Runtime Verification in Erlang by Using Contracts [chapter]

Lars-Åke Fredlund, Julio Mariño, Sergio Pérez, Salvador Tamarit
2019 Lecture Notes in Computer Science  
Applying these principles we have designed a runtime verification system for the Erlang language. The system comprises two kinds of annotations.  ...  The ideas presented in this paper have been implemented in a tool named EDBC. Its source code is available at github.com as an open-source and free project.  ...  More generally, we can extend our system to translate EDBC contracts to EUnit tests cases, to or property test generators for property-based testing tools like Quviq QuickCheck [2] .  ... 
doi:10.1007/978-3-030-16202-3_4 fatcat:eyswhp2lknhs5d34sv6doebsbq

Systematic Testing for Detecting Concurrency Errors in Erlang Programs

Maria Christakis, Alkis Gotovos, Konstantinos Sagonas
2013 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation  
We present the techniques used in Concuerror, a systematic testing tool able to find and reproduce a wide class of concurrency errors in Erlang programs.  ...  To ameliorate the problem of combinatorial explosion, we propose a novel technique for avoiding process blocks and describe how we can effectively combine it with preemption bounding, a heuristic algorithm  ...  generate test cases for Concuerror.  ... 
doi:10.1109/icst.2013.50 dblp:conf/icst/ChristakisGS13 fatcat:jrg4jveepnfn5fbhqux6idcv6u

Erlang Code Evolution Control [article]

David Insa, Sergio Pérez, Josep Silva, Salvador Tamarit
2017 arXiv   pre-print
Our test case generation is directed by a sophisticated combination of several already existing tools such as TypEr, CutEr, and PropEr; and other ideas such as allowing the programmer to chose an expression  ...  During the software lifecycle, a program can evolve several times for different reasons such as the optimisation of a bottle-neck, the refactoring of an obscure function, etc.  ...  the branching coverage; TypEr [9], a type inference system for Erlang, to obtain types for the input functions; and PropEr [11], a property- based testing tool, to obtain values of a given type.  ... 
arXiv:1709.05291v1 fatcat:24vxq6r5gbfqragzi2eva6tm3q

Multicore profiling for Erlang programs using percept2

Huiqing Li, Simon Thompson
2013 Proceedings of the twelfth ACM SIGPLAN workshop on Erlang - Erlang '13  
Erlang is a functional programming language with built-in support for concurrency based on share-nothing processes and asynchronous message passing.  ...  In this paper, we present the Erlang concurrency profiling tool Percept2, and demonstrate how the information provided by it can help the user to explore the potential parallelism in an Erlang application  ...  We have presented the Erlang concurrency profiling tool Percept2, an extended version of Percept in both functionality and scalability.  ... 
doi:10.1145/2505305.2505311 dblp:conf/erlang/LiT13 fatcat:4qhhtgufuzc3zjnee3esnmn2aq

Finding race conditions in Erlang with QuickCheck and PULSE

Koen Claessen, Michal Palka, Nicholas Smallbone, John Hughes, Hans Svensson, Thomas Arts, Ulf Wiger
2009 Proceedings of the 14th ACM SIGPLAN international conference on Functional programming - ICFP '09  
We begin by introducing the industrial case that we apply our tools and techniques to. In Erlang, each process has a unique, dynamically-assigned identifier ("pid"), and to send a message to  ...  We present three tools (QuickCheck, PULSE, and a visualizer) that in combination can be used to test and debug concurrent programs in unit testing with a much better possibility of detecting race conditions  ...  In this paper, we describe tools we have developed for finding race conditions in Erlang code during unit testing.  ... 
doi:10.1145/1596550.1596574 dblp:conf/icfp/ClaessenPSHSAW09 fatcat:okp2f672gffdzkw22e4ciufyse

Finding race conditions in Erlang with QuickCheck and PULSE

Koen Claessen, Michal Palka, Nicholas Smallbone, John Hughes, Hans Svensson, Thomas Arts, Ulf Wiger
2009 SIGPLAN notices  
We begin by introducing the industrial case that we apply our tools and techniques to. In Erlang, each process has a unique, dynamically-assigned identifier ("pid"), and to send a message to  ...  We present three tools (QuickCheck, PULSE, and a visualizer) that in combination can be used to test and debug concurrent programs in unit testing with a much better possibility of detecting race conditions  ...  In this paper, we describe tools we have developed for finding race conditions in Erlang code during unit testing.  ... 
doi:10.1145/1631687.1596574 fatcat:4ef4scibgjcmphevlmuhalsvcu

Runtime verification in Erlang by using contracts [article]

Lars-Åke Fredlund, Julio Mariño, Sergio Pérez, Salvador Tamarit
2019 arXiv   pre-print
In this paper, we apply the principles of this approach to Erlang, enabling, in this way, a runtime verification system in this language. We define two types of contracts.  ...  There are several approaches and tools that help to spot and find the source of these errors.  ...  Contracts added by users can also be used to generate documentation. Erlang OTP includes the tool EDoc [5] which generates documentation for modules in HTML format.  ... 
arXiv:1808.07937v3 fatcat:q3e3wl3lhvbzfd6j4ysre2t7ja

A Survey of Runtime Monitoring Instrumentation Techniques

Ian Cassar, Adrian Francalanza, Luca Aceto, Anna Ingólfsdóttir
2017 Electronic Proceedings in Theoretical Computer Science  
This allows the same property to be converted into different types of monitors, which may apply different instrumentation techniques for checking whether the property was satisfied or not.  ...  In this paper we compare and contrast the various types of monitoring methodologies found in the current literature, and classify them into a spectrum of monitoring instrumentation techniques, ranging  ...  By using code-inlining this tool achieves online monitoring through a synchronous-instrumentation approach.  ... 
doi:10.4204/eptcs.254.2 fatcat:537v3lxagjbn7h6gcjxdccpecm

Property-Based Testing - The ProTest Project [chapter]

John Derrick, Neil Walkinshaw, Thomas Arts, Clara Benac Earle, Francesco Cesarini, Lars-Ake Fredlund, Victor Gulias, John Hughes, Simon Thompson
2010 Lecture Notes in Computer Science  
And to do so we will build automated tools that will generate and run tests, monitor execution at run-time, and log events for analysis.  ...  Erlang.  ...  This tool, called QuickSpec [Hug08] , can automatically generate properties for a given library of functions.  ... 
doi:10.1007/978-3-642-17071-3_13 fatcat:lmmpqlf74ndqfljsqwfj3nrx6y

Concolic Execution in Functional Programming by Program Instrumentation [chapter]

Adrián Palacios, Germán Vidal
2015 Lecture Notes in Computer Science  
We discuss the usefulness of our approach for test case generation.  ...  In this paper, in contrast, we present a lightweight approach that is based on a program instrumentation.  ...  As for concolic execution, [5] introduces CutEr, a concolic testing tool for the functional component of Erlang.  ... 
doi:10.1007/978-3-319-27436-2_17 fatcat:ywfk6rzmjvfmnjybazs62ssmdi

Model checking erlang programs

Lars-Åke Fredlund, Clara Benac Earle
2006 Proceedings of the 2006 ACM SIGPLAN workshop on Erlang - ERLANG '06  
We present the new model checker McErlang for verifying Erlang programs. In comparison with the etomcrl tool set, McErlang differs mainly in that it is implemented in Erlang.  ...  The implementation language offers several advantages: checkable programs use "almost" normal Erlang, correctness properties are formulated in Erlang itself instead of a temporal logic, and it is easier  ...  The timing column indicates the time needed to generate the transition system (for etomcrl, via the instantiator tool) and both the time to generate the transition system and check the mutex property for  ... 
doi:10.1145/1159789.1159793 dblp:conf/erlang/FredlundE06 fatcat:j4hal6nlkvdqbiph266bahqs5a
« Previous Showing results 1 — 15 out of 1,873 results