Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Antonio Flores-Montoya is active.

Publication


Featured researches published by Antonio Flores-Montoya.


asian symposium on programming languages and systems | 2014

Resource Analysis of Complex Programs with Cost Equations

Antonio Flores-Montoya; Reiner Hähnle

We present a novel static analysis for inferring precise complexity bounds of imperative and recursive programs. The analysis operates on cost equations. Therefore, it permits uniform treatment of loops and recursive procedures. The analysis is able to provide precise upper bounds for programs with complex execution flow and multi-dimensional ranking functions. In a first phase, a combination of control-flow refinement and invariant generation creates a representation of the possible behaviors of a (possibly inter-procedural) program in the form of a set of execution patterns. In a second phase, a cost upper bound of each pattern is obtained by combining individual costs of code fragments. Our technique is able to detect dependencies between different pieces of code and hence to compute a precise upper bounds for a given program. A prototype has been implemented and evaluated to demonstrate the effectiveness of the approach.


formal methods for open object based distributed systems | 2013

May-Happen-in-Parallel Based Deadlock Analysis for Concurrent Objects

Antonio Flores-Montoya; Samir Genaim

We present a novel deadlock analysis for concurrent objects based on the results inferred by a points-to analysis and a may-happen-in-parallel (MHP) analysis. Similarly to other analysis, we build a dependency graph such that the absence of cycles in the graph ensures deadlock freeness. An MHP analysis provides an over-approximation of the pairs of program points that may be running in parallel. The crux of the method is that the analysis integrates the MHP information within the dependency graph in order to discard unfeasible cycles that otherwise would lead to false positives. We argue that our analysis is more precise and/or efficient than previous proposals for deadlock analysis of concurrent objects. As regards accuracy, we are able to handle cases that other analyses have pointed out as challenges. As regards efficiency, the complexity of our deadlock analysis is polynomial.


tools and algorithms for construction and analysis of systems | 2014

SACO: Static analyzer for concurrent objects

Puri Arenas; Antonio Flores-Montoya; Samir Genaim; Miguel Gómez-Zamalloa; Enrique Martin-Martin; Germán Puebla; Guillermo Román-Díez

We present the main concepts, usage and implementation of SACO, a static analyzer for concurrent objects. Interestingly, SACO is able to infer both liveness (namely termination and resource boundedness) and safety properties (namely deadlock freedom) of programs based on concurrent objects. The system integrates auxiliary analyses such as points-to and may-happen-in-parallel, which are essential for increasing the accuracy of the aforementioned more complex properties. SACO provides accurate information about the dependencies which may introduce deadlocks, loops whose termination is not guaranteed, and upper bounds on the resource consumption of methods.


formal methods for open object based distributed systems | 2012

Analysis of may-happen-in-parallel in concurrent objects

Antonio Flores-Montoya; Samir Genaim

This paper presents a may-happen-in-parallel (MHP) analysis for OO languages based on concurrent objects. In this concurrency model, objects are the concurrency units such that, when a method is invoked on an object o2 from a task executing on object o1, statements of the current task in o1 may run in parallel with those of the (asynchronous) call on o2, and with those of transitively invoked methods. The goal of the MHP analysis is to identify pairs of statements in the program that may run in parallel in any execution. Our MHP analysis is formalized as a method-level (local) analysis whose information can be modularly composed to obtain application-level (global) information.


automated technology for verification and analysis | 2013

Termination and Cost Analysis of Loops with Concurrent Interleavings

Antonio Flores-Montoya; Samir Genaim; Enrique Martin-Martin

By following a rely-guarantee style of reasoning, we present a novel termination analysis for concurrent programs that, in order to prove termination of a considered loop, makes the assumption that the “shared-data that is involved in the termination proof of the loop is modified a finite number of times”. In a subsequent step, it proves that this assumption holds in all code whose execution might interleave with such loop. At the core of the analysis, we use a may-happen-in-parallel analysis to restrict the set of program points whose execution can interleave with the considered loop. Interestingly, the same kind of reasoning can be applied to infer upper bounds on the number of iterations of loops with concurrent interleavings. To the best of our knowledge, this is the first method to automatically bound the cost of such kind of loops.


working conference on reverse engineering | 2011

jPET: An Automatic Test-Case Generator for Java

Israel Cabanas; Antonio Flores-Montoya; Miguel Gómez-Zamalloa; Sergio Gutierrez

We present jPET, a white box test-case generator (TCG) which can be used during software development of Java applications within the Eclipse environment. jPET builds on top of PET, a TCG which automatically obtains test-cases from the byte code associated to a Java program. jPET performs reverse engineering of the test-cases obtained at the byte code level by PET in order to yield this information to the user at the source code level. This allows understanding the information gathered at the lower level and using it to test source Java programs.


