CIS Homeline
   
arrow About CIS
spacer spacer
arrow Events
spacer spacer
arrow People
spacer spacer
arrow Research
spacer spacer
arrow Undergraduate program
spacer spacer
arrow Graduate program
spacer spacer
arrow Job Openings
   

 

CIS Home divider Penn Engineering divider PENN   spacer  

 
 Technical Report 2004 

2004 . 2003 . 2002 . 2001 . 2000 . 1999 . 1998 . 1997 . 1996 . 1995 . 1994 . 1993 . 1992 . 1991 . 1990

 

MS-CIS-04-01

Translating Dependency into Parametricity

Stephen Tse and Steve Zdancewic


MS-CIS-04-02

An Efficient XPath Streaming Processor

Yi Chen, Susan B. Davidson and Yifeng Zheng


MS-CIS-04-03

The Design of Synchronization Mechanisms for Peer-to-Peer Massively Multiplayer Games

Honghui Lu,Björn Knutsson, Margaret Delap, John Fiore, Baohua Wu


MS-CIS-04-04

A Formal Analysis of Some Properties of Kerberos 5 Using MSR

Frederick Butler(1), Iliano Cervesato(2), Aaron D. Jaggard(3), and Andre Scedrov(4)
(1)Dept. of Mathematics, UPenn,(2)ITT Industries, Inc.,(3)Dept. of Mathematics, Tulane, (4)Depts. of Mathematics and CIS, UPenn

MS-CIS-04-05

HSIF semantics

Oleg Sokolsky, Insup Lee, Rajeev Alur
We present semantics for HSIF, a language for exchanging hybrid systems models between modeling and analysis tools. Unlike most other interchange formats, HSIF is intended for the exchange of formal objects. Therefore, the primary concern in developing HSIF is to preserve behavior of the exchanged models and a precise semantic definition is thus necessary. HSIF models are collections of hybrid automata that communicate via shared variables. The concurrency model is chosen to respect dependencies between variables.

 

MS-CIS-04-06

Low-Overhead Debugging with DISE
Marc L. Corliss, E Christopher Lewis, and Amir Roth




MS-CIS-04-07

A-Optimality for Active Learning of Logistic Regression

Andrew I. Schein and Lyle H. Ungar


MS-CIS-04-08

Bayesian Example Selection using BaBiES

Andrew I. Schein,  S. Ted Sandler and Lyle H. Ungar
Active learning is widely used to select which examples from a pool

should be labeled to give best results when learning predictivemodels.  It is, however, sometimes desirable to choose examples beforeany labeling or machine learning has occurred.  The optimal experimentaldesign literature has many theoretically attractive optimality criteria for example selection,but most are intractable when working with large numbers of predictive features.  We present the BaBiES criterion,an approximation of Bayesian A-optimal design for linear regressionusing binary predictors, which is both simple and extremely fast. Empirical evaluations demonstrate that, in spite of selecting all examples prior to learning, BaBiES is competitive with standard active learningmethods for a variety of document classification tasks.


 

MS-CIS-04-09

Amir Roth
A store queue (SQ) is a critical component of the load execution machinery. High ILP processors require high load execution bandwidth, but providing high bandwidth SQ access is difficult. Address banking, which works well for caches, conflicts with age-ordering which is required for
the SQ and multi-porting exacerbates the latency of the associative searches that load execution requires.

In this paper, we present a new high-bandwidth load-store unit design that exploits the predictability of forwarding behavior. To start with, a simple predictor filters loads that are not likely to require forwarding from accessing the SQ enabling a reduction in the number of associative ports.  A subset of the loads that do not access the SQ are re-executed prior to retirement to detect over-aggressive filtering and train thepredictor. A novel adaptation of a Bloom filter keeps the re-execution
subset minimal. Next, the same predictor filters stores that don't forward values to nearby loads from the SQ enabling a substantial capacity reduction. To enable this optimization and maintain in-order store retirement, we add a second SQ that contains all stores, but only to retirement and Bloom filter management; this queue is large but isn't associatively searched. Finally, to boost both load and store filtering and to handle programs with heavy forwarding bandwidth requirements we add a second, address-banked forwarding structure that handles "easy" forwarding instances, leaving the globally-ordered SQ to handle only "tricky" cases. Our design does not directly address load queue scalability, but does dovetail with a recent proposal that also uses re-execution to tackle this issue.

