Skip to main content

Research Group Meetings

Our research group meetings take place on Thursdays, 2-3pm in Room 218 in the Huxley Building  (unless stated otherwise).  If you would like to give a talk, please contact Eva Kalyvianaki.

2011-2012 Talks


May 10, 2012

WP 301

Amitabha Roy
University of Cambridge
Hybrid Binary Rewriting for Memory Access Instrumentation

May 04, 2012

WP 219A

Christian Stefansen
Google
Native Client - A Sandbox for Portable, Untrusted Native Code

May 03, 2012

WP 219A

Steve Uhlig
Queen Mary, University of London
An Infrastructure-oriented Perspective on Content Delivery in the Internet

April 26, 2012

WP 219A

Mirco Musolesi
University of Birmingham
Sensing, Understanding and Modelling People using Mobile Phones

April 19, 2012

WP 219A

Paul Grace
Lancaster University
The Quest for Future Proof Interoperability
March 29, 2012Graeme Jenkinson
BAE Systems
Secure Federated Services Architecture
March 15, 2012Dimitris Vytiniotis
Microsoft Research Cambridge
Automatic IO Filtering for Optimizing Cloud Analytics
March 9, 2011
Fri 2pm, 217
Evangelos Markatos
FORTH-ICS, University of Crete, Greece
Real-world Polymorphic Attack Detection
March 8, 2012Cristian Zamfir
EPFL
Data Races vs Data Race Bugs: Telling the Difference with Portend
Feb 2, 2012Darko Marinov
University of Illinois at Urbana-Champaign
IMUnit: Improved Multithreaded Unit Testing
Christmas Break
Dec 8, 2011Nishanth Sastry
King's College London
Cacheing in on Social Capital
Nov 30, 2011, 3-4pmPetr Hosek
Imperial College London
SafeWeb: A Middleware for Securing Ruby-based Web Applications
Nov 24, 2011Thomas Karagiannis
Microsoft Research Cambridge
Towards Predictable Datacenter Networks
Nov 22, 2011Petros Efstathopoulos
Symantec Research Lab
Building a High-performance Deduplication System
Nov 17, 2011Robert Watson
Cambridge University
Capsicum: Practical Capabilities for UNIX
Nov 10, 2011Rob Hierons
Brunel University
Distributed Testing
Nov 3, 2011Alastair Beresford
Cambridge University
MockDroid: Trading Privacy for Application Functionality on Smartphones
Oct 27, 2011Raul Castro
Imperial College London
iLAND: Middleware for Deterministic Dynamically Reconfigurable Networked Embedded Systems
Oct 20, 2011Gernot Heiser
Univ. of New South Wales
Towards Trustworthy Systems
Oct 14, 2011
Fri 11am
Diomidis Spinellis
Athens Univ. of Economics and Business
Farewell to Disks: Efficient Processing of Obstinate Data
Oct 12, 2011
Wed 4.30pm, 218
Luigi Rizzo
University of Pisa, Italy
Netmap: a novel framework for high speed packet I/O

2010-2011 talks

2009-2010 talks

2008-2009 talks

 


Spring 2012


 

Title: Hybrid Binary Rewriting for Memory Access Instrumentation
Speaker: Amitabha Roy  (University of Cambridge)
When: Thursday, 10/05/2012, time 2-3pm, ***William Penny Building, room 301***


Abstract: Memory access instrumentation is fundamental to many applications such as software transactional memory systems, profiling tools and race detectors. In this talk I present a technique to efficiently instrument memory accesses in x86 machine code to support software transactional memory and profiling. The two primary options in building such an instrumentation system are static and dynamic binary rewriting: the former instruments binaries at link time before runtime. Static binary rewriting offers extremely low overhead but is hampered by the limits of static analysis. Dynamic binary rewriting is able to use runtime information but typically incurs higher overhead. In this talk I discuss an alternative: hybrid binary rewriting. Hybrid binary rewriting is built around the idea of a persistent instrumentation cache (PIC) that is associated with a binary and contains instrumented code from it. It supports two execution modes when using instrumentation: active and passive modes. In the active execution mode, a dynamic binary rewriting engine (PIN) is used to intercept execution, and generate instrumentation into the PIC, which is an on-disk file. This execution mode can take full advantage of runtime information. Later, passive execution can be used where instrumented code is executed out of the PIC and uninstrumented code directly from the native binary, leading to overheads similar to that of static binary rewriting.

 