ACM Transactions on Computational Logic | 2016

May-Happen-in-Parallel Analysis for Actor-Based Concurrency

Antonio Flores-Montoya; Samir Genaim; Enrique Martin-Martin

This article presents a may-happen-in-parallel (MHP) analysis for languages with actor-based concurrency. In this concurrency model, actors are the concurrency units such that, when a method is invoked on an actor a2 from a task executing on actor a1, statements of the current task in a1 may run in parallel with those of the (asynchronous) call on a2, and with those of transitively invoked methods. The goal of the MHP analysis is to identify pairs of statements in the program that may run in parallel in any execution. Our MHP analysis is formalized as a method-level (local) analysis whose information can be modularly composed to obtain application-level (global) information. The information yielded by the MHP analysis is essential to infer more complex properties of actor-based concurrent programs, for example, data race detection, deadlock freeness, termination, and resource consumption analyses can greatly benefit from the MHP relations to increase their accuracy. We report on MayPar, a prototypical implementation of an MHP static analyzer for a distributed asynchronous language.


formal methods | 2016

Upper and Lower Amortized Cost Bounds of Programs Expressed as Cost Relations

Antonio Flores-Montoya

Resource analysis aims at statically obtaining bounds on the resource consumption of programs in terms of input parameters. A well known approach to resource analysis is based on transforming the target program into a set of cost relations, then solving these into a closed-form bound. In this paper we develop a new analysis for computing upper and lower cost bounds of programs expressed as cost relations. The analysis is compositional: it computes the cost of each loop or function separately and composes the obtained expressions to obtain the total cost. Despite being modular, the analysis can obtain precise upper and lower bounds of programs with amortized cost. The key is to obtain bounds that depend on the values of the variables at the beginning and at the end of each program part. In addition we use a novel cost representation called cost structure. It allows to reduce the inference of complex polynomial expressions to a set of linear problems that can be solved efficiently. We implemented our method and performed an extensive experimental evaluation that demonstrates its power.


formal methods | 2012

Automatic Inference of Bounds on Resource Consumption

Diego Esteban Alonso-Blas; Puri Arenas; Jesús Correas; Antonio Flores-Montoya; Samir Genaim; Miguel Gómez-Zamalloa; Abu Naser Masud; Germán Puebla; José Miguel Rojas; Guillermo Román-Díez; Damiano Zanardini

In this tutorial paper, we overview the techniques that underlie the automatic inference of resource consumption bounds. We first explain the basic techniques on a Java-like sequential language. Then, we describe the extensions that are required to apply our method on concurrent ABS programs. Finally, we discuss some advanced issues in resource analysis, including the inference of non-cumulative resources and the treatment of shared mutable data.


foundations of software engineering | 2012

MayPar: a may-happen-in-parallel analyzer for concurrent objects

Antonio Flores-Montoya; Samir Genaim

We present the concepts, usage and prototypical implementation of MayPar, a may-happen-in-parallel (MHP) static analyzer for a distributed asynchronous language based on concurrent objects. Our tool allows analyzing an application and finding out the pairs of statements that can execute in parallel. The information can be displayed by means of a graphical representation of the MHP analysis graph or, in a textual way, as a set of pairs which identify the program points that may run in parallel. The information yield by MayPar can be relevant (1) to spot bugs in the program related to fragments of code which should not run in parallel and also (2) to improve the precision of other analyses which infer more complex properties (e.g., termination and cost).

Collaboration


Dive into the Antonio Flores-Montoya's collaboration.

Top Co-Authors

Avatar

Samir Genaim

Complutense University of Madrid

View shared research outputs
Top Co-Authors

Avatar

Enrique Martin-Martin

Complutense University of Madrid

View shared research outputs
Top Co-Authors

Avatar

Miguel Gómez-Zamalloa

Complutense University of Madrid

View shared research outputs
Top Co-Authors

Avatar

Reiner Hähnle

Technische Universität Darmstadt

View shared research outputs
Top Co-Authors

Avatar

Germán Puebla

Technical University of Madrid

View shared research outputs
Top Co-Authors

Avatar

Guillermo Román-Díez

Technical University of Madrid

View shared research outputs
Top Co-Authors

Avatar

Puri Arenas

Complutense University of Madrid

View shared research outputs
Top Co-Authors

Avatar

Abu Naser Masud

Technical University of Madrid

View shared research outputs
Top Co-Authors

Avatar

Damiano Zanardini

Technical University of Madrid

View shared research outputs
Top Co-Authors

Avatar

Diego Esteban Alonso-Blas

Complutense University of Madrid

View shared research outputs
Researchain Logo
Decentralizing Knowledge