Skip to main content

and
  1. 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...

    Carlos Galindo, Naoki Nishida, Josep Silva, Salvador Tamarit in Reversible Computation (2020)

  2. No Access

    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...

    Sergio Pérez, Salvador Tamarit in Functional and Constraint Logic Programming (2019)

  3. No Access

    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...

    Lars-Åke Fredlund, Julio Mariño in Functional and Constraint Logic Programming (2019)

  4. No Access

    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...

    David Insa, Sergio Pérez, Josep Silva in Logic-Based Program Synthesis and Transfor… (2018)

  5. No Access

    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...

    Julian Alarte, David Insa, Josep Silva in Web Information Systems Engineering – WISE… (2018)

  6. No Access

    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...

    Marisa Llorens, Javier Oliver, Josep Silva in Application and Theory of Petri Nets and C… (2017)

  7. No Access

    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 ...

    Salvador Tamarit, Guillermo Vigueras in Tools for High Performance Computing 2016 (2017)

  8. No Access

    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...

    Salvador Tamarit, Adrián Riesco, Enrique Martin-Martin in Tests and Proofs (2016)

  9. No Access

    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...

    Julián Alarte, David Insa, Josep Silva in Perspectives of System Informatics (2016)

  10. No Access

    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...

    Salvador Tamarit, Guillermo Vigueras in Practical Aspects of Declarative Languages (2015)

  11. 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...

    Rafael Caballero, Enrique Martin-Martin in Tools and Algorithms for the Construction … (2014)

  12. No Access

    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 ...

    Rafael Caballero, Enrique Martin-Martin, Adrián Riesco in Tests and Proofs (2013)

  13. 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 ...

    Josep Silva, Salvador Tamarit in Fundamental Approaches to Software Engineering (2012)

  14. No Access

    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 ...

    Marisa Llorens, Javier Oliver, Josep Silva in Logic-Based Program Synthesis and Transfor… (2011)

  15. No Access

    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...

    Marisa Llorens, Javier Oliver, Josep Silva in Mathematics of Program Construction (2010)

  16. No Access

    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...

    Michael Leuschel, Salvador Tamarit in Functional and Constraint Logic Programming (2010)

  17. No Access

    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...

    Gustavo Arroyo, J. Guadalupe Ramos in Logic-Based Program Synthesis and Transfor… (2009)

  18. No Access

    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 ...

    Michael Leuschel, Marisa Llorens in Logic-Based Program Synthesis and Transfor… (2009)

  19. No Access

    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...

    Sebastian Fischer, Josep Silva in Logic-Based Program Synthesis and Transfor… (2008)