Short Bio:  Amitabha Roy is a post-doctoral researcher in Computer Architecture at the University of Cambridge. His core interests are inter-disciplinary between systems and computer architecture. He is currently working on a variety of topics, primarily reducing coherence overheads in chip multiprocessors and techniques for accelerating the storage and processing of large graphs. Amitabha obtained his PhD from the University of Cambridge in 2011. His PhD thesis described the design and construction of a software transactional memory runtime system for x86 machine code. Prior to starting his PhD, he worked at Intel on performance and correctness issues for the memory hierarchies of a range of microprocessors then in development. www.cl.cam.ac.uk/~ar481

 


Title: Native Client - A Sandbox for Portable, Untrusted Native Code
Speaker: Christian Stefansen  (Google)
When: Friday, 04/05/2012, time 2-3pm, ***William Penny Building, room 219A***

Abstract: Native Client is an open-source technology for running untrusted native code in web applications, with the goal of maintaining OS portability, ISA portability, and safety that people expect from web apps. Native Client uses static validation to achieve software fault isolation; and a specialized runtime to direct all system interaction and side effects through managed interfaces, notably PPAPI (Pepper). It supports performance-oriented features generally absent from web application programming environments, such as thread support, instruction set extensions such as SSE, and use of hand-coded assembler. We combine these properties in an open architecture designed to leverage existing web standards, and to encourage community review and 3rd-party tools. This talk will cover system desing, in particular the memory sandbox and the static validator, and touch upon recent efforts including JIT support and ISA portability (the Portable Native Client project).  For more information and resources see http://code.google.com/p/nativeclient

 

Short Bio:  Christian Stefansen works on the Native Client project at Google in Mountain View, CA. Prior to joining Google, he was a Postdoctoral Researcher at the University of Copenhagen, conducting research on Reactors, a declarative programming model for distributed computing, and on using process calculi, in particular CSP and $\pi$ calculus, to express financial contracts. Christian Stefansen received his M.Sc. and Ph.D. degrees from the University of Copenhagen. In 2004-05 he was a Fulbright Scholar at Harvard University. He also holds a degree in Business Administration from Copenhagen Business School.

 


Title: An Infrastructure-oriented Perspective on Content Delivery in the Internet
Speaker: Steve Uhlig (Queen Mary, University of London)
When: Thursday, 03/05/2012, time 2-3pm, ***William Penny Building, room 219A***

Abstract: With the recent deployment of data-centers across the Internet, more and more services, such as content delivery, are being delivered from massively distributed infrastructures. This ecosystem is difficult to measure and track, and despite the importance of understanding its evolution, not much is known about it. In this talk, we'll review the extent of the deployment of content delivery infrastructures in today's Internet and discuss the implications on the evolution of the Internet infrastructure.

Short Bio:  Steve Uhlig is the Professor of Networks at Queen Mary, University of London, and the head of the networks groups. He obtained a Ph.D. degree in Applied Sciences from the University of Louvain, Belgium, in 2004. From 2004 to 2006, he was a Postdoctoral Fellow of the Belgian National Fund for Scientific Research (F.N.R.S). His thesis won the annual IBM Belgium/F.N.R.S. Computer Science Prize 2005. Between 2004 and 2006, he was a visiting scientist at Intel Research Cambridge, UK, and at the Applied Mathematics Department of University of Adelaide, Australia. Between 2006 and 2008, he was with Delft University of Technology, the Netherlands. Prior to joining Queen Mary, he was a Senior Research Scientist with Technische Universitat Berlin/Deutsche Telekom Laboratories, Berlin, Germany. His current research interests revolve around Internet measurements, software-defined networking, content delivery, and network infrastructure virtualization.

 


Title: Sensing, Understanding and Modelling People using Mobile Phones
Speaker: Mirco Musolesi (University of Birmingham)
When: Thursday, 26/04/2012, time 2-3pm, ***William Penny Building, room 219A***

Abstract: Mobile phones are increasingly equipped with sensors, such as accelerometers, GPS receivers, proximity sensors and cameras, which can be used to sense and interpret people behaviour in real-time. Novel user-centered sensing applications can be built by exploiting the availability of such technologies in these devices that are part of our everyday experience. Moreover, data extracted from the sensors can also be used to model people behaviour and movement patterns providing a very rich set of multi-dimensional data, which can be extremely useful for social science, marketing and epidemiological studies.

In this talk I will present some of my recent work in this area including the design and implementation of the CenceMe platform, a system that supports the inference of activities and other presence information of individuals using off-the-shelf sensor-enabled phones and of EmotionSense, a system for supporting social psychology research. Finally, I will discuss the issues related to the design of energy-efficient social sensing systems.

