Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Andrea Ribichini

dblp:34/5818 · DBLP profile ↗
← Back
13ranked-venue papers
0as first author
0since 2021 · last 2019
0000-0002-0281-4257ORCID · corroborated

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

Theory of computation · 9Software engineering, systems software and programming languages · 2Artificial intelligence and machine learning · 1Computer 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
2 papers
Programming languages and type systems · 32% Program analysis · 32% Software maintenance and evolution · 32%
Theoretical computer science
2 papers
Algorithms and data structures · 53% Graph algorithms and graph theory · 47%

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

TopicWeightPapersLastEvidence papers
Software maintenance and evolution › change impact analysis
change propagation
0.322014
Reactive Imperative Programming with Dataflow Constraints · ACM Trans. Program. Lang. Syst. 2014
Reactive imperative programming with dataflow constraints · OOPSLA 2011
Program analysis › static analysis
incremental analysis
0.212014
Reactive Imperative Programming with Dataflow Constraints · ACM Trans. Program. Lang. Syst. 2014
Programming languages and type systems
language design
0.212014
Reactive Imperative Programming with Dataflow Constraints · ACM Trans. Program. Lang. Syst. 2014
Algorithms and data structures › data streams › streaming algorithms
graph streaming
0.222009
Trading off space for passes in graph streaming problems · ACM Trans. Algorithms 2009
Trading off space for passes in graph streaming problems · SODA 2006
Program analysis
constraint solving
0.112011
Reactive imperative programming with dataflow constraints · OOPSLA 2011
Graph algorithms and graph theory › shortest path
single-source shortest paths
0.112009
Trading off space for passes in graph streaming problems · ACM Trans. Algorithms 2009
Graph algorithms and graph theory › graph algorithms › connectivity
undirected connectivity
0.112009
Trading off space for passes in graph streaming problems · ACM Trans. Algorithms 2009
Debugging and program repair › program repair
data structure repair
0.012011
Reactive imperative programming with dataflow constraints · OOPSLA 2011
Algorithms and data structures › data streams
data stream processing
0.012009
Trading off space for passes in graph streaming problems · ACM Trans. Algorithms 2009
Algorithms and data structures › data streams › streaming algorithms › graph streaming
semi-streaming model
0.012009
Trading off space for passes in graph streaming problems · ACM Trans. Algorithms 2009

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

