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

Oren Laadan

dblp:60/729 · DBLP profile ↗
← Back
17ranked-venue papers
10as first author
0since 2021 · last 2012
—ORCID · none

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

Systems, architecture and hardware · 6 · 4 first-authorSoftware engineering, systems software and programming languages · 6 · 4 first-authorHuman-computer interaction and ubiquitous computing · 3 · 3 first-authorComputer networks · 2Security and privacy · 1Graphics, computer vision, multimedia, augmented reality and games · 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
8 papers
Operating systems · 41% Debugging and program repair · 35% Concurrent programming · 9%
Computer architecture, parallel and distributed computing, and storage systems
5 papers
Cloud and datacenter computing · 82% Storage systems · 15% Distributed systems · 3%
Computer networks
1 paper
Content delivery and video streaming · 100%
Network and information security
2 papers
Systems and software security · 100%

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

TopicWeightPapersLastEvidence papers
Operating systems
virtualization
0.332012
The Design, Implementation, and Evaluation of Cells: A Virtual Smartphone Architecture · ACM Trans. Comput. Syst. 2012
Cells: a virtual mobile smartphone architecture · SOSP 2011
DejaView: a personal virtual computer recorder · SOSP 2007
Cloud and datacenter computing
virtualization
0.222011
Cells: a virtual mobile smartphone architecture · SOSP 2011
VMtorrent: virtual appliances on-demand · SIGCOMM 2010
Debugging and program repair
failure recovery
0.222009
ASSURE: automatic software self-healing using rescue points · ASPLOS 2009
Using Rescue Points to Navigate Software Recovery · S&P 2007
Content delivery and video streaming
peer-to-peer streaming
0.112012
VMTorrent: scalable P2P virtual machine streaming · CoNEXT 2012
Concurrent programming › concurrency bug detection
data race detection
0.112011
Pervasive detection of process races in deployed systems · SOSP 2011
Debugging and program repair
fault localization
0.112011
Pervasive detection of process races in deployed systems · SOSP 2011
Cloud and datacenter computing › virtualization › resource virtualization
mobile virtualization
0.112011
Cells: a virtual mobile smartphone architecture · SOSP 2011
Operating systems › multiprocessing
multiprocessor operating system
0.112010
Transparent, lightweight application execution replay on commodity multiprocessor operating systems · SIGMETRICS 2010
Debugging and program repair
record and replay
0.112010
Transparent, lightweight application execution replay on commodity multiprocessor operating systems · SIGMETRICS 2010
Cloud and datacenter computing › resource provisioning
virtual machine provisioning
0.112010
VMtorrent: virtual appliances on-demand · SIGCOMM 2010
Operating systems › fault tolerance
checkpoint and rollback
0.122009
Transparent Checkpoint-Restart of Multiple Processes on Commodity Operating Systems · USENIX ATC 2007
ASSURE: automatic software self-healing using rescue points · ASPLOS 2009
Debugging and program repair
program repair
0.112009
ASSURE: automatic software self-healing using rescue points · ASPLOS 2009
Software maintenance and evolution › software evolution › software adaptation
self-healing systems
0.112009
ASSURE: automatic software self-healing using rescue points · ASPLOS 2009
Systems and software security
isolation
0.122012
The Design, Implementation, and Evaluation of Cells: A Virtual Smartphone Architecture · ACM Trans. Comput. Syst. 2012
Cells: a virtual mobile smartphone architecture · SOSP 2011
Programming languages and type systems › control structures
exception handling
0.112007
Using Rescue Points to Navigate Software Recovery · S&P 2007
Storage systems
file systems
0.112007
DejaView: a personal virtual computer recorder · SOSP 2007
Storage systems
networked storage
0.012012
VMTorrent: scalable P2P virtual machine streaming · CoNEXT 2012
Operating systems › operating system interface › system call
system call interposition
0.012011
Pervasive detection of process races in deployed systems · SOSP 2011
Software testing
fuzzing
0.012009
ASSURE: automatic software self-healing using rescue points · ASPLOS 2009
Information retrieval › search engines
desktop search
0.012007
DejaView: a personal virtual computer recorder · SOSP 2007
Software testing › mutation testing
fault injection
0.012007
Using Rescue Points to Navigate Software Recovery · S&P 2007
Distributed systems
fault tolerance
0.012007
Transparent Checkpoint-Restart of Multiple Processes on Commodity Operating Systems · USENIX ATC 2007

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