Short Bio:  Dr. Mirco Musolesi is a Senior Lecturer at the School of Computer Science at the University of Birmingham. He received a PhD in Computer Science from University College London in 2007 and a Master in Electronic Engineering from the University of Bologna in 2002. From October 2005 to August 2007 he was a Research Fellow at the Department of Computer Science, University College London. Then, from September 2007 to August 2008 he was an ISTS Postdoctoral Research Fellow at Dartmouth College, NH, USA, and from September 2008 to October 2009 a Postdoctoral Research Associate at the Computer Laboratory, University of Cambridge. Before joining Birmingham, he was a Lecturer at the University of St. Andrews. His research interests lie in the broad area of networked systems with a current focus on intelligent mobile systems, social computing and network science. More information about his research profile can be found at the following URL: www.cs.bham.ac.uk/~musolesm

 


Title: The Quest for Future Proof Interoperability
Speaker: Paul Grace (Lancaster University)
When: Thursday, 19/04/2012, time 2-3pm, ***William Penny Building, room 219A***

Abstract: Over the history of distributed systems, a number of interoperability solutions have emerged both in terms of proposed standards for interoperability and solutions to bridging between standards. Distributed systems have, however continued to evolve and we particularly note two important trends: the dramatically increasing level of heterogeneity coupled by the increasing dynamism in contemporary distributed systems. The end result is that it is very difficult to achieve interoperability in any systematic way. Indeed, we can say that distributed systems are in crisis with no principled solutions to interoperability for such complex distributed systems of today, and highlights the role of emergent middleware as a possible solution to this problem. Emergent middleware is an interoperability solution whereby the required connectivity is generated at run-time to match the current context and requirements. A models@runtime approach is put forward as a solution towards achieving the run time generation of middleware; and in particular the Starlink software framework is investigated. Finally, the talk also considers the potential role of ontologies in supporting meaning and reasoning in the connection of networked services.

Short Bio:  Paul Grace is a senior research associate in the School of Computing and Communications at Lancaster University; he has previously spent time working as a research scientist at Katholieke Universiteit Leuven. At Lancaster, he's currently working on the Connect project investigating dynamic interoperability solutions in complex distributed systems. His research interests are in distributed systems architecture and middleware, adaptive software solutions, and the application of model-driven engineering in systems software. He received his PhD from Lancaster in 2004, an MSc from the same institution in 2000 and a BSc from the University of York in 1999.

 


Title: Secure Federated Services Architecture 
Speaker: Graeme Jenkinson (BAE Systems)
When: Thursday, 29/03/2012, time 2-3pm, Huxley Building, room 218

Abstract: Service Oriented Architecture (SOA) is a paradigm for organizing and utilizing distributed capabilities that may be under the control of different ownership domains. SOA's powerful framework for matching capabilities with a user's or computer agent's needs promotes technical interoperability and manageable growth of large-scale enterprise systems.

SOA differs significantly from the tightly coupled systems where policy based access control models are commonly employed. For example, SOA typically crosses administrative domains, has large numbers of software components and users and has no single party in control.

Authorization Based Access Control (ZBAC) is an access control model developed at HP labs to meet the specific demands of SOA. This talk describes the integration of ZBAC into a secure information sharing architecture that embraces the responsibility to share information.

 

Short Bio:  Graeme Jenkinson is a Principal Engineer at BAE Systems Advanced Technology centre in Chelmsford UK. Graeme is the Technical Lead for the 'Security in Networked Enabled Capability (NEC)' research theme.


 

Title: Automatic IO Filtering for Optimizing Cloud Analytics 
Speaker: Dimitrios Vytiniotis (Microsoft Research Cambridge)
When: Thursday, 15/03/2012, time 2-3pm, Huxley Building, room 218

Abstract: Hadoop is a popular framework for processing large databases. Many Hadoop jobs are very selective and operate on just a fraction of their input data, which can often be unstructured (for instance text files). In such scenarios it is impossible to apply out-of-the-box database optimizations. In this project at MSRC we have used static analysis techniques to examine the (executable bytecode of the) map phase of a job and automatically extract a filter that identifies interesting "rows" and "columns" of the input data. Instead of sending all data from the storage to the compute cluster, we automatically identify and send only the subset of interest. Our automatically-generated filters are purely an optimization: they soundly approximate the set of interesting data, they are side-effect free (where mappers need not be), and can be killed or restarted on demand. Using our filters on example jobs, we have reduced network overheads by a factor of 5, and job completion times by a factor of 3 to 4 for certain jobs. In this talk I will emphasize on the static analysis part, and show how the domain of Hadoop map jobs makes a great fit for a very simple to implement, cheap to run, and effective in terms of improving hob-completion times static analysis.  