self-adjusting computation · 0.2dataflow constraint solving · 0.2streaming algorithms · 0.1space-passes tradeoffs · 0.1
YearPublicationVenuePosition
2019 Max flow vitality in general and st-planar graphs
abstract
Abstract The vitality of an arc/node of a graph with respect to the maximum flow between two fixed nodes s and t is defined as the reduction of the maximum flow caused by the removal of that arc/node. In this paper, we address the issue of determining the vitality of arcs and/or nodes for the maximum flow problem. We show how to compute the vitality of all arcs in a general undirected graph by solving only 2(n − 1) max flow instances and, in st‐planar graphs (directed or undirected) we show how to compute the vitality of all arcs and all nodes in O(n) worst‐case time. Moreover, after determining the vitality of arcs and/or nodes, and given a planar embedding of the graph, we can determine the vitality of a “contiguous” set of arcs/nodes in time proportional to the size of the set.
Giorgio Ausiello, Paolo Giulio Franciosa, Isabella Lari, Andrea Ribichini
Networks4
2018 Computing the Shapley value in allocation problems: approximations and bounds, with an application to the Italian VQR research assessment program
abstract
In allocation problems with indivisible goods, money compensation is used to distribute worth in a fair way. Coalitional games provide a formal mathematical framework to model such problems, and the Shapley value is a solution concept widely used to realise a fair distribution. To overcome its intractability, we describe how to simplify allocation problems and we propose algorithms for computing lower bounds and upper bounds of the Shapley value that can be combined with approximation algorithms. The proposed techniques have been implemented and tested on a real-world application of allocation problems, namely, the Italian research assessment program known as VQR.
Francesco Lupia, Angelo Mendicelli, Andrea Ribichini, Francesco Scarcello, Marco Schaerf
J. Exp. Theor. Artif. Intell.3
2016 On Resilient Graph Spanners
Giorgio Ausiello, Paolo Giulio Franciosa, Giuseppe F. Italiano, Andrea Ribichini
Algorithmica4
2014 Reactive Imperative Programming with Dataflow Constraints
abstract
Dataflow languages provide natural support for specifying constraints between objects in dynamic applications, where programs need to react efficiently to changes in their environment. In this article, we show that one-way dataflow constraints, largely explored in the context of interactive applications, can be seamlessly integrated in any imperative language and can be used as a general paradigm for writing performance-critical reactive applications that require efficient incremental computations. In our framework, programmers can define ordinary statements of the imperative host language that enforce constraints between objects stored in special memory locations designated as “reactive.” Reactive objects can be of any legal type in the host language, including primitive data types, pointers, arrays, and structures. Statements defining constraints are automatically re-executed every time their input memory locations change, letting a program behave like a spreadsheet where the values of some variables depend on the values of other variables. The constraint-solving mechanism is handled transparently by altering the semantics of elementary operations of the host language for reading and modifying objects. We provide a formal semantics and describe a concrete embodiment of our technique into C/C++, showing how to implement it efficiently in conventional platforms using off-the-shelf compilers. We discuss common coding idioms and relevant applications to reactive scenarios, including incremental computation, observer design pattern, data structure repair, and software visualization. The performance of our implementation is compared to problem-specific change propagation algorithms, as well as to language-centric approaches such as self-adjusting computation and subject/observer communication mechanisms, showing that the proposed approach is efficient in practice.
Camil Demetrescu, Irene Finocchi, Andrea Ribichini
ACM Trans. Program. Lang. Syst.3
2013 On Resilient Graph Spanners
Giorgio Ausiello, Paolo Giulio Franciosa, Giuseppe F. Italiano, Andrea Ribichini
ESA4
2011 Reactive imperative programming with dataflow constraints
abstract
Dataflow languages provide natural support for specifying constraints between objects in dynamic applications, where programs need to react efficiently to changes of their environment. Researchers have long investigated how to take advantage of dataflow constraints by embedding them into procedural languages. Previous mixed imperative/dataflow systems, however, require syntactic extensions or libraries of ad hoc data types for binding the imperative program to the dataflow solver. In this paper we propose a novel approach that smoothly combines the two paradigms without placing undue burden on the programmer. In our framework, programmers can define ordinary statements of the imperative host language that enforce constraints between objects stored in special memory locations designated as "reactive". Differently from previous approaches, reactive objects can be of any legal type in the host language, including primitive data types, pointers, arrays, and structures. Statements defining constraints are automatically re-executed every time their input memory locations change, letting a program behave like a spreadsheet where the values of some variables depend upon the values of other variables. The constraint solving mechanism is handled transparently by altering the semantics of elementary operations of the host language for reading and modifying objects. We provide a formal semantics and describe a concrete embodiment of our technique into C/C++, showing how to implement it efficiently in conventional platforms using off-the-shelf compilers. We discuss common coding idioms and relevant applications to reactive scenarios, including incremental computation, observer design pattern, and data structure repair. The performance of our implementation is compared to ad hoc problem-specific change propagation algorithms, as well as to language-centric approaches such as self-adjusting computation and subject/observer communication mechanisms, showing that the proposed approach is efficient in practice.
Camil Demetrescu, Irene Finocchi, Andrea Ribichini
OOPSLA3
2010 Computing Graph Spanners in Small Memory: Fault-Tolerance and Streaming
Giorgio Ausiello, Paolo Giulio Franciosa, Giuseppe F. Italiano, Andrea Ribichini
COCOON4
2010 Adapting parallel algorithms to the W-Stream model, with applications to graph problems
Camil Demetrescu, Bruno Escoffier, Gabriel Moruz, Andrea Ribichini
Theor. Comput. Sci.4
2009 Graph Spanners in the Streaming Model: An Experimental Study
Giorgio Ausiello, Camil Demetrescu, Paolo Giulio Franciosa, Giuseppe F. Italiano, Andrea Ribichini
Algorithmica5
2009 Trading off space for passes in graph streaming problems
abstract
Data stream processing has recently received increasing attention as a computational paradigm for dealing with massive data sets. Surprisingly, no algorithm with both sublinear space and passes is known for natural graph problems in classical read-only streaming. Motivated by technological factors of modern storage systems, some authors have recently started to investigate the computational power of less restrictive models where writing streams is allowed. In this article, we show that the use of intermediate temporary streams is powerful enough to provide effective space-passes tradeoffs for natural graph problems. In particular, for any space restriction of s bits, we show that single-source shortest paths in directed graphs with small positive integer edge weights can be solved in O (( n log 3/2 n )/√ s ) passes. The result can be generalized to deal with multiple sources within the same bounds. This is the first known streaming algorithm for shortest paths in directed graphs. For undirected connectivity, we devise an O (( n log n )/ s ) passes algorithm. Both problems require Ω( n / s ) passes under the restrictions we consider. We also show that the model where intermediate temporary streams are allowed can be strictly more powerful than classical streaming for some problems, while maintaining all of its hardness for others.
Camil Demetrescu, Irene Finocchi, Andrea Ribichini
ACM Trans. Algorithms3
2007 Small Stretch Spanners in the Streaming Model: New Algorithms and Experiments
Giorgio Ausiello, Camil Demetrescu, Paolo Giulio Franciosa, Giuseppe F. Italiano, Andrea Ribichini
ESA5
2007 Adapting Parallel Algorithms to the W-Stream Model, with Applications to Graph Problems
Camil Demetrescu, Bruno Escoffier, Gabriel Moruz, Andrea Ribichini
MFCS4
2006 Trading off space for passes in graph streaming problems
Camil Demetrescu, Irene Finocchi, Andrea Ribichini
SODA3