Sebastiano Vigna

dblp:27/6106 · DBLP profile ↗
← Back
70ranked-venue papers
8as first author
6since 2021 · last 2026
0000-0002-3257-651XORCID · verified

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

Theory of computation · 33 · 3 first-author · 3 since 2021Databases, data management, data science and information retrieval · 28 · 5 first-author · 1 since 2021Software engineering, systems software and programming languages · 7 · 1 first-author · 2 since 2021Artificial intelligence and machine learning · 6 · 1 first-author · 1 since 2021Applied, interdisciplinary, general and emerging computing · 6 · 1 first-author · 1 since 2021Systems, architecture and hardware · 4Graphics, computer vision, multimedia, augmented reality and games · 3Human-computer interaction and ubiquitous computing · 1
YearPublicationVenuePosition
2026 Fast, Parallel, and Scalable Differential Graph Compression
Davide Cologni, Sebastiano Vigna
WAW2
2024 Engineering Zuffix Arrays
Paolo Boldi, Stefano Marchini, Sebastiano Vigna
SEA3
2023 On Overcoming HPC Challenges of Trillion-Scale Real-World Graph Datasets
abstract
Progress in High-Performance Computing in general, and High-Performance Graph Processing in particular, is highly dependent on the availability of publicly-accessible, relevant, and realistic data sets. To ensure continuation of this progress, we (i) investigate and optimize the process of generating large sequence similarity graphs as an HPC challenge and (ii) demonstrate this process in creating MS-BioGraphs, a new family of publicly available real-world edge-weighted graph datasets with up to 2.5 trillion edges, that is, 6.6 times greater than the largest graph published recently. The largest graph is created by matching (i.e., all-toall similarity aligning) 1.7 billion protein sequences. The MSBioGraphs family includes also seven subgraphs with different sizes and direction types. We describe two main challenges we faced in generating large graph datasets and our solutions, that are, (i) optimizing data structures and algorithms for this multi-step process and (ii) WebGraph parallel compression technique. The datasets are available online on https://blogs.qub.ac.uk/ DIPSA/MS-BioGraphs.
Mohsen Koohi Esfahani, Paolo Boldi, Hans Vandierendonck, Peter Kilpatrick, Sebastiano Vigna
IEEE Big Data5
2022 Computationally easy, spectrally good multipliers for congruential pseudorandom number generators
abstract
Abstract Congruential pseudorandom number generators rely on good multipliers, that is, integers that have good performance with respect to the spectral test. We provide lists of multipliers with a good lattice structure up to dimension eight and up to lag eight for generators with typical power‐of‐two moduli, analyzing in detail multipliers close to the square root of the modulus, whose product can be computed quickly.
Guy L. Steele Jr., Sebastiano Vigna
Softw. Pract. Exp.2
2021 LXM: better splittable pseudorandom number generators (and almost as fast)
abstract
In 2014, Steele, Lea, and Flood presented SplitMix, an object-oriented pseudorandom number generator (prng) that is quite fast (9 64-bit arithmetic/logical operations per 64 bits generated) and also splittable . A conventional prng object provides a generate method that returns one pseudorandom value and updates the state of the prng; a splittable prng object also has a second operation, split , that replaces the original prng object with two (seemingly) independent prng objects, by creating and returning a new such object and updating the state of the original object. Splittable prng objects make it easy to organize the use of pseudorandom numbers in multithreaded programs structured using fork-join parallelism. This overall strategy still appears to be sound, but the specific arithmetic calculation used for generate in the SplitMix algorithm has some detectable weaknesses, and the period of any one generator is limited to 2 64 . Here we present the LXM family of prng algorithms. The idea is an old one: combine the outputs of two independent prng algorithms, then (optionally) feed the result to a mixing function. An LXM algorithm uses a linear congruential subgenerator and an F 2 -linear subgenerator; the examples studied in this paper use a linear congruential generator (LCG) of period 2 16 , 2 32 , 2 64 , or 2 128 with one of the multipliers recommended by L’Ecuyer or by Steele and Vigna, and an F 2 -linear xor-based generator (XBG) of the xoshiro family or xoroshiro family as described by Blackman and Vigna. For mixing functions we study the MurmurHash3 finalizer function; variants by David Stafford, Doug Lea, and degski; and the null (identity) mixing function. Like SplitMix, LXM provides both a generate operation and a split operation. Also like SplitMix, LXM requires no locking or other synchronization (other than the usual memory fence after instance initialization), and is suitable for use with simd instruction sets because it has no branches or loops. We analyze the period and equidistribution properties of LXM generators, and present the results of thorough testing of specific members of this family, using the TestU01 and PractRand test suites, not only on single instances of the algorithm but also for collections of instances, used in parallel, ranging in size from 2 to 2 24 . Single instances of LXM that include a strong mixing function appear to have no major weaknesses, and LXM is significantly more robust than SplitMix against accidental correlation in a multithreaded setting. We believe that LXM, like SplitMix, is suitable for “everyday” scientific and machine-learning applications (but not cryptographic applications), especially when concurrent threads or distributed processes are involved.
Guy L. Steele Jr., Sebastiano Vigna
Proc. ACM Program. Lang.2
2021 Scrambled Linear Pseudorandom Number Generators
abstract
F 2 -linear pseudorandom number generators are very popular due to their high speed, to the ease with which generators with a sizable state space can be created, and to their provable theoretical properties. However, they suffer from linear artifacts that show as failures in linearity-related statistical tests such as the binary-rank and the linear-complexity test. In this article, we give two new contributions. First, we introduce two new F 2 -linear transformations that have been handcrafted to have good statistical properties and at the same time to be programmable very efficiently on superscalar processors, or even directly in hardware. Then, we describe some scramblers , that is, nonlinear functions applied to the state array that reduce or delete the linear artifacts, and propose combinations of linear transformations and scramblers that give extremely fast pseudorandom number generators of high quality. A novelty in our approach is that we use ideas from the theory of filtered linear-feedback shift registers to prove some properties of our scramblers, rather than relying purely on heuristics. In the end, we provide simple, extremely fast generators that use a few hundred bits of memory, have provable properties, and pass strong statistical tests.
David Blackman, Sebastiano Vigna
ACM Trans. Math. Softw.2
2020 RecSplit: Minimal Perfect Hashing via Recursive Splitting
abstract
A minimal perfect hash function bijectively maps a key set S out of a universe U into the first |S| natural numbers. Minimal perfect hash functions are used, for example, to map irregularly-shaped keys, such as strings, in a compact space so that metadata can then be simply stored in an array. While it is known that just 1.44 bits per key are necessary to store a minimal perfect hash function, no published technique can go below 2 bits per key in practice. We propose a new technique for storing minimal perfect hash functions with expected linear construction time and expected constant lookup time that makes it possible to build for the first time, for example, structures which need 1.56 bits per key, that is, within 8.3% of the lower bound, in less than 2 ms per key. We show that instances of our construction are able to simultaneously beat the construction time, space usage and lookup time of the state-of-the-art data structure reaching 2 bits per key. Moreover, we provide parameter choices giving structures which are competitive with alternative, larger-size data structures in terms of space and lookup time. The construction of our data structures can be easily parallelized or mapped on distributed computational units (e.g., within the MapReduce framework), and structures larger than the available RAM can be directly built in mass storage.
Emmanuel Esposito, Thomas Mueller Graf, Sebastiano Vigna
ALENEX3
2020 Ultra-Large-Scale Repository Analysis via Graph Compression
abstract
We consider the problem of mining the development history—as captured by modern version control systems—of ultra-large-scale software archives (e.g., tens of millions software repositories corresponding). We show that graph compression techniques can be applied to the problem, dramatically reducing the hardware resources needed to mine similarly-sized corpus. As a concrete use case we compress the full Software Heritage archive, consisting of 5 billion unique source code files and 1 billion unique commits, harvested from more than 80 million software projects—encompassing a full mirror of GitHub. The resulting compressed graph fits in less than 100 GB of RAM, corresponding to a hardware cost of less than 300 U.S. dollars. We show that the compressed in-memory representation of the full corpus can be accessed with excellent performances, with edge lookup times close to memory random access. As a sample exploitation experiment we show that the compressed graph can be used to conduct clone detection at this scale, benefiting from main memory access speed.
Paolo Boldi, Antoine Pietri, Sebastiano Vigna, Stefano Zacchiroli
SANER3
2020 Fast scalable construction of ([compressed] static | minimal perfect hash) functions
Marco Genuzio, Giuseppe Ottaviano, Sebastiano Vigna
Inf. Comput.3
2020 On the probability of overlap of random subsequences of pseudorandom number generators
Sebastiano Vigna
Inf. Process. Lett.1
2020 Compact Fenwick trees for dynamic ranking and selection
abstract
Summary The Fenwick tree is a classical implicit data structure that stores an array in such a way that modifying an element, accessing an element, computing a prefix sum and performing a predecessor search on prefix sums all take logarithmic time. We introduce a number of variants which improve the classical implementation of the tree: in particular, we can reduce its size when an upper bound on the array element is known, and we can perform much faster predecessor searches. Our aim is to use our variants to implement an efficient dynamic bit vector : our structure is able to perform updates, ranking and selection in logarithmic time, with a space overhead in the order of a few percents, outperforming existing data structures with the same purpose. Along the way, we highlight the pernicious interplay between the arithmetic behind the Fenwick tree and the structure of current CPU caches, suggesting simple solutions that improve performance significantly.
Stefano Marchini, Sebastiano Vigna
Softw. Pract. Exp.2
2018 Engineering Compressed Static Functions
abstract
Recent advances in the compact representation of static functions (with constant access time) have made it possible to fully exploit constructions based on random linear system. Such constructions, albeit theoretically appealing, were previously too slow to be usable. In this paper, we extend such techniques to the problem of storing compressed static functions, in the sense that the space used per key should be close to the entropy of the list of values. From a theoretical viewpoint, we are inspired by the approach of Hreinsson, Krøyer and Pagh. Values are represented using a near-optimal instantaneous code. Then, a bit array is created so that by XOR'ing its content at a fixed number of positions depending on the key one obtains the value, represented by its associated codeword. In the construction phase, every bit of the array is associated with an equation on Z/2Z, and solving the associated system provides the desired representation. Thus, we pass from one equation per key (the non-compressed case) to one equation per bit: the size of the system is thus approximately multiplied by the empirical entropy of the values, making the problem much more challenging. We show that by carefully engineering the value representation we can obtain a practical data structure. For example, we can store a function with geometrically distributed output in just 2.28 bits per key, independently of the key set, with a construction time double with respect to that of a state-of-the-art non-compressed function, which requires ≈ log log n bits per key, where n is the number of keys, and slightly improved lookup time. We can also store a function with an output of 106 values distributed following a power law of exponent 2 in just 2.75 bits per key, whereas a non-compressed function would require more than 20, with a threefold increase in construction time and significantly faster lookups.
Marco Genuzio, Sebastiano Vigna
DCC2
2018 BUbiNG: Massive Crawling for the Masses
abstract
Although web crawlers have been around for twenty years by now, there is virtually no freely available, open-source crawling software that guarantees high throughput, overcomes the limits of single-machine systems, and, at the same time, scales linearly with the amount of resources available. This article aims at filling this gap, through the description of BUbiNG, our next-generation web crawler built upon the authors’ experience with UbiCrawler [9] and on the last ten years of research on the topic. BUbiNG is an open-source Java fully distributed crawler; a single BUbiNG agent, using sizeable hardware, can crawl several thousand pages per second respecting strict politeness constraints, both host- and IP-based. Unlike existing open-source distributed crawlers that rely on batch techniques (like MapReduce), BUbiNG job distribution is based on modern high-speed protocols to achieve very high throughput.
Paolo Boldi, Andrea Marino 0001, Massimo Santini 0001, Sebastiano Vigna
ACM Trans. Web4
2016 Toward Reproducible Baselines: The Open-Source IR Reproducibility Challenge
Jimmy Lin, Matt Crane, Andrew Trotman, Jamie Callan, Ishan Chattopadhyaya, John Foley, Grant Ingersoll, Craig Macdonald, Sebastiano Vigna
ECIR9
2016 Fast Scalable Construction of (Minimal Perfect Hash) Functions
Marco Genuzio, Giuseppe Ottaviano, Sebastiano Vigna
SEA3
2016 Efficient optimally lazy algorithms for minimal-interval semantics
Paolo Boldi, Sebastiano Vigna
Theor. Comput. Sci.2
2016 An Experimental Exploration of Marsaglia's xorshift Generators, Scrambled
abstract
Marsaglia proposed xorshift generators are a class of very fast, good-quality pseudorandom number generators. Subsequent analysis by Panneton and L'Ecuyer has lowered the expectations raised by Marsaglia's article, showing several weaknesses of such generators. Nonetheless, many of the weaknesses of xorshift generators fade away if their result is scrambled by a nonlinear operation (as originally suggested by Marsaglia). In this article we explore the space of possible generators obtained by multiplying the result of a xorshift generator by a suitable constant. We sample generators at 100 points of their state space and obtain detailed statistics that lead us to choices of parameters that improve on the current ones. We then explore for the first time the space of high-dimensional xorshift generators, following another suggestion in Marsaglia's article, finding choices of parameters providing periods of length 2 1024 − 1 and 2 4096 − 1. The resulting generators are of extremely high quality, faster than current similar alternatives, and generate long-period sequences passing strong statistical tests using only eight logical operations, one addition, and one multiplication by a constant.
Sebastiano Vigna
ACM Trans. Math. Softw.1
2015 A Weighted Correlation Index for Rankings with Ties
abstract
Understanding the correlation between two different scores for the same set of items is a common problem in graph analysis and information retrieval. The most commonly used statistics that quantifies this correlation is Kendall's tau; however, the standard definition fails to capture that discordances between items with high rank are more important than those between items with low rank. Recently, a new measure of correlation based on average precision has been proposed to solve this problem, but like many alternative proposals in the literature it assumes that there are no ties in the scores. This is a major deficiency in a number of contexts, and in particular when comparing centrality scores on large graphs, as the obvious baseline, indegree, has a very large number of ties in social networks and web graphs. We propose to extend Kendall's definition in a natural way to take into account weights in the presence of ties. We prove a number of interesting mathematical properties of our generalization and describe an O(n\log n) algorithm for its computation. We also validate the usefulness of our weighted measure of correlation using experimental data on social networks and web graphs.
Sebastiano Vigna
WWW1
2014 Cache-Oblivious Peeling of Random Hypergraphs
abstract
The computation of a peeling order in a randomly generated hypergraph is the most time-consuming step in a number of constructions, such as perfect hashing schemes, random r-SAT solvers, error-correcting codes, and approximate set encodings. While there exists a straightforward linear-time algorithm, its poor I/O performance makes it impractical for hypergraphs whose size exceeds the available internal memory. We show how to reduce the computation of a peeling order to a small number of sequential scans and sorts, and analyze its I/O complexity in the cache-oblivious model. The resulting algorithm requires O.sort.n// I/Os and O.n log n/ time to peel a random hypergraph with n edges. We experimentally evaluate the performance of our implementation of this algorithm in a real-world scenario by using the construction of minimal perfect hash functions (MPHF) as our test case: our algorithm builds a MPHF of 7:6 billion keys in less than 21 hours on a single machine. The resulting data structure is both more space-efficient and faster than that obtained with the current state-of-the-art MPHF construction for large-scale key sets.
Djamal Belazzougui, Paolo Boldi, Giuseppe Ottaviano, Rossano Venturini, Sebastiano Vigna
DCC5
2013 Quasi-succinct indices
abstract
Compressed inverted indices in use today are based on the idea of gap compression: documents pointers are stored in increasing order, and the gaps between successive document pointers are stored using suitable codes which represent smaller gaps using less bits. Additional data such as counts and positions is stored using similar techniques. A large body of research has been built in the last 30 years around gap compression, including theoretical modeling of the gap distribution, specialized instantaneous codes suitable for gap encoding, and ad hoc document reorderings which increase the efficiency of instantaneous codes. This paper proposes to represent an index using a different architecture based on quasi-succinct representation of monotone sequences. We show that, besides being theoretically elegant and simple, the new index provides expected constant-time operations, space savings, and, in practice, significant performance improvements on conjunctive, phrasal and proximity queries.
Sebastiano Vigna
WSDM1
2012 Four Degrees of Separation, Really
abstract
We recently measured the average distance of users in the Facebook graph, spurring comments in the scientific community as well as in the general press ("Four Degrees of Separation"). A number of interesting criticisms have been made about the meaningfulness, methods and consequences of the experiment we performed. In this paper we want to discuss some methodological aspects that we deem important to underline in the form of answers to the questions we have read in newspapers, magazines, blogs, or heard from colleagues. We indulge in some reflections on the actual meaning of "average distance" and make a number of side observations showing that, yes, 3.74 "degrees of separation" are really few.
Paolo Boldi, Sebastiano Vigna
ASONAM2
2011 Effective and Efficient Entity Search in RDF Data
Roi Blanco, Peter Mika, Sebastiano Vigna
ISWC (1)3
2011 Layered label propagation: a multiresolution coordinate-free ordering for compressing social networks
abstract
We continue the line of research on graph compression started with WebGraph, but we move our focus to the compression of social networks in a proper sense (e.g., LiveJournal): the approaches that have been used for a long time to compress web graphs rely on a specific ordering of the nodes (lexicographical URL ordering) whose extension to general social networks is not trivial. In this paper, we propose a solution that mixes clusterings and orders, and devise a new algorithm, called Layered Label Propagation, that builds on previous work on scalable clustering and can be used to reorder very large graphs (billions of nodes). Our implementation uses task decomposition to perform aggressively on multi-core architecture, making it possible to reorder graphs of more than 600 millions nodes in a few hours.
Paolo Boldi, Marco Rosa, Massimo Santini 0001, Sebastiano Vigna
WWW4
2011 HyperANF: approximating the neighbourhood function of very large graphs on a budget
abstract
The neighbourhood function NG(t) of a graph G gives, for each t ∈ N, the number of pairs of nodes x, y such that y is reachable from x in less that t hops. The neighbourhood function provides a wealth of information about the graph [10] (e.g., it easily allows one to compute its diameter), but it is very expensive to compute it exactly. Recently, the ANF algorithm [10] (approximate neighbourhood function) has been proposed with the purpose of approximating NG(t) on large graphs. We describe a breakthrough improvement over ANF in terms of speed and scalability. Our algorithm, called HyperANF, uses the new HyperLogLog counters [5] and combines them efficiently through broadword programming [8]; our implementation uses talk decomposition to exploit multi-core parallelism. With HyperANF, for the first time we can compute in a few hours the neighbourhood function of graphs with billions of nodes with a small error and good confidence using a standard workstation.
Paolo Boldi, Marco Rosa, Sebastiano Vigna
WWW3
2011 E=I+T: The internal extent formula for compacted tries
Paolo Boldi, Sebastiano Vigna
Inf. Process. Lett.2
2011 Query reformulation mining: models, patterns, and applications
Paolo Boldi, Francesco Bonchi, Carlos Castillo 0001, Sebastiano Vigna
Inf. Retr.4
2010 Fast Prefix Search in Little Space, with Applications
Djamal Belazzougui, Paolo Boldi, Rasmus Pagh, Sebastiano Vigna
ESA (1)4
2010 Dynamic Z-Fast Tries
Djamal Belazzougui, Paolo Boldi, Sebastiano Vigna
SPIRE3
2009 Theory and Practise of Monotone Minimal Perfect Hashing
abstract
Minimal perfect hash functions have been shown to be useful to compress data in several data management tasks. In particular, order-preserving minimal perfect hash functions [12] have been used to retrieve the position of a key in a given list of keys: however, the ability to preserve any given order leads to an unavoidable Ω(n log n) lower bound on the number of bits required to store the function. Recently, it was observed [1] that very frequently the keys to be hashed are sorted in their intrinsic (i.e., lexicographical) order. This is typically the case of dictionaries of search engines, list of URLs of web graphs, etc. We refer to this restricted version of the problem as monotone minimal perfect hashing. We analyse experimentally the data structures proposed in [1], and along our way we propose some new methods that, albeit asymptotically equivalent or worse, perform very well in practise, and provide a balance between access speed, ease of construction, and space usage.
Djamal Belazzougui, Paolo Boldi, Rasmus Pagh, Sebastiano Vigna
ALENEX4
2009 Voting in social networks
abstract
A voting system is a set of rules that a community adopts to take collective decisions. In this paper we study voting systems for a particular kind of community: electronically mediated social networks. In particular, we focus on delegative democracy (a.k.a. proxy voting) that has recently received increased interest for its ability to combine the benefits of direct and representative systems, and that seems also perfectly suited for electronically mediated social networks. In such a context, we consider a voting system in which users can only express their preference for one among the people they are explicitly connected with, and this preference can be propagated transitively, using an attenuation factor. We present this system and we study its properties. We also take into consideration the problem of missing votes, which is particularly relevant in online networks, as some recent case shows. Our experiments on real-world networks provide interesting insight into the significance and stability of the results obtained with the suggested voting system.
Paolo Boldi, Francesco Bonchi, Carlos Castillo 0001, Sebastiano Vigna
CIKM4
2009 Monotone minimal perfect hashing: searching a sorted table with O(1) accesses
abstract
A minimal perfect hash function maps a set S of n keys into the set {0, 1, …, n − 1} bijectively. Classical results state that minimal perfect hashing is possible in constant time using a structure occupying space close to the lower bound of log e bits per element. Here we consider the problem of monotone minimal perfect hashing, in which the bijection is required to preserve the lexicographical ordering of the keys. A monotone minimal perfect hash function can be seen as a very weak form of index that provides ranking just on the set S (and answers randomly outside of S). Our goal is to minimise the description size of the hash function: we show that, for a set S of n elements out of a universe of 2w elements, O(n log log w) bits are sufficient to hash monotonically with evaluation time O(log w). Alternatively, we can get space O(n log w) bits with O(1) query time. Both of these data structures improve a straightforward construction with O(n log w) space and O(log w) query time. As a consequence, it is possible to search a sorted table with O(1) accesses to the table (using additional O(n log log w) bits). Our results are based on a structure (of independent interest) that represents a trie in a very compact way, but admits errors. As a further application of the same structure, we show how to compute the predecessor (in the sorted order of S) of an arbitrary element, using O(1) accesses in expectation and an index of O(n log w) bits, improving the trivial result of O(nw) bits. This implies an efficient index for searching a blocked memory.
Djamal Belazzougui, Paolo Boldi, Rasmus Pagh, Sebastiano Vigna
SODA4
2009 Permuting Web Graphs
Paolo Boldi, Massimo Santini 0001, Sebastiano Vigna
WAW3
2009 From "Dango" to "Japanese Cakes": Query Reformulation Models and Patterns
abstract
Understanding query reformulation patterns is a key step towards next generation web search engines: it can help improving users' web-search experience by predicting their intent, and thus helping them to locate information more effectively. As a step in this direction, we build an accurate model for classifying user query reformulations into broad classes (generalization, specialization, error correction or parallel move), achieving 92\% accuracy. We apply the model to automatically label two large query logs, creating annotated query-flow graphs. We study the resulting reformulation patterns, finding results consistent with previous studies done on smaller manually annotated datasets, and discovering new interesting patterns, including connections between reformulation types and topical categories. Finally, applying our findings to a third query log that is publicly available for research purposes, we demonstrate that our reformulation classifier leads to improved recommendations in a query recommendation system.
Paolo Boldi, Francesco Bonchi, Carlos Castillo 0001, Sebastiano Vigna
Web Intelligence4
2009 Pictures from Mongolia. Extracting the Top Elements from a Partially Ordered Set
Paolo Boldi, Flavio Chierichetti, Sebastiano Vigna
Theory Comput. Syst.3
2009 PageRank: Functional dependencies
abstract
research-article Share on PageRank: Functional dependencies Authors: Paolo Boldi Università degli Studi di Milano, Milano, MI, Italy Università degli Studi di Milano, Milano, MI, ItalyView Profile , Massimo Santini Università degli Studi di Milano, Milano, MI, Italy Università degli Studi di Milano, Milano, MI, ItalyView Profile , Sebastiano Vigna Università degli Studi di Milano, Milano, MI, Italy Università degli Studi di Milano, Milano, MI, ItalyView Profile Authors Info & Claims ACM Transactions on Information SystemsVolume 27Issue 4Article No.: 19pp 1–23https://doi.org/10.1145/1629096.1629097Published:30 November 2009Publication History 71citation1,468DownloadsMetricsTotal Citations71Total Downloads1,468Last 12 Months42Last 6 weeks2 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Paolo Boldi, Massimo Santini 0001, Sebastiano Vigna
ACM Trans. Inf. Syst.3
2008 The query-flow graph: model and applications
abstract
Query logs record the queries and the actions of the users of engines, and as such they contain valuable information about the interests, the preferences, and the behavior of the users, as well as their implicit feedback to engine results. Mining the wealth of information available in the query logs has many important applications including query-log analysis, user profiling and personalization, advertising, query recommendation, and more.In this paper we introduce the query-flow graph, a graph representation of the interesting knowledge about latent querying behavior. Intuitively, in the query-flow graph a directed edge from query qi to query qj means that the two queries are likely to be part of the same search mission. Any path over the query-flow graph may be seen as a searching behavior, whose likelihood is given by the strength of the edges along the path.The query-flow graph is an outcome of query-log mining and, at the same time, a useful tool for it. We propose a methodology that builds such a graph by mining time and textual information as well as aggregating queries from different users. Using this approach we build a real-world query-flow graph from a large-scale query log and we demonstrate its utility in concrete applications, namely, finding logical sessions, and query recommendation. We believe, however, that the usefulness of the query-flow graph goes beyond these two applications.
Paolo Boldi, Francesco Bonchi, Carlos Castillo 0001, Debora Donato, Aristides Gionis, Sebastiano Vigna
CIKM6
2006 Efficient Lazy Algorithms for Minimal-Interval Semantics
Paolo Boldi, Sebastiano Vigna
SPIRE2
2006 Traps and Pitfalls of Topic-Biased PageRank
Paolo Boldi, Roberto Posenato, Massimo Santini 0001, Sebastiano Vigna
WAW4
2005 Compressed Perfect Embedded Skip Lists for Quick Inverted-Index Lookups
Paolo Boldi, Sebastiano Vigna
SPIRE2
2005 PageRank as a function of the damping factor
abstract
PageRank is defined as the stationary state of a Markov chain. The chain is obtained by perturbing the transition matrix induced by a web graph with a damping factor α that spreads uniformly part of the rank. The choice of α is eminently empirical, and in most cases the original suggestion α = 0.85 by Brin and Page is still used. Recently, however, the behaviour of PageRank with respect to changes in α was discovered to be useful in link-spam detection[21]. Moreover, an analytical justification of the value chosen for α is still missing. In this paper, we give the first mathematical analysis of PageRank when α changes. In particular, we show that, contrarily to popular belief, for real-world graphs values of α close to 1 do not give a more meaningful ranking. Then, we give closed-form formulae for PageRank derivatives of any order, and an extension of the Power Method that approximates them with convergence O (tk αt) for the k-th derivative. Finally, we show a tight connection between iterated computation and analytical behaviour by proving that the k-th iteration of the Power Method gives exactly the PageRank value obtained using a Maclaurin polynomial of degree k. The latter result paves the way towards the application of analytical methods to the study of PageRank.
Paolo Boldi, Massimo Santini 0001, Sebastiano Vigna
WWW3
2005 Mutable strings in Java: design, implementation and lightweight text-search algorithms
Paolo Boldi, Sebastiano Vigna
Sci. Comput. Program.2
2004 The WebGraph Framework II: Codes For The World-Wide Web
abstract
This paper describes the Web graph framework that provides simple methods to manage very large graphs, specially tailored around Web graphs. A fundamental observation about compression of the web graph was made in the construction of the LINK database. Web graph contains a fully-documented implementation of various instantaneous codes, and of parameterisable compression algorithms that achieve the best compression rates and introducing a new technique called intervalisation. Web graph also contains algorithms for accessing a compressed graph.
Paolo Boldi, Sebastiano Vigna
Data Compression Conference2
2004 Reachability Problems in Entity-Relationship Schema Instances
Sebastiano Vigna
ER1
2004 Do Your Worst to Make the Best: Paradoxical Effects in PageRank Incremental Computations
Paolo Boldi, Massimo Santini 0001, Sebastiano Vigna
WAW3
2004 The webgraph framework I: compression techniques
abstract
Studying web graphs is often difficult due to their large size. Recently,several proposals have been published about various techniques that allow tostore a web graph in memory in a limited space, exploiting the inner redundancies of the web. The WebGraph framework is a suite of codes, algorithms and tools that aims at making it easy to manipulate large web graphs. This papers presents the compression techniques used in WebGraph, which are centred around referentiation and intervalisation (which in turn are dual to each other). WebGraph can compress the WebBase graph (118 Mnodes, 1 Glinks)in as little as 3.08 bits per link, and its transposed version in as littleas 2.89 bits per link.
Paolo Boldi, Sebastiano Vigna
WWW2
2004 UbiCrawler: a scalable fully distributed Web crawler
abstract
Abstract We report our experience in implementing UbiCrawler, a scalable distributed Web crawler, using the Java programming language. The main features of UbiCrawler are platform independence, linear scalability, graceful degradation in the presence of faults, a very effective assignment function (based on consistent hashing) for partitioning the domain to crawl, and more in general the complete decentralization of every task. The necessity of handling very large sets of data has highlighted some limitations of the Java APIs, which prompted the authors to partially reimplement them. Copyright © 2004 John Wiley & Sons, Ltd.
Paolo Boldi, Bruno Codenotti, Massimo Santini 0001, Sebastiano Vigna
Softw. Pract. Exp.4
2003 Automatic Generation of Content Management Systems from EER-Based Specifications
abstract
ERW (entity-relationship Web browser) is an innovative open-source system for handling complex databases using a Web browser. Once the details of an enhanced entity-relationship schema have been specified in XML (eXtended Markup Language), ERW generates a complete application that lets the user interact with the database. Then, specification percolation makes it possible to customize heavily the application while maintaining the flexibility of a model-driven approach.
Sebastiano Vigna
ASE1
2003 Lower bounds for sense of direction in regular graphs
Paolo Boldi, Sebastiano Vigna
Distributed Comput.2
2002 Multirelational Semantics for ExtendedEntity-Relationship Schemata with Applications
Sebastiano Vigna
ER1
2002 Holographic Trees
Paolo Boldi, Sebastiano Vigna
LATIN2
2002 Universal dynamic synchronous self-stabilization
Paolo Boldi, Sebastiano Vigna
Distributed Comput.2
2002 Measuring with jugs
Paolo Boldi, Massimo Santini 0001, Sebastiano Vigna
Theor. Comput. Sci.3
2001 An Effective Characterization of Computability in Anonymous Networks
Paolo Boldi, Sebastiano Vigna
DISC2
2000 Lower bounds for (weak) sense of direction
Paolo Boldi, Sebastiano Vigna
SIROCCO2
2000 More Lower Bounds for Weak Sense of Direction: The Case of Regular Graphs
Paolo Boldi, Sebastiano Vigna
DISC2
2000 Coverings that preserve sense of direction
Paolo Boldi, Sebastiano Vigna
Inf. Process. Lett.2
2000 The Turing closure of an Archimedean field
Paolo Boldi, Sebastiano Vigna
Theor. Comput. Sci.2
1999 Computing Anonymously with Arbitrary Knowledge
abstract
We provide characterizations of the relations that can be computed with arbitrary knowledge on networks where all processors use the same algorithm and start from the same state (in particular, we do not assume that a bound on the network size is known).Three activation models are considered (synchronous, asynchronous, interleaved).Perniission to make digital or hard copies of all or part of this work for ~~ersuna~ or ciassroom use is granted without fee probided that copies arc not m&c or distributed for prolit or commercial adcmtagc and that topics bear this notice and the full citation on the first page.TO copy otherwise.
Paolo Boldi, Sebastiano Vigna
PODC2
1999 Complexity of Deciding Sense of Direction
abstract
In this paper we prove that deciding whether a distributed system (represented as a colored digraph with n nodes) has weak sense of direction is in AC 1 (using n 6 processors). Moreover, we show that deciding sense of direction is in P. Our algorithms can also be used to decide in AC 1 whether a colored graph is a Cayley color graph.
Paolo Boldi, Sebastiano Vigna
SIAM J. Comput.2
1999 Equality is a Jump
Paolo Boldi, Sebastiano Vigna
Theor. Comput. Sci.2
1998 The Turing Closure of an Archimedean Field
Paolo Boldi, Sebastiano Vigna
MCU (2)2
1998 delta-Uniform BSS Machines
Paolo Boldi, Sebastiano Vigna
J. Complex.2
1997 Computing Vector Functions on Anonymous Networks
abstract
No abstract available.
Paolo Boldi, Sebastiano Vigna
PODC2
1997 Computing Vector Functions on Anonymous Networks
Paolo Boldi, Sebastiano Vigna
SIROCCO2
1997 The Topos of Labelled Trees: A Categorical Semantics for SCCS
abstract
In this paper a we give a semantics for SCCS using the constructions of the topos of labelled trees. The semantics accounts for all aspects of the original formulation of SCCS, including unbounded non-determinism. Then, a partial solution to the problem of characterizing bisimulation in terms of a class of morphisms is proposed. We define a class of morphisms of the topos of trees, called conflict preserving, such that two trees T and U are bisimilar iff there is a pair of conflict preserving morphisms f : T → U and g : U → T such that fgf = f and gfg = g. It is the first characterization which does not require the existence of a third quotient object. The results can be easily extended to more general transition systems.
Stefano Kasangian, Sebastiano Vigna
Fundam. Informaticae2
1997 Minimal Sense of Direction and Decision Problems for Cayley Graphs
Paolo Boldi, Sebastiano Vigna
Inf. Process. Lett.2
1996 Good Fibrations and Other Construction Which Preserve Sense of Direction
Paolo Boldi, Sebastiano Vigna
SIROCCO2
1996 A Note on Recursive Functions
abstract
In this paper, we propose a new and elegant definition of the class of recursive functions, which is analogous to Kleene's definition but differs in the primitives taken, thus demonstrating the computational power of the concurrent programming language introduced in Walters (1991), Walters (1992) and Khalil and Walters (1993). The definition can be immediately rephrased for any distributive graph in a countably extensive category with products, thus allowing a wide, natural generalization of computable functions.
Nicoletta Sabadini, Sebastiano Vigna, Robert F. C. Walters
Math. Struct. Comput. Sci.2
1996 On the Relations between Distributive Computability and the BSS Model
Sebastiano Vigna
Theor. Comput. Sci.1
1995 On the Complexity of Deciding Sense of Direction
Paolo Boldi, Sebastiano Vigna
SIROCCO2