Puri Arenas

dblp:a/PuriArenas · also Puri Arenas-Sánchez · DBLP profile ↗
← Back
29ranked-venue papers
2as first author
0since 2021 · last 2018
0000-0002-0630-9514ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 25 · 2 first-authorTheory of computation · 9 · 1 first-authorArtificial intelligence and machine learning · 3Computer networks · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
4 papers
Program analysis · 54% Software testing · 23% Program verification · 20%
Theoretical computer science
1 paper
Distributed computing theory · 100%

Topics — the 10 heaviest of 11, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification › model checking › partial order reduction
dynamic partial order reduction
0.312017
Context-Sensitive Dynamic Partial Order Reduction · CAV (1) 2017
Program analysis
cost analysis
0.212015
Resource Analysis: From Sequential to Concurrent and Distributed Programs · FM 2015
Program analysis
resource analysis
0.212015
Resource Analysis: From Sequential to Concurrent and Distributed Programs · FM 2015
Software testing › test generation
automated test generation
0.212013
aPET: a test case generation tool for concurrent objects · ESEC/SIGSOFT FSE 2013
Software testing › test generation
coverage-based test generation
0.212013
aPET: a test case generation tool for concurrent objects · ESEC/SIGSOFT FSE 2013
Program analysis › data flow analysis
field-sensitive analysis
0.112009
Field-Sensitive Value Analysis by Field-Insensitive Analysis · FM 2009
Program analysis
static analysis
0.112009
Field-Sensitive Value Analysis by Field-Insensitive Analysis · FM 2009
Program analysis › data flow analysis
value analysis
0.112009
Field-Sensitive Value Analysis by Field-Insensitive Analysis · FM 2009
Program analysis
concurrent program analysis
0.112015
Resource Analysis: From Sequential to Concurrent and Distributed Programs · FM 2015
Concurrent programming › concurrent data structures
concurrent objects
0.012013
aPET: a test case generation tool for concurrent objects · ESEC/SIGSOFT FSE 2013

Methods — techniques the papers use, named apart from their topics