Short Bio:  Dimitrios is a researcher in the Programming Principles and Tools group at Microsoft Research Cambridge, traditionally working in the areas of programming languages theory and implementation, type systems, theorem proving, semantics, functional programming, and -- of course -- Haskell, where he is involved in the design and implementation of the constraint solver for GHC's type inference engine. He has lately been exploring program analyses and programming language techniques for optimizing programs in data centers. Before joining MSRC, Dimitrios completed his PhD on Programming Languages at the University of Pennsylvania.

 


 

Title: Real-world Polymorphic Attack Detection 
Speaker: Evangelos Markatos (FORTH-ICS and University of Crete, Greece)
When: ***Friday***, 09/03/2012, time 2-3pm, Huxley Building, room 217

Abstract: As state-of -the-art attack detection technology becomes more prevalent, attackers have started to employ evasion techniques such as code obfuscation and polymorphism to defeat existing defenses. We have recently proposed network-level emulation, a heuristic detection method that scans network traffic to detect polymorphic attacks. Our approach uses a CPU emulator to dynamically analyze every potential instruction sequence in the inspected traffic, aiming to identify the execution behavior of certain malicious code classes, such as self-decrypting polymorphic shellcode. In this work, we present results and experiences from deployments of network-level emulation in production networks. After more than a year of continuous operation, our prototype implementation has captured more than a million attacks against real systems, while so far has not resulted to any false positives. The observed attacks employ a highly diverse set of exploits, often against less widely used vulnerable services, and in some cases, sophisticated obfuscation schemes.

Short Bio:  Prof. Evangelos Markatos received his diploma in Computer Engineering from the University of Patras in 1988, and the M.Sc. and Ph.D. degrees in Computer Science from the University of Rochester, NY in 1990 and 1993 respectively. Since 1992, he collaborates with the Institute of Computer Science of the Foundation for Research and Technology - Hellas (ICS-FORTH) where he is the founder and head of the Distributed Computing Systems Laboratory. He conducts research in several areas including distributed and parallel systems, the World-Wide-Web, Internet Systems and Technologies, as well as Computer and Communication Systems Security. He has been the project manager of the LOBSTER and NoAH projects, both funded in part by the European Union and focusing on developing novel approaches to network monitoring and network security. He is currently the project manager of the i-code and SysSec projects. Since 1992, he has also been affiliated with the Computer Science Department of the Univeristy of Crete, where he is currently a full Professor.

 


 

Title: Data Races vs Data Race Bugs: Telling the Difference with Portend
Speaker: Cristian Zamfir  (EPFL)
When: Thursday, 8/3/2012, 2-3pm, Huxley Building, room 218
(hosted jointly by the SRG and the LSDS groups)

Abstract: Even though most data races are harmless, the harmful ones are at the heart of some of the worst concurrency bugs. Alas, spotting just the harmful data races in programs is like finding a needle in a haystack: 76%-90% of the true data races reported by state-of-the-art race detectors turn out to be harmless.

We present Portend, a tool that not only detects races but also automatically classifies them based on their potential consequences: Could they lead to crashes or hangs? Alter system state? Could their effects be visible outside the program? Are they harmless? Our proposed technique achieves high accuracy by efficiently analyzing multiple paths and multiple thread schedules in combination, and by performing symbolic comparison between program outputs.  

We ran Portend on 7 real-world applications: it detected 93 true data races and correctly classified 92 of them, with no human effort. 6 of them are serious harmful races. Portend's classification accuracy is up to 88%, higher than that of existing tools, and it produces easy-to-understand evidence of the consequences of harmful races, thus both providing their harmfulness and making debugging easier. We envision using Portend for testing and debugging, as well as for automatically triaging bug reports.

Short Bio:  Cristian Zamfir is a 4th year PhD student in the School of Computer and Communication Sciences at EPFL, Switzerland, where he is part of the Dependable Systems Lab led by George Candea. He received his B.S. in Computer Engineering from University Politehnica of Bucharest and M.S. from University of Glasgow. His current research focuses on techniques for automated debugging of concurrent software.

 


Winter 2012


 

Title: IMUnit: Improved Multithreaded Unit Testing
Speaker: Darko Marinov  (University of Illinois at Urbana-Champaign)
When: Thursday, 2/2/2012, 2-3pm, Huxley Building, room 218
(hosted jointly by the SRG and the LSDS groups)

Abstract: Multithreaded code is getting increasingly important but remains extremely hard to develop and test. Most recent research on testing multithreaded code focuses solely on finding bugs in one given version of code. While there are many promising results, the tools are fairly slow because they explore a large number of thread schedules and do not exploit the fact that code evolves through several versions during development and  maintenance. Our overarching goal is to improve (regression) testing of multithreaded code. 