Performance simulations on SPEC2000 and MediaBench benchmarks show that our design comes within 2% (7% in the worst case) of the performance of an ideal multi-ported SQ, using only a 16-entry queue with a single associative lookup port.

 

MS-CIS-04-10

Ameesh Makadia and Kostas Daniilidis

Robotic navigation algorithms increasingly make use of the panoramic field of view provided by omnidirectional images toassist with localization tasks.  Since the images taken by a particular class of omnidirectional sensors can be mapped to the sphere, the problem of attitude estimation arising from 3D motions of the camera can be treated as a problem of estimating the camera motion between spherical images. This problem has traditionally been solved by tracking points or features between images.  However, there are many natural scenes where the features cannot be tracked with confidence.  We present an algorithm that uses image features to estimate ego-motion without explicitly searching for correspondences.  We formulate the problem as a correlation of functions defined on the product of spheres (S^2 x S^2) which are acted upon by elements of the direct product group (SO(3) x SO(3)).  We efficiently compute this correlation and obtain our solution using the spectral information of functions in (S^2 x S^2).


 

MS-CIS-04-11

A Design for Type-Directed Programming in Java (Extended Version)

Stephanie Weirich and Liang Huang

 

MS-CIS-04-12

A Learnable Spectral Memory Graph for Recognition and Segmentation

Timothee Cour, Jianbo Shi
Image segmentation is often treated as an unsupervised task. Segmentation by human, in contrast, relies heavily on memory to produce an object-like clustering, through a mechanism of controlled hallucination. This paper presents a learning algorithm for memory-driven object segmentation and recognition. We propose a general spectral graph learning algorithm based on gradient descent in the space of graph weight matrix using derivatives of eigenvectors. The gradients are efficiently computed using the theory of implicit functions. This algorithm effectively learns a graph network capable of memorizing and retrieving multiple patterns given noisy inputs. We demonstrate the validity of this approach on segmentation and recognition tasks, including geometric shape extraction, and hand-written digit recognition.

 

MS-CIS-04-13

in Polygonal Environments

Calin Belta, Volkan Isler and George J. Pappas
In this paper we present a theoretical and computational framework for automatic generation of provably correct control laws for planar robots in polygonal environments. Using triangulation and

discrete abstractions, we map continuous motion planning and control problems to computationally inexpensive finite statetransition systems. In this framework, powerful discrete and/or probabilistic planning algorithms in topologically complicated environments can be seamlessly linked to automatic generation of control laws for robots with non-trivial kinematics or dynamics and control bounds. While the algorithms that we developed are quite general, we focus on fully-actuated kinematic robots with velocity bounds, double integrators with velocity and acceleration bounds, and (under-actuated) unicycles with forward and turning speed bounds.


 

MS-CIS-04-14

Seeing Through Water

Alexei Efros, Volkan Isler, Jianbo Shi and Mirko Visontai
We consider the problem of recovering an underwater image distorted by surface waves.  A large amount of video data of the distorted image is acquired and the problem is posed in terms of understanding the statistics

of local patches in the image plane.This challenging reconstruction task can be formulated as a manifold learning problem, such that the center of the manifold is the image of the undistorted patch.  To compute the center, we present a new technique to estimate global distances on the manifold.Our technique achieves robustness through convex flow computations and solves the ``leakage" problem inherent in recent manifold embedding techniques.


 

MS-CIS-04-15