dynamic partial order reduction · 0.3context sensitivity · 0.3
YearPublicationVenuePosition
2018 Systematic testing of actor systems
abstract
Summary Testing concurrent systems requires exploring all possible nondeterministic interleavings that the concurrent execution may have, as any of the interleavings may reveal the erroneous behavior. In testing of actor systems, we can distinguish 2 sources of nondeterminism: (1)actor selection, the order in which actors are explored, and (2)task selection, the order in which the tasks within each actor are explored. This article provides new strategies and heuristics for pruning redundant state‐exploration when testing actor systems by reducing the amount of unnecessary nondeterminism of both types. Furthermore, we extend these techniques to handle synchronization primitives that allow awaiting for the completion of an asynchronous task. We report on an implementation and experimental evaluation of the proposed techniques in SYCO, a testing tool for actor‐based concurrency.
Elvira Albert, Puri Arenas, Miguel Gómez-Zamalloa
Softw. Test. Verification Reliab.2
2017 Context-Sensitive Dynamic Partial Order Reduction
Elvira Albert, Puri Arenas, Maria Garcia de la Banda, Miguel Gómez-Zamalloa, Peter J. Stuckey
CAV (1)2
2016 Testing of concurrent and imperative software using CLP
abstract
Testing is a vital part of the software development process. In static testing, instead of executing the program on normal values (e.g., numbers), typically the program is executed on symbolic variables representing arbitrary values. Constraints on the symbolic variables are used to represent the conditions under which the execution paths are taken. Testing tools can uncover issues such as memory leaks, buffer overflows, and also concurrency errors like deadlocks or data races. Due to its inherent symbolic execution mechanism and the availability of constraint solvers, Constraint Logic Programming (CLP) has a big potential in the field of testing. In this talk, we will describe a fully CLP-based framework to testing of a today's imperative language. We will also discuss the extension of this framework to handle actor-based concurrency, used in languages such as Go, Actor-Foundry, Erlang, and Scala, among others.
Elvira Albert, Puri Arenas, Miguel Gómez-Zamalloa
PPDP2
2015 Test Case Generation of Actor Systems
Elvira Albert, Puri Arenas, Miguel Gómez-Zamalloa
ATVA2
2015 Resource Analysis: From Sequential to Concurrent and Distributed Programs
Elvira Albert, Puri Arenas, Jesús Correas Fernández, Samir Genaim, Miguel Gómez-Zamalloa, Enrique Martin-Martin, Germán Puebla, Guillermo Román-Díez
FM2
2015 A practical comparator of cost functions and its applications
Elvira Albert, Puri Arenas, Samir Genaim, Germán Puebla
Sci. Comput. Program.2
2015 Object-sensitive cost analysis for concurrent objects
abstract
Summary This article presents a novel cost analysis framework for concurrent objects. Concurrent objects form a well‐established model for distributed concurrent systems. In this model, objects are the concurrency units that communicate among them via asynchronous method calls. Cost analysis aims at automatically approximating the resource consumption of executing a program in terms of its input parameters. While cost analysis for sequential programming languages has received considerable attention, concurrency and distribution have been notably less studied. The main challenges of cost analysis in a concurrent setting are as follows. First, inferring precise size abstractions for data in the program in the presence of shared memory. This information is essential for bounding the number of iterations of loops. Second, distribution suggests that analysis must infer the cost of the diverse distributed components separately. We handle this by means of a novel form of object‐sensitive recurrence equations that use cost centres in order to keep the resource usage assigned to the different components separate. We have implemented our analysis and evaluated it on several small applications that are classical examples of concurrent and distributed programming. Copyright © 2015 John Wiley & Sons, Ltd.
Elvira Albert, Puri Arenas, Jesús Correas Fernández, Samir Genaim, Miguel Gómez-Zamalloa, Germán Puebla, Guillermo Román-Díez
Softw. Test. Verification Reliab.2
2014 Actor- and Task-Selection Strategies for Pruning Redundant State-Exploration in Testing
Elvira Albert, Puri Arenas, Miguel Gómez-Zamalloa
FORTE2
2014 SACO: Static Analyzer for Concurrent Objects
Elvira Albert, Puri Arenas, Antonio Flores-Montoya, Samir Genaim, Miguel Gómez-Zamalloa, Enrique Martin-Martin, Germán Puebla, Guillermo Román-Díez
TACAS2
2014 Conditional termination of loops over heap-allocated data
Elvira Albert, Puri Arenas, Samir Genaim, Germán Puebla, Guillermo Román-Díez
Sci. Comput. Program.2
2013 Precise Cost Analysis via Local Reasoning
Diego Esteban Alonso-Blas, Puri Arenas, Samir Genaim
ATVA2
2013 aPET: a test case generation tool for concurrent objects
abstract
We present the concepts, usage and prototypical implementation of aPET, a test case generation tool for a distributed asynchronous language based on concurrent objects. The system receives as input a program, a selection of methods to be tested, and a set of parameters that include a selection of a coverage criterion. It yields as output a set of test cases which guarantee that the selected coverage criterion is achieved. aPET is completely integrated within the language's IDE via Eclipse. The generated test cases can be displayed in textual mode and, besides, it is possible to generate ABSUnit code (i.e., code runnable in a simple framework similar to JUnit to write repeatable tests). The information yield by aPET can be relevant to spot bugs during program development and also to perform regression testing.
Elvira Albert, Puri Arenas, Miguel Gómez-Zamalloa, Peter Y. H. Wong
ESEC/SIGSOFT FSE2
2012 Automatic Inference of Resource Consumption Bounds
Elvira Albert, Puri Arenas, Samir Genaim, Miguel Gómez-Zamalloa, Germán Puebla
LPAR2
2012 Symbolic Execution of Concurrent Objects in CLP
Elvira Albert, Puri Arenas, Miguel Gómez-Zamalloa
PADL2
2012 COSTABS: a cost and termination analyzer for ABS
abstract
ABS is an abstract behavioural specification language to model distributed concurrent systems. Characteristic features of ABS are that: (1) it allows abstracting from implementation details while remaining executable: a functional sub-language over abstract data types is used to specify internal, sequential computations; and (2) the imperative sub-language provides flexible concurrency and synchronization mechanisms by means of asynchronous method calls, release points in method definitions, and cooperative scheduling of method activations. This paper presents COSTABS, a COSt and Termination analyzer for ABS, which is able to prove termination and obtain resource usage bounds for both the imperative and functional fragments of programs. The resources that COSTABS can infer include termination, number of execution steps, memory consumption, number of asynchronous calls, among others. The analysis bounds provide formal guarantees that the execution of the program will never exceed the inferred amount of resources. The system can be downloaded as free software from its web site, where a repository of examples and a web interface are also provided. To the best of our knowledge, COSTABS is the first system able to perform resource analysis for a concurrent language.
Elvira Albert, Puri Arenas, Samir Genaim, Miguel Gómez-Zamalloa, Germán Puebla
PEPM2
2012 Cost analysis of object-oriented bytecode programs
Elvira Albert, Puri Arenas, Samir Genaim, Germán Puebla, Damiano Zanardini
Theor. Comput. Sci.2
2012 Certificate size reduction in abstraction-carrying code
abstract
Abstract Abstraction-Carrying Code (ACC) has recently been proposed as a framework for mobile code safety in which the code supplier provides a program together with an abstraction (or abstract model of the program) whose validity entails compliance with a predefined safety policy. The abstraction plays thus the role of safety certificate and its generation is carried out automatically by a fixpoint analyzer. The advantage of providing a (fixpoint) abstraction to the code consumer is that its validity is checked in a single pass (i.e., one iteration) of an abstract interpretation-based checker. A main challenge to make ACC useful in practice is to reduce the size of certificates as much as possible while at the same time not increasing checking time. The intuitive idea is to only include in the certificate information that the checker is unable to reproduce without iterating. We introduce the notion of reduced certificate which characterizes the subset of the abstraction which a checker needs in order to validate (and re-construct) the full certificate in a single pass. Based on this notion, we instrument a generic analysis algorithm with the necessary extensions in order to identify the information relevant to the checker. Interestingly, the fact that the reduced certificate omits (parts of) the abstraction has implications in the design of the checker. We provide the sufficient conditions which allow us to ensure that (1) if the checker succeeds in validating the certificate, then the certificate is valid for the program (correctness) and (2) the checker will succeed for any reduced certificate which is valid (completeness). Our approach has been implemented and benchmarked within the CiaoPP system. The experimental results show that our proposal is able to greatly reduce the size of certificates in practice.
Elvira Albert, Puri Arenas, Germán Puebla, Manuel V. Hermenegildo
Theory Pract. Log. Program.2
2011 Cost Analysis of Concurrent OO Programs
Elvira Albert, Puri Arenas, Samir Genaim, Miguel Gómez-Zamalloa, Germán Puebla
APLAS2
2011 Task-level analysis for a language with async/finish parallelism
abstract
The task level of a program is the maximum number of tasks that can be available (i.e., not finished nor suspended) simultaneously during its execution for any input data. Static knowledge of the task level is of utmost importance for understanding and debugging parallel programs as well as for guiding task schedulers. We present, to the best of our knowledge, the first static analysis which infers safe and precise approximations on the task level for a language with async-finish parallelism. In parallel languages, async and finish are basic constructs for, respectively, spawning tasks and waiting until they terminate. They are the core of modern, parallel, distributed languages like X10. Given a (parallel) program, our analysis returns a task-level upper bound, i.e., a function on the program's input arguments that guarantees that the task level of the program will never exceed its value along any execution. Our analysis provides a series of useful (over)-approximations, going from the total number of tasks spawned in the execution up to an accurate estimation of the task level.
Elvira Albert, Puri Arenas, Samir Genaim, Damiano Zanardini
LCTES2
2011 Closed-Form Upper Bounds in Static Cost Analysis
Elvira Albert, Puri Arenas, Samir Genaim, Germán Puebla
J. Autom. Reason.2
2010 From Object Fields to Local Variables: A Practical Approach to Field-Sensitive Analysis
Elvira Albert, Puri Arenas, Samir Genaim, Germán Puebla, Diana V. Ramírez-Deantes
SAS2
2009 Asymptotic Resource Usage Bounds
Elvira Albert, Diego Esteban Alonso-Blas, Puri Arenas, Samir Genaim, Germán Puebla
APLAS3
2009 Field-Sensitive Value Analysis by Field-Insensitive Analysis
Elvira Albert, Puri Arenas, Samir Genaim, Germán Puebla
FM2
2008 Automatic Inference of Upper Bounds for Recurrence Relations in Cost Analysis
Elvira Albert, Puri Arenas, Samir Genaim, Germán Puebla
SAS2
2007 Cost Analysis of Java Bytecode
Elvira Albert, Puri Arenas, Samir Genaim, Germán Puebla, Damiano Zanardini
ESOP2
2006 Reduced Certificates for Abstraction-Carrying Code
Elvira Albert, Puri Arenas, Germán Puebla, Manuel V. Hermenegildo
ICLP2
2006 An Incremental Approach to Abstraction-Carrying Code
Elvira Albert, Puri Arenas, Germán Puebla
LPAR2
2001 A General Framework for Lazy Functional Logic, Programming with Algebraic Polymorphic Types
Puri Arenas, Mario Rodríguez-Artalejo
Theory Pract. Log. Program.1
1999 Functional Plus Logic Programming with Built-In and Symbolic Constraints
Puri Arenas, Francisco Javier López-Fraguas, Mario Rodrúguez-Arteljo
PPDP1