This talk focuses on a novel approach to specifying and executing schedules for multithreaded tests. Traditionally, developers enforce a particular schedule with time delays, e.g., using Thread.sleep in Java. Unfortunately, this sleep-based approach can produce false positives or negatives, and can result in unnecessarily long testing time. We introduce a new language that allows specifying schedules as constraints on the events during test execution. We provide a tool that automatically controls the code to execute the specified schedule and a tool that helps developers to  migrate their legacy, sleep-based tests into event-based tests in our language. The latter tool uses new techniques for inferring events and schedules from the executions of sleep-based tests. We describe our experience in migrating over 200 tests. The inference techniques have high precision and recall, of over 75%, and our approach reduces testing time compared to sleep-based tests, on average 3.4x.

This is joint work with Milos Gligoric, Vilas Jagannath, Dongyun Jin, Qingzhou Luo, and Grigore Rosu.

Short Bio:  Darko Marinov (mir.cs.illinois.edu/~marinov) is an Associate Professor in the Department of Computer Science at the University of Illinois at Urbana-Champaign. His main research interests are in Software Engineering: improving software reliability using software testing and model checking for sequential, parallel, and distributed code. He has a lot of fun looking for software bugs. His work has been supported by IBM, Intel, Microsoft, NSF, and Samsung.

 


Autumn 2011


 