p2p streaming · 0.3device proxies · 0.3OS virtualization · 0.3record and replay · 0.3checkpointing · 0.2deterministic replay · 0.1sync points · 0.1rendezvous points · 0.1fuzzing · 0.1checkpoint-restart · 0.1binary patching · 0.1record-and-replay · 0.1
YearPublicationVenuePosition
2012 Capture: a desktop display-centric text recorder
abstract
As more and more information is designed for human visual consumption through computer displays, the need to capture and process display-centric content is becoming increasingly important, especially for visually impaired users. We present Capture, a novel display-centric text recorder that facilitates real-time access to onscreen text and its structure and contextual information, including data associated with both foreground and background windows. Capture provides an intelligent caching architecture that integrates with the standard accessibility framework available on modern operating systems to continuously track onscreen text and metadata. This enables fast, semantic information recording without any modifications to applications, window systems, or operating system kernels. The recorded data is useful for a variety of problem domains, including assistive technologies, desktop search, auditing, and predictive graphical user interfaces. We have implemented a Capture prototype on Linux with the GNOME Accessibility Toolkit. Our results on real desktop applications demonstrate that Capture provides low runtime overhead and much more complete recording of onscreen text than modern desktop screen readers used for visually impaired users.
Oren Laadan, Andrew Shu, Jason Nieh
ASSETS1
2012 VMTorrent: scalable P2P virtual machine streaming
abstract
Clouds commonly store Virtual Machine (VM) images on networked storage. This poses a serious potential scalability bottleneck as launching a single fresh VM instance requires, at minimum, several hundred MB of network reads. As this bottleneck occurs most severely during read-intensive launching of new VMs, we focus on scalably minimizing time to boot a VM and load its critical applications.
Joshua Reich, Oren Laadan, Eli Brosh, Alex Sherman, Vishal Misra, Jason Nieh, Dan Rubenstein
CoNEXT2
2012 The Design, Implementation, and Evaluation of Cells: A Virtual Smartphone Architecture
abstract
Smartphones are increasingly ubiquitous, and many users carry multiple phones to accommodate work, personal, and geographic mobility needs. We present Cells , a virtualization architecture for enabling multiple virtual smartphones to run simultaneously on the same physical cellphone in an isolated, secure manner. Cells introduces a usage model of having one foreground virtual phone and multiple background virtual phones. This model enables a new device namespace mechanism and novel device proxies that integrate with lightweight operating system virtualization to multiplex phone hardware across multiple virtual phones while providing native hardware device performance. Cells virtual phone features include fully accelerated 3D graphics, complete power management features, and full telephony functionality with separately assignable telephone numbers and caller ID support. We have implemented a prototype of Cells that supports multiple Android virtual phones on the same phone. Our performance results demonstrate that Cells imposes only modest runtime and memory overhead, works seamlessly across multiple hardware devices including Google Nexus 1 and Nexus S phones, and transparently runs Android applications at native speed without any modifications.
Christoffer Dall, Jeremy Andrus, Alexander Van't Hof, Oren Laadan, Jason Nieh
ACM Trans. Comput. Syst.4
2011 Finding Concurrency Errors in Sequential Code - OS-level, In-vivo Model Checking of Process Races
Oren Laadan, Chia-Che Tsai, Nicolas Viennot, Chris Blinn, Peter Senyao Du, Jason Nieh
HotOS1
2011 Structured linux kernel projects for teaching operating systems concepts
abstract
Linux has emerged as a widely-used platform for enabling hands-on kernel programming experience to learn about operating system concepts. However, developing pedagogically-effective programming projects in the context of a complex, production operating system can be a challenge. We present a structured series of five Linux kernel programming projects suitable for a one semester introductory operating systems course to address this issue. Each assignment introduces students to a core topic and major component of an operating system while implicitly teaching them about various aspects of a real-world operating system. Projects are of modest coding complexity, but require students to understand and leverage core components of the Linux operating system. The learning benefits for students from this approach include learning from real-world operating system code examples by expert kernel designers and gaining software engineering experience managing production code complexity. We have successfully used these structured Linux kernel projects to teach over a thousand students in the introductory operating systems course at Columbia University.
Oren Laadan, Jason Nieh, Nicolas Viennot
SIGCSE1
2011 Cells: a virtual mobile smartphone architecture
abstract
Smartphones are increasingly ubiquitous, and many users carry multiple phones to accommodate work, personal, and geographic mobility needs. We present Cells, a virtualization architecture for enabling multiple virtual smartphones to run simultaneously on the same physical cellphone in an isolated, secure manner. Cells introduces a usage model of having one foreground virtual phone and multiple background virtual phones. This model enables a new device namespace mechanism and novel device proxies that integrate with lightweight operating system virtualization to multiplex phone hardware across multiple virtual phones while providing native hardware device performance. Cells virtual phone features include fully accelerated 3D graphics, complete power, management features, and full telephony functionality with separately assignable telephone numbers and caller ID support. We have implemented a prototype of Cells that supports multiple Android virtual phones on the same phone. Our performance results demonstrate that Cells imposes only modest runtime and memory overhead, works seamlessly across multiple hardware devices including Google Nexus 1 and Nexus S phones, and transparently runs Android applications at native speed without any modifications.
Jeremy Andrus, Christoffer Dall, Alexander Van't Hof, Oren Laadan, Jason Nieh
SOSP4
2011 Pervasive detection of process races in deployed systems
abstract
Process races occur when multiple processes access shared operating system resources, such as files, without proper synchronization. We present the first study of real process races and the first system designed to detect them. Our study of hundreds of applications shows that process races are numerous, difficult to debug, and a real threat to reliability. To address this problem, we created RacePro, a system for automatically detecting these races. RacePro checks deployed systems in-vivo by recording live executions then deterministically replaying and checking them later. This approach increases checking coverage beyond the configurations or executions covered by software vendors or beta testing sites. RacePro records multiple processes, detects races in the recording among system calls that may concurrently access shared kernel objects, then tries different execution orderings of such system calls to determine which races are harmful and result in failures. To simplify race detection, RacePro models under-specified system calls based on load and store micro-operations. To reduce false positives and negatives, RacePro uses a replay and go-live mechanism to distill harmful races from benign ones. We have implemented RacePro in Linux, shown that it imposes only modest recording overhead, and used it to detect a number of previously unknown bugs in real applications caused by process races.
Oren Laadan, Nicolas Viennot, Chia-Che Tsai, Chris Blinn, Jason Nieh
SOSP1
2010 VMtorrent: virtual appliances on-demand
abstract
Virtual Appliances (VAs) are Virtual Machines (VMs) geared towards a specific set of tasks. They require little or no configuration, working out-of-the-box. VAs fit neatly into the Cloud Computing paradigm - many copies of an identical machine can be launched in a data center, or home/business users can grab the appliance they need from the cloud to run locally just for so long as required. Companies and projects whose sole offerings are VAs ready for either desktop or data center use [3, 11] attest to the growing popularity of VAs. VMware's Appliance directory alone currently lists over 1400 VAs available for the VMware family of Virtual Machine Monitors (VMMs) [13].
Joshua Reich, Oren Laadan, Eli Brosh, Alex Sherman, Vishal Misra, Jason Nieh, Dan Rubenstein
SIGCOMM2
2010 Teaching operating systems using virtual appliances and distributed version control
abstract
Students learn more through hands-on project experience for computer science courses such as operating systems, but providing the infrastructure support for a large class to learn by doing can be hard. To address this issue, we introduce a new approach to managing and grading operating system homework assignments based on virtual appliances, a distributed version control system, and live demonstrations. Our solution is easy to deploy and use with students' personal computers, and obviates the need to provide a computer laboratory for teaching purposes. It supports the most demanding course projects, such as those that involve operating system kernel development, and can be used by both on-campus and remote distance learning students even with intermittent network connectivity. Our experiences deploying and using this solution to teach operating systems at Columbia University show that it is easier to use, more flexible, and more pedagogically effective than other approaches.
Oren Laadan, Jason Nieh, Nicolas Viennot
SIGCSE1
2010 Transparent, lightweight application execution replay on commodity multiprocessor operating systems
abstract
We present Scribe, the first system to provide transparent, lowoverhead application record-replay and the ability to go live from replayed execution. Scribe introduces new lightweight operating system mechanisms, rendezvous and sync points, to efficiently record nondeterministic interactions such as related system calls, signals, and shared memory accesses. Rendezvous points make a partial ordering of execution based on system call dependencies sufficient for replay, avoiding the recording overhead of maintaining an exact execution ordering. Sync points convert asynchronous interactions that can occur at arbitrary times into synchronous events that are much easier to record and replay. We have implemented Scribe without changing, relinking, or recompiling applications, libraries, or operating system kernels, and without any specialized hardware support such as hardware performance counters. It works on commodity Linux operating systems, and commodity multi-core and multiprocessor hardware. Our results show for the first time that an operating system mechanism can correctly and transparently record and replay multi-process and multi-threaded applications on commodity multiprocessors. Scribe recording overhead is less than 2.5 % for server applications including Apache and MySQL, and less than 15 % for desktop applications including Firefox, Acrobat, OpenOffice, parallel kernel compilation, and movie playback.
Oren Laadan, Nicolas Viennot, Jason Nieh
SIGMETRICS1
2010 Operating system virtualization: practice and experience
abstract
Operating system (OS) virtualization can provide a number of important benefits, including transparent migration of applications, server consolidation, online OS maintenance, and enhanced system security. However, the construction of such a system presents a myriad of challenges, even for the most cautious developer, that if overlooked may result in a weak, incomplete virtualization. We present a detailed discussion of key implementation issues in providing OS virtualization in a commodity OS, including system call interposition, virtualization state management, and race conditions. We discuss our experiences in implementing such functionality across two major versions of Linux entirely in a loadable kernel module without any kernel modification. We present experimental results on both uniprocessor and multiprocessor systems that demonstrate the ability of our approach to provide fine-grain virtualization with very low overhead.
Oren Laadan, Jason Nieh
SYSTOR1
2009 ASSURE: automatic software self-healing using rescue points
abstract
Software failures in server applications are a significant problem for preserving system availability. We present ASSURE, a system that introduces rescue points that recover software from unknown faults while maintaining both system integrity and availability, by mimicking system behavior under known error conditions. Rescue points are locations in existing application code for handling a given set of programmer-anticipated failures, which are automatically repurposed and tested for safely enabling fault recovery from a larger class of (unanticipated) faults. When a fault occurs at an arbitrary location in the program, ASSURE restores execution to an appropriate rescue point and induces the program to recover execution by virtualizing the program's existing error-handling facilities. Rescue points are identified using fuzzing, implemented using a fast coordinated checkpoint-restart mechanism that handles multi-process and multi-threaded applications, and, after testing, are injected into production code using binary patching. We have implemented an ASSURE Linux prototype that operates without application source code and without base operating system kernel changes. Our experimental results on a set of real-world server applications and bugs show that ASSURE enabled recovery for all of the bugs tested with fast recovery times, has modest performance overhead, and provides automatic self-healing orders of magnitude faster than current human-driven patch deployment methods.
Stelios Sidiroglou-Douskos, Oren Laadan, Carlos Perez, Nicolas Viennot, Jason Nieh, Angelos D. Keromytis
ASPLOS2
2009 MediaPod: A Personalized Multimedia Desktop in Your Pocket
abstract
We present MediaPod, a portable system that allows mobile users to maintain the same persistent, personalized multimedia desktop environment on any available computer. Regardless of which computer is being used, MediaPod provides a consistent multimedia desktop session, maintaining all of a user's applications, documents and configuration settings. This is achieved by leveraging rapid improvements in capacity, cost, and size of portable storage devices. MediaPod provides a virtualization and checkpoint-restart mechanism that decouples a desktop environment and its applications from the host, enabling multimedia desktop sessions to be suspended to portable storage, carried around, and resumed from the storage device on another computer. MediaPod virtualization also isolates desktop sessions from the host, protecting the privacy of the user and preventing malicious applications from damaging the host. We have implemented a Linux MediaPod prototype and demonstrate its ability to quickly suspend and resume multimedia desktop sessions, enabling a seamless computing experience for mobile users as they move among computers.
Shaya Potter, Ricardo A. Baratto, Oren Laadan, Leonard N. Kim, Jason Nieh
ISM3
2007 DejaView: a personal virtual computer recorder
abstract
As users interact with the world and their peers through their computers, it is becoming important to archive and later search the information that they have viewed. We present DejaView, a personal virtual computer recorder that provides a complete record of a desktop computing experience that a user can playback, browse, search, and revive seamlessly. DejaView records visual output, checkpoints corresponding application and file system state, and captures displayed text with contextual information to index the record. A user can then browse and search the record for any visual information that has been displayed on the desktop, and revive and interact with the desktop computing state corresponding to any point in the record. DejaView combines display, operating system, and file system virtualization to provide its functionality transparently without any modifications to applications, window systems, or operating system kernels. We have implemented DejaView and evaluated its performance on real-world desktop applications. Our results demonstrate that DejaView can provide continuous low-overhead recording without any user noticeable performance degradation, and allows browsing, search and playback of records fast enough for interactive use.
Oren Laadan, Ricardo A. Baratto, Dan B. Phung, Shaya Potter, Jason Nieh
SOSP1
2007 Using Rescue Points to Navigate Software Recovery
abstract
We present a new technique that enables software recovery in legacy applications by retrofitting exception-handling capabilities, error virtualization using rescue points. We introduce the idea of "rescue points" as program locations to which an application can recover its execution in the presence of failures. The use of rescue points reduces the chance of unanticipated execution paths thereby making recovery more robust by mimicking system behavior under controlled error conditions. These controlled error conditions can be thought of as a set erroneous inputs, like the ones used by most quality-assurance teams during software development, designed to stress-test an application. To discover rescue points applications are profiled and monitored during tests that bombard the program with bad/random inputs. The intuition is that by monitoring application behavior during these runs, we gain insight into how programmer-tested program points are used to propagate faults gracefully.
Stelios Sidiroglou-Douskos, Oren Laadan, Angelos D. Keromytis, Jason Nieh
S&P2
2007 Transparent Checkpoint-Restart of Multiple Processes on Commodity Operating Systems
Oren Laadan, Jason Nieh
USENIX ATC1
2005 Transparent Checkpoint-Restart of Distributed Applications on Commodity Clusters
abstract
We have created ZapC, a novel system for transparent coordinated checkpoint-restart of distributed network applications on commodity clusters. ZapC provides a thin visualization layer on top of the operating system that decouples a distributed application from dependencies on the cluster nodes on which it is executing. This decoupling enables ZapC to checkpoint an entire distributed application across all nodes in a coordinated manner such that it can he restarted from the checkpoint on a different set of cluster nodes at a later time. ZapC checkpoint-restart operations execute in parallel across different cluster nodes, providing faster checkpoint-restart performance. ZapC uniquely supports network state in a transport protocol independent manner, including correctly saving and restoring socket and protocol state for both TCP and UDP connections. We have implemented a ZapC Linux prototype and demonstrate that it provides low visualization overhead and fast checkpoint-restart times for distributed network applications without any application, library, kernel, or network protocol modifications
Oren Laadan, Dan B. Phung, Jason Nieh
CLUSTER1