Combinators for Bi-Directional Tree Transformations: A Linguistic Approach to the View Update Problem

Nathan Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, and Alan Schmitt

 

MS-CIS-04-16

Designing a Security-typed Language with Certificate-based Declassification

Stephen Tse and Steve Zdancewic

This paper presents the design of a programming language that supports information-flow security policies and certificate-based declassification.

The language uses monadic information-flow annotations in the style of Abadi et al.'s dependency core calculus, and has an effects system and fixpoints. The type system conflates security concepts such as labels, principals, and privileges with abstract types, allowing a uniform treatment of lattice structures throughout the language. Myers' and Liskov's decentralized label model is encoded using type constructors that describe confidentiality and integrity policies, and label refinements and principal groups follow naturally from intersection and union types. Singleton types, combined with bounded universal and existential quantifications connect the type system with public-key infrastructures whose digital certificates provide authorization for privileged operations such as declassification. These features allow specification of security policies in term of dynamic entities such as run-time user identities and file access permissions.

Besides showing that the language is sound, we present a security theorem that generalizes standard noninterference to account for information flows introduced by declassification. Although this result gives only a coarse approximation to the information potentially leaked, it captures our intuitions about certificate-based declassification.


 

MS-CIS-04-17

Typed Intermediate Languages

Stephen Tse

Programs written in a typed language are guaranteed to satisfy the safety properties of the type system without runtime checks. A type system for an intermediate language allows static verification of safety properties independent of source languages, and opens up opportunities for advanced compiler optimizations.

This paper surveys three major intermediate languages: Java bytecode, typed assembly language and proof-carrying code. Java bytecode requires minimal type annotation but sophisticated verification algorithms. Typed assembly language permits low-level constructs such as registers and instruction blocks, yet still enforces control-flow safety and memory safety. Proof-carrying code provides a general framework for any safety properties definable in a
meta-logical framework.

We motivate the use of typed intermediate languages, illustrate the type systems of the three languages mentioned above with examples, and compare their tradeoffs of expressiveness versus complexity.  Additionally, we assess the impact of the three languages and identify research directions for future work.


 

MS-CIS-04-18

Discovering Communities through Information Structure and Dynamics:

A Review of Recent Research

Nick Montfort

 

MS-CIS-04-19

Finding Matchings in the Streaming Model

Andrew McGregor
This report presents algorithms for finding large matchings in the streaming model. In this model, applicable when dealing with massive graphs, edges are streamed-in in some arbitrary order rather than residing in randomly accessible memory. For epsilon>0, we achieve a 1/(1+epsilon) approximation for maximum cardinality matching and a 1/(2+epsilon) approximation to maximum weighted matching. Both algorithms use a constant number of passes.

 

MS-CIS-04-20

Compositional Real-Time Scheduling Framework

Insik Shin and Insup Lee

 

MS-CIS-04-21

Conditional Random Fields: An Introduction

Hanna M. Wallach

 

MS-CIS-04-22

Making 3D Binary Digital Images Well- Composed

Marcelo Siqueira, Longin J. Latecki, Jean Gallier

A 3D binary digital image is said to be well-composed if and only if the set of points in the faces shared by the voxels of foreground and background points of the image is a surface in R3. Well-composed images enjoy important topological and geometric properties; in particular, there is only one type of connected component in any well-composed image, as 6-, 14-, 18-, and 26-connected components are equal. This implies that several algorithms used in computer vision, computer graphics, and image processing become simpler. For example, thinning algorithms do not suffer from the irreducible thickness problem if the image is well-composed. In this report, we introduce a new randomized algorithm for making 3D binary digital images that are not well-composed into well-composed ones, analyze its time complexity, and present experimental evidence of its effectiveness when faced with practical medical imaging data. We also introduce a new approach to extract simplicial surfaces from 3D binary images, which is based on our algorithm for making 3D binary digital images well-composed. We show that the extraction of simplicial surfaces from well-composed images using the Marching Cubes (MC) algorithm or some octree-based algorithms can be simplified, as only six out of the fourteen canonical configurations of cube-isosurface intersection can occur. Moreover, the continuous analog of the digital boundary of the input well-composed image and the MC surface are guaranteed to be topologically equivalent.