Title: Cacheing in on Social Capital
Speaker: Nishanth Sastry  (King's College London)
When: Thursday, 8/12/2011, 2-3pm, Huxley Building, room 217

Abstract: Are social networks useful in other computing contexts beyond the ubiquitous "share" buttons sprinkled all over the Web? This talk will introduce a simple cross-layer design methodology that applies information derived from the social network layer to adapt lower-layer network infrastructure. Multiple case studies will be presented, as time permits, that apply social network information to different network-layer problems including routing in opportunistic networks, delivering the long-tail of user-generated content, saving energy in storage subsystems and preventing spam. 

Short Bio:  Nishanth Sastry is a Lecturer at King's College London. He received his Bachelor's degree from R.V. College of Engineering, Bangalore University, Master's degree from University of Texas, Austin, and PhD from the University of Cambridge, all in Computer Science. Prior to Cambridge, he was at IBM Research, and before that with IBM Software Group. A long time ago, he wrote device drivers for ATM line cards at Cisco Systems.

 


Title: SafeWeb: A Middleware for Securing Ruby-based Web Applications
Speaker: Petr Hosek (Imperial College London)
When: Wednesday, 30/11/2011, ***3-4pm***, Huxley Building, room 217

Abstract: Web applications in many domains such as healthcare and finance must process sensitive data, while complying with legal policies regarding the release of different classes of data to different parties. Currently, software bugs may lead to irreversible disclosure of confidential data in multi-tier web applications. An open challenge is how developers can guarantee these web applications only ever release sensitive data to authorised users without costly, recurring security audits. 

Our solution is to provide a trusted middleware that acts as a "safety net" to event-based enterprise web applications by preventing harmful data disclosure before it happens. We describe the design and implementation of SafeWeb, a Ruby-based middleware that associates data with security labels and transparently tracks their propagation at different granularities across a multi-tier web architecture with storage and complex event processing. For efficiency, maintainability and ease-of-use, SafeWeb exploits the dynamic features of the Ruby programming language to achieve label propagation and data flow enforcement. We evaluate SafeWeb by reporting our experience of implementing a web-based cancer treatment application and deploying it as part of the UK National Health Service (NHS).

Short Bio:  Petr Hosek is a doctoral student in the Department of Computing at Imperial College London, where he works in the Software Reliability Group under the supervision of Dr. Cristian Cadar. His research interests include software engineering, security and reliability, with a focus on exploring ways to improve the software update process. He is a recipient of the Google Europe Fellowship in Software Engineering. He has an MSc and a BSc in Computer Science from Charles University in Prague, where he specialised in software engineering and dependable systems. Petr worked for five years as a software engineer in a small Prague-based software company, where he designed several custom information systems for clients in the oil industry.

 



Title: Towards Predictable Datacenter Networks
Speaker: Thomas Karagiannis (Microsoft Research Cambridge)
When: Thursday, 24/11/2011, 2-3pm, Huxley Building, room 217

Abstract: Network performance predictability is a key requirement for high-performance applications in today's multi-tenant datacenters. Online services running in infrastructure datacenters need such predictability to satisfy applications SLAs. Cloud datacenters require guaranteed performance to bound customer costs and spur adoption. However, the network stack used in today's datacenters is unaware of such application requirements. In this talk, I will describe how to provide predictability in datacentre networks across two different perspectives: latency and application performance.

Short Bio:  Thomas Karagiannis is a researcher with the Systems and Networking group of Microsoft Research Cambridge, UK. He received his Ph.D. degree in Computer Science from the University of California, Riverside and B.S. at the Applied Informatics department of the University of Macedonia, in Thessaloniki, Greece. Before joining Microsoft, he has also been with Intel Research and the Cooperative Association for Internet Data Analysis (CAIDA). He received the ACM SIGCOMM 2011 Honorable Mention Paper Award with Christo Wilson, Hitesh Ballani and Ant Rowstron. His research interests include datacenter networks, Internet measurements and monitoring, social networks, and peer-to-peer networks. 

 



Title: Building a High-performance Deduplication System
Speaker: Petros Efstathopoulos (Symantec Research Labs)
When: ***Tuesday, 22/11/2011***, 2-3pm, Huxley Building, room 218

Abstract: Modern deduplication has become quite effective at eliminating duplicates in data, thus multiplying the effective capacity of disk-based backup systems, and enabling them as realistic tape replacements. Despite these improvements, single-node raw capacity is still mostly limited to tens or a few hundreds of terabytes, forcing users to resort to complex and costly multi-node systems, which usually only allow them to scale to singledigit petabytes. As the opportunities for deduplication efficiency optimizations become scarce, we are challenged with the task of designing deduplication systems that will effectively address the capacity, throughput, management and energy requirements of the petascale age.

We present a high-performance deduplication prototype, designed at SRL from the ground up to to optimize overall single-node performance, by making the best possible use of a node's resources, and achieve three important goals: scale to large capacity, provide good deduplication efficiency, and new raw-disk throughput. We will also discuss the requirements and challenges in designing commercial large scale cloud deduplication system.

Short Bio:  Dr. Petros Efstathopoulos is a Sr. Principal Researcher at Symantec  Research Labs in Culver City, CA. He holds a Ph.D. degree in Computer Science from the University of California, Los Angeles (UCLA) and a B.Sc. degree in Electrical and Computer Engineering from the National Technical University of Athens, Greece (NTUA).

Since 2000 Dr. Efstathopoulos has been working on operating system kernel projects, mostly working with the Linux Kernel. During his Ph.D. he worked on the Asbestos operating system (designed and built from scratch) and introduced decentralized information flow control to contain the effects of bugs and provide improved security. His research interests include operating systems, security, information flow control, system management, virtualization, and file systems.

Dr. Efstathopoulos joined Symantec Research Labs in 2009 and is currently working on next-generation storage/backup systems, portable storage security, and mobile platform security.


Title: Capsicum: Practical Capabilities for UNIX
Speaker: Robert N. M. Watson (University of Cambridge)
When: Thursday, 17/11/2011, 2-3pm, Huxley Building, room 217

Abstract: Capsicum is a lightweight operating system capability and sandbox framework in FreeBSD 9. Capsicum extends, rather than replaces, UNIX APIs, providing new kernel primitives (snadboxed capability mode and capabilities) and a userspace sandbox API. These tools support compartmentalisation of monolithic UNIX applications into logical applications, an increasingly common goal supported poorly by discretionary and mandatory access control. We demonstrate our approach by adapting core FreeBSD utilities and Google's Chromium web browser to user Capsicum primitives, and compare the complexity and robustness of Capsicum with other sandboxing techniques. 

Short Bio:  Dr Watson is a security and operating systems researcher at the Computer Laboratory, University of Cambridge, where he leads research projects in experimental CPU and operating system design, introspective software models, automated program analysis, and cloud computing security. Previously, he was Senior Principal Scientist at SPARTA, Inc., and Senior Research Scientist at McAfee Research. His prior projects include development of the TrustedBSD MAC Framework, a flexible kernel access control framework now used in the FreeBSD, JunOS, Mac OS X, and Apple iOS operating systems. He is a member of the board of directors (and past president) of the FreeBSD Foundation.


Title: Distributed Testing
Speaker: Rob Hierons (Brunel University)
When: Thursday, 10/11/2011, 2-3pm, Huxley Building, room 217

Abstract: Some systems interact with their environment at several physically distributed interfaces, called ports, and when testing such a system it is normal to place a local tester at each port. If the local testers cannot interact with one another during testing and there is no global clock, then each local tester observes only the sequence of inputs and outputs at its interfaces (a local trace). This can make it impossible to reconstruct the global state that occurred. It can also lead to controllability and observability problems in testing. While there has been interest in test generation algorithms that overcome controllability and observability problems, such algorithms lack generality since it is not always possible. In addition, previous work has typically only considered the testing of deterministic systems based on deterministic models despite distributed systems often being non-deterministic. Crucially, if users are also affected by the restriction (only local traces are observed) then we should organise this in the implementation relations used. This talk will describe recent work that has explored implementation relations for such distributed systems in the context of testing from a possibly non-deterministic finite state machine and testing from an input output transition system. This work has the potential to lead to more general test generation algorithms for distributed systems.

Short Bio:  Rob Hierons received a BA in Mathematics (Trinity College, Cambridge), and a Ph.D. in Computer Science (Brunel University). He then joined the Department of Mathematical and Computing Sciences at Goldsmiths College, University of London, before returning to Brunel University in 2000. He was promoted to full Professor in 2003.


Title: MockDroid: Trading Privacy for Application Functionality on Smartphones
Speaker: Alastair Beresford (University of Cambridge)
When: Thursday, 3/11/2011, 2-3pm, Huxley Building, room 217

Abstract: MockDroid is a modified version of the Android operating system which allows a user to 'mock' an application's access to a resource. This resource is subsequently reported as empty or unavailable whenever the application requests access. This approach allows users to revoke access to particular resources at run-time, encouraging users to consider the trade-off between functionality and the disclosure of personal information whilst they use an application. Existing applications continue to work on MockDroid, possibly with reduced functionality, since existing applications are already written to tolerate resource failure, such as network unavailability or the lack of a GPS signal. 

Short Bio:  Alastair Beresford is currently an RCUK Academic Fellow at the University of Cambridge Computer Laboratory, and a Teaching Fellow at Robinson College. He read Computer Science as an undergraduate at Cambridge, and after graduation he worked as a researcher at BT Laboratories. He returned to Cambridge to study for a PhD in October 2000. Alastair's current research work explores privacy in distributed computing platforms, with a particular interest in mobile systems. More information is available on his home page:  www.cl.cam.ac.uk/~arb33

 


Title: iLAND: Middleware for Deterministic Dynamically Reconfigurable Networked Embedded Systems
Speaker: Raul Castro (Imperial College London)
When: Thursday, 27/10/2011, 2-3pm, Huxley Building, room 217

Abstract: iLAND is a cross-industry R&D project consisting of 9 organisations including Industries, SMEs and Universities. The high level objective of iLAND is to develop enabling technology and infrastructure of a modular component-based middleware for in-building Infrastructured NES that have strong needs for deterministic dynamic functional composition and reconfiguration. The goal is to improve system flexibility, scalability, and composability. Also, maintainability will be improved since spontaneous reconfiguration of the system will be supported. This will enable dynamic functionality reconfiguration (i.e., new node activation, removal of crashed or damaged nodes and reallocation of functionality, etc.).

Short Bio:  Raul is currently a full-time PhD student at LSDS group at Imperial College London. He previously worked in the Distributed Real-Time Systems group at University Carlos III of Madrid (UC3M). In the same university he got a MSc in Computer Science and the Inter-University MSc in Telematics Engineering from UC3M and Technical University of Catalonia (UPC). He is still involved in the iLAND project. Raul has been working on iLAND from the beginning of the project at University Carlos III of Madrid, in the group DREQUIEM. He is involved in some of the core tasks of the project as well as with the implementation plan of the middleware.

 


Title: Towards Trustworthy Systems
Speaker: Gernot Heiser (Univ. of New South Wales)
When: Thursday, 20/10/2011, 2-3pm, Huxley Building, room 217

Abstract: Computer systems are routinely deployed in life- and mission-critical situations, yet in most cases their security, safety or dependability cannot be assured to the degree warranted by the application. In other words, trusted computer systems are rarely trustworthy. 

We believe that this is highly unsatisfactory, and have embarked on a research problem aimed at bringing reality in line with expectations. In this talk describes NICTA's research agenda for achieving true trustworthiness in systems. The approach is based on establishing the trustworthiness of the lowest level of software, a small microkernel or hypervisor, and then using this platform to provide guarantees to complete systems built on top. A number of important steps in this direction have been achieved, specifically the formal proof of functional correctness of a complete OS microkernel, and subsequently the establishment of further properties, including timeliness and integrity enforcement. Work is progressing on making dependability guarantees for complete real-world systems, comprising millions of lines of code.

Short Bio:  Gernot Heiser is Scientia Professor and John Lions Chair of Operating Systems at the University of New South Wales (UNSW), and leads the Software Systems Research Group at NICTA, Australia's National Centre of Excellence for ICT Research. He joined NICTA at its creation on 2002, and before that was a full-time member of academic staff at UNSW from 1991. His past work include the Mungi single-address-space operating systems (OS), several un-broken records in IPC performance, and the best-ever reported performance for user-level device drivers.

In 2006, Gernot with a number of his students founded Open Kernel Labs, now the market leader in secure operating-systems and virtualization technology for mobile wireless devices. The company's OKL4 operating system, a descendent of L4 kernels developed by his group at UNSW and NICTA, is deployed in more than 1.6 billion mobile devices. This includes the Motorola Evoke, the first (and to date only) mobile phone running a high-level OS (Linux) and a modem stack on the same processor core.

In a former life, Gernot developed semiconductor device simulators and models of device physics for such simulators, and pioneered the use of three-dimensional device simulation for the characterisation and optimisation of high-performance silicon solar cells.


Title: Farewell to Disks: Efficient Processing of Obstinate Data
Speaker: Diomidis Spinellis (Athens Univ. of Economics and Business, Greece)
When: Friday, 14/10/2011, time 11am, Huxley Building, room 217

Abstract: Questions whose answer requires sophisticated processing of huge data sets come up increasingly often in our networked and interlinked, and (increasingly) DNA-sequenced world. Attacking such problems with traditional techniques, such as loading data into memory for processing or querying a relational database, is cumbersome and inefficient.  Data sizes are growing inexorably, while disk-based data structures and applications relying on them, optimized to handle sequential retrievals and relational joins, often prove inadequate for running complex algorithms.  Therefore, sophisticated processing of huge complex data sets requires us to rethink the relationship between disk-based storage and main-memory processing.

Some features of modern systems, namely 64-bit architectures, memory mapped sparse files, virtual memory, and copy on write support, allow us to process our data with readable and efficient RAM-based algorithms, using slow disks and filesystems only for their large capacity and to secure the data's persistence. I demonstrate this approach through a series of C++ programs that run on Wikipedia's data looking for matching words and links between unrelated entries.  Through these programs I will show how we can use STL containers, iterators, and algorithms to access disk-based data without performing any system calls.  Although RAM-based processing opens up again many problems that database systems already solve, I will argue that such processing is the right move, because it provides us with a unified programming and performance model for all our data operations irrespective of where the data resides.

Short Bio:  Diomidis Spinellis is a Professor in the Department of Management Science and Technology at the Athens University of Economics and Business, Greece.  Currently he is serving as the Secretary General for Information Systems at the Greek Ministry of Finance. His research interests include software engineering, computer security, and programming languages.  He has written the two award-winning Open Source Perspective books: Code Reading and Code Quality as well as dozens of scientific papers.  He is a member of the IEEE Software editorial board, authoring the regular Tools of the Trade column.  Dr. Spinellis has contributed code to the FreeBSD operating system and is the developer of UMLGraph and other open-source software packages, libraries, and tools.  He holds an MEng in Software Engineering and a PhD in Computer Science, both from Imperial College London.  Dr. Spinellis is senior member of the ACM and the IEEE and a member of the Usenix association.


Title: Netmap: a novel framework for high speed packet I/O
Speaker: Luigi Rizzo (University of Pisa, Italy)
When: ***Wednesday, 12/10/2011, 4.30pm, Huxley Building, room 218***

Abstract: Software packet processing at line rate is problematic both in userspace and within the kernel, due to the cost of managing in-kernel metadata, system calls and data copy. We present a novel framework, called netmap, that solves these challenges by integrating and extending good ideas from existing proposals, while at the same time providing a tight integration with existing operating system mechanisms. netmap takes as little as 70 clock cycles to move one packet between the wire and userspace processes-10-20 times faster than existing APIs. As an example, a single core running at 1 GHz can generate the 14.88Mpps that saturate a 10GigE interface. This efficiency is an enabling factor for doing high speed packet processing within the safe and feature-rich user space environment provided by modern operating systems. In the talk we will present our experience in developing and porting applications to the new API -a task made easy by the existence of a pcap compatibility library. Netmap is available on FreeBSD. Work supported by EU FP7 Project "CHANGE".

Short Bio:  Luigi Rizzo is an associate professor at the Dipartimento di Ingegneria dell'Informazione of the Universita` di Pisa, Italy. His recent works are on fast packet processing, packet scheduling, network emulation, disk scheduling. In previous years he worked on multicast, erasure coding, and multicast congestion control. In past years he has been a visiting researcher at ICSI, Intel Research Cambridge, Intel Research Berkeley. He has developed a few popular pieces of software including the dummynet network emulator, the ipfw firewall (both part of the Apple OSX operating system), a fast erasure code used in reliable multicast schemes. He has also developed several kernel subsystems which are part of the FreeBSD operating system.