![Loading...](https://link.springer.com/static/c4a417b97a76cc2980e3c25e2271af3129e08bbe/images/pdf-preview/spacer.gif)
-
Chapter and Conference Paper
ReverCSP: Time-Travelling in CSP Computations
This paper presents reverCSP, a tool to animate both forward and backward CSP computations. This ability to reverse computations can be done step by step or backtracking to a given desired state of interest. reve...
-
Chapter and Conference Paper
Enhancing POI Testing Through the Use of Additional Information
Recently, a new approach to perform regression testing has been defined: the point of interest (POI) testing. A POI, in this context, is any expression of a program. The approach receives as input a set of rel...
-
Chapter and Conference Paper
Runtime Verification in Erlang by Using Contracts
During its lifetime, a program regularly undergoes changes that seek to improve its functionality or efficiency. However, such modifications may also introduce new errors. In this work, we use the design-by-contr...
-
Chapter and Conference Paper
Erlang Code Evolution Control
In 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. These code changes often involve seve...
-
Chapter and Conference Paper
Main Content Extraction from Heterogeneous Webpages
Besides the main content, webpages often contain other complementary and noisy data such as advertisements, navigational information, copyright notices, and other template-related elements. The detection and e...
-
Chapter and Conference Paper
An Integrated Environment for Petri Net Slicing
Petri net slicing is a technique to automatically isolate the part of a marked Petri net that influences or is influenced by a given set of places. There exist different algorithms for Petri net slicing with d...
-
Chapter and Conference Paper
Machine Learning-Driven Automatic Program Transformation to Increase Performance in Heterogeneous Architectures
We present a program transformation approach to convert procedural code into functionally equivalent code adapted to a given platform. Our framework is based on the application of guarded transformation rules ...
-
Chapter and Conference Paper
Debugging Meets Testing in Erlang
We propose a bidirectional collaboration between declarative debugging and testing for detecting errors in the sequential subset of the programming language Erlang. In our proposal, the information obtained fr...
-
Chapter and Conference Paper
Site-Level Web Template Extraction Based on DOM Analysis
One of the main development resources for website engineers are Web templates. Templates allow them to increase productivity by plugin content into already formatted and prepared pagelets. For the final user t...
-
Chapter and Conference Paper
A Haskell Implementation of a Rule-Based Program Transformation for C Programs
Obtaining good performance when programming heterogeneous computing platforms poses significant challenges for the programmer. We present a program transformation environment, implemented in Haskell, where arc...
-
Chapter and Conference Paper
EDD: A Declarative Debugger for Sequential Erlang Programs
Declarative debuggers are semi-automatic debugging tools that abstract the execution details to focus on the program semantics. This paper presents a tool implementing this approach for the sequential subset o...
-
Chapter and Conference Paper
A Declarative Debugger for Sequential Erlang Programs
Declarative debuggers are semi-automatic debugging tools that abstract the execution details to focus on the program semantics. Erroneous computations are represented by suitable trees, which are traversed by ...
-
Chapter and Conference Paper
System Dependence Graphs in Sequential Erlang
The system dependence graph (SDG) is a data structure used in the imperative paradigm for different static analysis, and particularly, for program slicing. Program slicing allows us to determine the part of a ...
-
Chapter and Conference Paper
Graph Generation to Statically Represent CSP Processes
The CSP language allows the specification and verification of complex concurrent systems. Many analyses for CSP exist that have been successfully applied in different industrial projects. However, the cost of ...
-
Chapter and Conference Paper
A Tracking Semantics for CSP
CSP is a powerful language for specifying complex concurrent systems. Due to the non-deterministic execution order of processes and to synchronizations, many analyses such as deadlock analysis, reliability ana...
-
Chapter and Conference Paper
Fast and Accurate Strong Termination Analysis with an Application to Partial Evaluation
A logic program strongly terminates if it terminates for any selection rule. Clearly, considering a particular selection rule|like Prolog’s leftmost selection rule|allows one to prove more goals terminating. I...
-
Chapter and Conference Paper
A Transformational Approach to Polyvariant BTA of Higher-Order Functional Programs
We introduce a transformational approach to improve the first stage of offline partial evaluation of functional programs, the so called binding-time analysis (BTA). For this purpose, we first introduce an improve...
-
Chapter and Conference Paper
The MEB and CEB Static Analysis for CSP Specifications
This work presents a static analysis technique based on program slicing for CSP specifications. Given a particular event in a CSP specification, our technique allows us to know what parts of the specification ...
-
Chapter and Conference Paper
Preserving Sharing in the Partial Evaluation of Lazy Functional Programs
The goal of partial evaluation is the specialization of programs w.r.t. part of their input data. Although this technique is already well-known in the context of functional languages, current approaches are ei...