MS-CIS-04-23

XML Goes Native: Run-time Representations for Xtatic
Vladimir Gapeyev, Michael Y. Levin, Benjamin C. Pierce, and Alan Schmitt


XTATIC is a lightweight extension of C# offering native support for statically typed XML processing. XML trees are built-in values in XTATIC, and static analysis of the trees created and manipulated by programs is part of the ordinary job of the typechecker. "Tree grep" pattern matching is used to investigate and transform XML trees.

XTATIC's surface syntax and type system are tightly integrated with those of C#. Beneath the hood, however, an implemention of XTATIC must address a number of issues common to any language supporting a declarative style of XML processing (e.g., XQUERY, XSLT, XDUCE, CDUCE, XACT, XEN, etc.). In particular, it must provide representations for XML tags, trees, and textual data that use memory efficiently, support efficient pattern matching, allow maximal sharing of common substructures, and permit seperate compilation. We analyze these representation choices in detail and describe the solutions used by the XTATIC complier.


MS-CIS-04-24

The Xtatic Experience
Vladimir Gapeyev, Michael Y. Levin, Benjamin C. Pierce, and Alan Schmitt

XTATIC is a lightweight extension of C# with native support for statically typed XML processing. It features XML trees in built-in values, a refined type system based on regular types in the style of XDUCE, and "tree grep" - style regular patterns for traversing and manipulating XML.

Previous papers on XTATIC have reported results on a number of specific technical issues: basic theoretical properties of an idealized core language, novel compilation algorithms for regular pattern matching, and efficient runtime support for XML procesing in the style encouraged by XTATIC. The aim of the present paper is to discuss XTATIC - less formally and more holistically - from the perspective of language design. We survey the most significant issues we faced in the design process and evaluate the choices we have made in addressing them.


MS-CIS-04-25

Paths into Patterns
Vladimir Gapeyev and Benjamin C. Pierce

The XML Path Language (XPATH) is an industry standard notation for addressing parts of an XML document. It is supported by many XML processing libraries and has been used as the foundation for several dedicated XML processing languages. Regular patterns, an alternative way of investigating and destructing XML documents, were first proposed in the XDUCE language and feature in a number of its descendants.

The processing styles offered by XPATH and by regular patterns are each quite convenient for certain sorts of tasks, and the designer of a future XML processing language might well like to provide both. The designer might wonder, however, to what extent these mechanisms can be based on a common foundation. Can one be implemented by translating it into the other? Can aspects of both be combined into a single notation?

As a first step toward addressing these questions, we show in this paper that a language closely related to the "downward axis" fragment of XPATH can be accurately translated into ambiguous XDUCE-style regular patterns with a "collect all matches" interpretation.


MS-CIS-04-26

An Open and Shut Typecase (Extended Version)
Dimitrios Vytiniotis, Geoffrey Washburn, Stephanie Weirich


MS-CIS-04-27

A Bisimulation for Type Abstraction and Recursion
Eijiro Sumii and Benjamin C. Pierce


MS-CIS-04-28

RENO: A Rename-Based Instruction Optimizer
Vlad Petric, Tingting Sha, Amir Roth

The effectiveness of static code optimizations--including static optimizations performed "just-in-time"--is limited by some basic constraints: (i) a limited number of logical registers, (ii) a function-or region-bounded optimization scope, and (iii) the requirement that transformations be valid along all possible paths.

