Roberto Lublinerman

dblp:92/3144 · DBLP profile ↗
← Back
12ranked-venue papers
6as first author
0since 2021 · last 2013
—ORCID · none

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

Software engineering, systems software and programming languages · 7 · 4 first-authorArtificial intelligence and machine learning · 3 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 3 · 1 first-authorSystems, architecture and hardware · 2 · 2 first-authorTheory of computation · 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
5 papers
Operating systems · 22% Concurrent programming · 22% Program analysis · 18%
Artificial intelligence
3 papers
3D vision · 44% Video understanding and tracking · 34% Segmentation and scene understanding · 22%
Computer architecture, parallel and distributed computing, and storage systems
3 papers
Parallel and multicore computing · 71% Embedded and real-time systems · 29%
Computer graphics and multimedia
2 papers
Image and video processing · 100%

Topics — the 20 heaviest of 24, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Operating systems › system security › operating system security › protection mechanism
isolation
0.322013
Isolation for nested task parallelism · OOPSLA 2013
Delegated isolation · OOPSLA 2011
Concurrent programming › parallel programming models
task parallelism
0.212013
Isolation for nested task parallelism · OOPSLA 2013
Parallel and multicore computing
parallel programming models
0.122011
Parallel programming with object assemblies · OOPSLA 2009
Delegated isolation · OOPSLA 2011
Software testing
robustness analysis
0.112011
Proving programs robust · SIGSOFT FSE 2011
Program analysis
static analysis
0.112011
Proving programs robust · SIGSOFT FSE 2011
Concurrent programming
transactional memory
0.112011
Delegated isolation · OOPSLA 2011
Compilers and program optimization
code size reduction
0.112009
Modular code generation from synchronous block diagrams: modularity vs. code size · POPL 2009
Program synthesis and code generation › generative programming
modular code generation
0.112009
Modular code generation from synchronous block diagrams: modularity vs. code size · POPL 2009
Parallel and multicore computing › parallel computing › parallel applications
irregular applications
0.112009
Parallel programming with object assemblies · OOPSLA 2009
Computer vision › 3D vision
3d reconstruction
0.112008
Detecting and matching repeated patterns for automatic geo-tagging in urban environments · CVPR 2008
Computer vision › 3D vision
camera pose estimation
0.112008
Detecting and matching repeated patterns for automatic geo-tagging in urban environments · CVPR 2008
Computer vision › Segmentation and scene understanding
image segmentation
0.112008
Image de-fencing · CVPR 2008
Image and video processing › image restoration
image inpainting
0.112008
Image de-fencing · CVPR 2008
Image and video processing › image restoration › image inpainting
texture inpainting
0.112008
Image de-fencing · CVPR 2008
Computer vision › Video understanding and tracking
motion segmentation
0.112006
Dynamics Based Robust Motion Segmentation · CVPR (1) 2006
Computer vision › Video understanding and tracking › motion segmentation
multi-body motion segmentation
0.112006
Dynamics Based Robust Motion Segmentation · CVPR (1) 2006
Image and video processing
motion analysis
0.112006
Dynamics Based Robust Motion Segmentation · CVPR (1) 2006
Runtime systems and virtual machines
parallel runtime systems
0.012013
Isolation for nested task parallelism · OOPSLA 2013
Program verification › neural network verification
robustness verification
0.012010
Continuity analysis of programs · POPL 2010
Information retrieval
image retrieval
0.012008
Detecting and matching repeated patterns for automatic geo-tagging in urban environments · CVPR 2008

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