RENO is a modified MIPS-R10000 style register renaming mechanism augmented with physical register reference counting that uses map-table "short-circuiting" to implement dynamic versions of several well-known static optimizations: move elimination, common subexpression elimination, register allocation, and constant folding. Because it implements these optimizations dynamically, RENO can overcome some of the limitations faced by static compilers and apply optimizations where static compilers cannot. RENO has many more registers at its disposal--the entire physical register file. Its optimizations naturally cross function or any other compilation region boundary. And RENO performs optimizations along the dynamic path without being impacted by other, non-taken paths. If the dynamic path proves incorrect due to mispeculations, RENO optimizations are naturally rolled back along with the code they optimize.


MS-CIS-04-29

Store Vulnerability Window (SVW): Re-Execution Filtering for Enhanced Load/Store Optimization
Amir Roth

A high-bandwidth, low-latency load-store unit is a critical component of a dynamically scheduled processor. Unfortunately, it is also one of the most complex and non-scalable components. Recently, several researchers have proposed techniques that simplify the core load-store unit and improve its scalability in exchange for the in-order pre-retirement re-execution of some subset of the loads in the program..We call such techniques load/store optimizations. One recent optimization attacks load queue (LQ) scalability by replacing the expensive associative search that is used to enforce intra- and inter- thread ordering with load re-execution. A second attacks store queue (SQ) scalability by speculatively filtering some load accesses and some store entries from it. The speculatively accessed, speculatively populated SQ can be made smaller and faster, but load re-execution is required to verify the speculation. A third uses a hardware table to identify redundant loads and skip their execution altogether. Redundant load elimination is highly accurate but not 100%, so re-execution is needed to flag false eliminations.

Unfortunately, the inherent benefits of load/store optimizations are mitigated by re-execution itself. Re-execution contends for cache bandwidths with store retirement, and serializes load re-execution with subsequent store retirement. If a particular technique requires a sufficient number of load re-executions, the cost of these re-executions will outweigh the benefits of the technique entirely and may even produce drastic slowdowns. This is the case for the SQ technique.

Store Vulnerability Window (SVW) is a new mechanism that reduces the re-execution requirements of a given load/store optimization significantly, by an average of 85% across the three load/store optimizations we study. This reduction relieves cache port contention and removes many of the dynamic serialization events that contribute the bulk of re-execution's cost, and allows these techniques to perform up to their full potential. For the scalable SQ optimization, this means the chnace to perform at all. Without SVW, this technique posts significant slowdowns. SVW is a simple scheme based on monotonic store sequence numbering and a novel application of Bloom Filtering. The cost of an effective SVW implementation is a 1KB buffer and an 2B field per LQ entry.


MS-CIS-04-30

Efficient Algorithms for k-best Deductive Parsing
Liang Huang and David Chiang (Univ. of Maryland, College Park)


MS-CIS-04-31

Efficiently Storing and Extracting Phylogenetic Trees for Simulation
Susan B. Davidson, Junhyong Kim and Yifeng Zheng


MS-CIS-04-32

Hybrid Modeling and Experimental Cooperative Control of Multiple Unammned Aerial Vehicles
Selcuk Bayraktar, Georgios E. Fainekos and George J. Pappas

Recent years have seen rapidly growing interest in the development of networks of multiple unmanned aerial vehicles (U.A.V.s), as aerial sensor networks for the purpose of coordinated monitoring, surveillance, and rapid emergency response. This has triggered a great deal of research in higher levels of planning and control, including collaborative sensing and exploration, synchronized motion planning, and formation or cooperative control. In this paper, we describe our recently developed experimental testbed at the University of Pennsylvania, which consists of multiple, fixed-wing UAVs. We describe the system architecture, software and hardware components, and overall system integration. We then derive high-fidelity models that are validated with hardware-in-the-loop simulations and actual experiments. Our models are hybrid, capturing not only the physical dynamics of the aircraft, but also the mode switching logic that supervises lower level controllers. We conclude with a description of cooperative control experiments involving two fixed-wing UAVs.


 
 
CIS Home divider Penn Engineering divider PENN   spacer
  Send comments on this page to