continuity analysis · 0.2interface function computation · 0.2dependency analysis · 0.2runtime system · 0.2compiler support · 0.2wide-baseline matching · 0.2translational symmetry · 0.2texture-based inpainting · 0.2repeated pattern detection · 0.2program analysis · 0.1systems theory · 0.1rank computation · 0.1SVD · 0.1
YearPublicationVenuePosition
2013 Isolation for nested task parallelism
abstract
Isolation--the property that a task can access shared data without interference from other tasks--is one of the most basic concerns in parallel programming. Whilethere is a large body of past work on isolated task-parallelism, the integration of isolation, task-parallelism, and nesting of tasks has been a difficult and unresolved challenge. In this pa- per, we present a programming and execution model called Otello where isolation is extended to arbitrarily nested parallel tasks with irregular accesses to heap data. At the same time, no additional burden is imposed on the programmer, who only exposes parallelism by creating and synchronizing parallel tasks, leaving the job of ensuring isolation to the underlying compiler and runtime system.
Jisheng Zhao, Roberto Lublinerman, Zoran Budimlic, Swarat Chaudhuri, Vivek Sarkar
OOPSLA2
2011 Delegated isolation
abstract
Isolation---the property that a task can access shared data without interference from other tasks---is one of the most basic concerns in parallel programming. In this paper, we present Aida, a new model of isolated execution for parallel programs that perform frequent, irregular accesses to pointer-based shared data structures. The three primary benefits of Aida are dynamism, safety and liveness guarantees, and programmability. First, Aida allows tasks to dynamically select and modify, in an isolated manner, arbitrary fine-grained regions in shared data structures, all the while maintaining a high level of concurrency. Consequently, the model can achieve scalable parallelization of regular as well as irregular shared-memory applications. Second, the model offers freedom from data races, deadlocks, and livelocks. Third, no extra burden is imposed on programmers, who access the model via a simple, declarative isolation construct that is similar to that for transactional memory. The key new insight in Aida is a notion of delegation among concurrent isolated tasks (known in Aida as assemblies). Each assembly A is equipped with a region in the shared heap that it owns---the only objects accessed by A are those it owns, guaranteeing race-freedom. The region owned by A can grow or shrink flexibly---however, when A needs to own a datum owned by B, A delegates itself, as well as its owned region, to B. From now on, B has the responsibility of re-executing the task A set out to complete. Delegation as above is the only inter-assembly communication primitive in Aida. In addition to reducing contention in a local, data-driven manner, it guarantees freedom from deadlocks and livelocks.
Roberto Lublinerman, Jisheng Zhao, Zoran Budimlic, Swarat Chaudhuri, Vivek Sarkar
OOPSLA1
2011 Proving programs robust
abstract
We present a program analysis for verifying quantitative robustness properties of programs, stated generally as: "If the inputs of a program are perturbed by an arbitrary amount epsilon, then its outputs change at most by (K . epsilon), where K can depend on the size of the input but not its value." Robustness properties generalize the analytic notion of continuity---e.g., while the function ex is continuous, it is not robust. Our problem is to verify the robustness of a function P that is coded as an imperative program, and can use diverse data types and features such as branches and loops.
Swarat Chaudhuri, Sumit Gulwani, Roberto Lublinerman, Sara NavidPour
SIGSOFT FSE3
2010 Continuity analysis of programs
abstract
We present an analysis to automatically determine if a program represents a continuous function, or equivalently, if infinitesimal changes to its inputs can only cause infinitesimal changes to its outputs. The analysis can be used to verify the robustness of programs whose inputs can have small amounts of error and uncertainty---e.g., embedded controllers processing slightly unreliable sensor data, or handheld devices using slightly stale satellite data.
Swarat Chaudhuri, Sumit Gulwani, Roberto Lublinerman
POPL3
2009 Actors without Directors: A Kahnian View of Heterogeneous Systems
Paul Caspi, Albert Benveniste, Roberto Lublinerman, Stavros Tripakis
HSCC3
2009 Parallel programming with object assemblies
abstract
We present Chorus, a high-level parallel programming model suitable for irregular, heap-manipulating applications like mesh refinement and epidemic simulations, and JChorus, an implementation of the model on top of Java. One goal of Chorus is to express the dynamic and instance-dependent patterns of memory access that are common in typical irregular applications. Its other focus is locality of effects: the property that in many of the same applications, typical imperative commands only affect small, local regions in the shared heap.
Roberto Lublinerman, Swarat Chaudhuri, Pavol Cerný
OOPSLA1
2009 Modular code generation from synchronous block diagrams: modularity vs. code size
abstract
We study modular, automatic code generation from hierarchical block diagrams with synchronous semantics. Such diagrams are the fundamental model behind widespread tools in the embedded software domain, such as Simulink and SCADE. Code is modular in the sense that it is generated for a given composite block independently from context (i.e., without knowing in which diagrams the block is to be used) and using minimal information about the internals of the block. In previous work, we have shown how modular code can be generated by computing a set of interface functions for each block and a set of dependencies between these functions that is exported along with the interface. We have also introduced a quantified notion of modularity in terms of the number of interface functions generated per block, and showed how to minimize this number, which is essential for scalability. Finally, we have exposed the fundamental trade-off between modularity and reusability (set of diagrams the block can be used in).
Roberto Lublinerman, Christian Szegedy, Stavros Tripakis
POPL1
2008 Image de-fencing
abstract
We introduce a novel image segmentation algorithm that uses translational symmetry as the primary foreground/background separation cue. We investigate the process of identifying and analyzing image regions that present approximate translational symmetry for the purpose of image forground/background separation. In conjunction with texture-based inpainting, understanding the different see-through layers allows us to perform powerful image manipulations such as recovering a mesh-occluded background (as much as 53% occluded area) to achieve the effect of image and photo de-fencing. Our algorithm consists of three distinct phases- (1) automatically finding the skeleton structure of a potential frontal layer (fence) in the form of a deformed lattice, (2) separating foreground/background layers using appearance regularity, and (3) occluded foreground inpainting to reveal a complete, non-occluded image. Each of these three tasks presents its own special computational challenges that are not encountered in previous, general image de-layering or texture inpainting applications.
Yanxi Liu 0001, Tamara Belkina, James Hays, Roberto Lublinerman
CVPR4
2008 Detecting and matching repeated patterns for automatic geo-tagging in urban environments
abstract
We present a novel method for automatically geo-tagging photographs of man-made environments via detection and matching of repeated patterns. Highly repetitive environments introduce numerous correspondence ambiguities and are problematic for traditional wide-baseline matching methods. Our method exploits the highly repetitive nature of urban environments, detecting multiple perspectively distorted periodic 2D patterns in an image and matching them to a 3D database of textured facades by reasoning about the underlying canonical forms of each pattern. Multiple 2D-to-3D pattern correspondences enable robust recovery of camera orientation and location. We demonstrate the success of this method in a large urban environment.
Grant Schindler, Panchapagesan Krishnamurthy, Roberto Lublinerman, Yanxi Liu 0001, Frank Dellaert
CVPR3
2008 Modularity vs. Reusability: Code Generation from Synchronous Block Diagrams
abstract
We present several methods to generate modular code from synchronous hierarchical block diagrams. Modularity means code is generated for a given macro (i.e., composite) block independently from context, that is, without knowing where this block is to be used, and also with minimal knowledge about its sub-blocks. We achieve this by generating a set of interface functions for each block and a set of dependencies between these functions that is exported along with the interface. The main trade-off is the degree of modularity (number of interface functions) vs. reusability (the set of diagrams that the block can be used in without creating dependency cycles).
Roberto Lublinerman, Stavros Tripakis
DATE1
2008 Modular Code Generation from Triggered and Timed Block Diagrams
abstract
In previous work we have shown how modular code can be automatically generated from a synchronous block diagram notation where all blocks fire at all times. Here, we extend this work to triggered and timed diagrams, where some blocks fire only when their trigger is true, or at statically specified times. We show that, although triggers can be eliminated, this is not desirable since it destroys modularity and may also result in rejecting some diagrams that could be accepted. To avoid this we propose a modular code generation method that directly accounts for triggers. We also propose methods specialized to timed diagrams. Although timed diagrams are special cases of triggered diagrams, treating them directly allows us to obtain efficient code. We achieve this by enriching the interface of a macro block with firing time information and using this information to avoid firing the block unnecessarily. Existing firing time representations are generally conservative, in the sense that they cannot represent the exact set of firing times of a macro block, but a super-set. To remedy this, we devise a novel and accurate (exact) representation. This representation uses finite automata and is amenable to algebraic manipulation and generation of efficient code.
Roberto Lublinerman, Stavros Tripakis
IEEE Real-Time and Embedded Technology and Applications Symposium1
2006 Dynamics Based Robust Motion Segmentation
abstract
In this paper we consider the problem of segmenting multiple rigid motions using multi-frame point correspondence data. The main idea of the method is to group points according to the complexity of the model required to explain their relative motion. Intuitively, this formalizes the idea that points on the same rigid share more modes of motion (for instance a common translation or rotation) than points on different objects, leading to less complex models. By exploiting results from systems theory, the problem of estimating the complexity of the underlying model is reduced to simply computing the rank of a matrix constructed from the correspondence data. This leads to a simple segmentation algorithm, computationally no more expensive than a sequence of SVDs. Since the proposed method exploits both spatial and temporal constraints, is less sensitive to the effect of noise or outliers than approaches that rely solely on factorizations of the measurements matrix. In addition, the method can also naturally handle "degenerate cases", e.g. cases where the objects partially share motion modes. These results are illustrated using several examples involving both degenerate and non-degenerate cases.
Roberto Lublinerman, Mario Sznaier, Octavia I. Camps
CVPR (1)1