CS 7934 — Computer Systems Seminar, Spring 2013
Fridays, 2:00–3:30 PM, 3485 MEB
Organizer:
Eric Eide
Overview
The spring 2013 offering of CS 7934 will cover a variety of systems
topics, with an eye toward three goals.
The first is to increase participants' understanding of reversible
and “time-traveling” debugging. A reversible debugger
allows a person to step a program both forward and backward in time.
The power to move backward in time is extremely powerful. For example, if a
programmer finds that a variable contains an incorrect value, he or she can
run the program backwards to the execution point at which the variable was
most recently written. Reversibility has been implemented at multiple
granularities including language runtimes, process boundaries, and
hardware-level virtual machines. We will study recent research publications
about the implementation of reversible debuggers and their application to
challenging systems-relevant problems including concurrency, performance, and
security.
The second is to be a venue for student presentations. Every
student participating in the seminar will be required to lead at least one
meeting during the semester.
This may be a “formal” research presentation—ideally of a
student's current work—or it may be an analysis of the research papers
chosen for a seminar meeting.
The third is to stay abreast of papers from recent and imminent
top-tier systems conferences: e.g., SOSP, OSDI, NSDI, SIGCOMM, FAST,
systems-related security conferences, and so on. Papers will be selected for
their relevance to participants' research or upcoming Utah visitors.
CS 7934 is often called “the CSL seminar.”
The name CSL is historic.
Mailing list
To get on the class mailing list, use Mailman to subscribe to csl-sem.
Credit
We strongly urge students to sign up for one credit if you're going to be
attending anyway. Although the course is listed as “variable
credit,” the course is only available for one (1) credit in all
but the most exceptional circumstances. If you want to take the course for
more than one credit, you must request and receive approval from the
instructor.
Those taking the course for credit must read all of the papers, submit a
short summary of each paper prior to class (PDF, Postscript, LaTeX), participate in each discussion, and make at
least one research presentation.
A summary must consist of a student's original work.
Unattributed copying of material from the papers being discussed or other
sources is plagiarism as will be treated as such.
Schedule
(You can check out what we did last semester here.)
Week |
Date |
Topic(s) |
Facilitator(s) |
Paper(s) |
1 |
1/11 |
— |
Eide |
no meeting — organizational email |
2 |
1/18 |
a few reversible debuggers |
Eide |
Reversible
Debugging.
Paul Brook and Daniel Jacobowitz.
In GCC Developers'
Summit '07,
Jul. 2007.
Efficient Algorithms
for Bidirectional Debugging.
Bob Boothe.
In PLDI '00,
Jun. 2000.
Supplementary:
URDB: A Universal
Reversible Debugger Based on Decomposing Debugging Histories.
Ana-Maria Visan et al.
In PLOS '11,
Oct. 2011. |
3 |
1/25 |
scriptable debugging |
Johnson |
Expositor:
Scriptable Time-Travel Debugging with First Class Traces.
Khoo Yit Phang et al.
Submitted for publication,
Aug. 2012.
A Dataflow
Language for Scriptable Debugging.
Guillaume Marceau et al.
In ASE '04,
Sep. 2004.
Supplementary:
MzTake: A
Scriptable Debugger.
Jonathan Spiro et al.
Aug. 2004. |
4 |
2/1 |
systems potpourri |
Burtsev |
Fast Crash
Recovery in RAMCloud.
Diego Ongaro et al.
In SOSP '11,
Oct. 2011.
CDE:
Run Any Linux Application On-Demand Without Installation.
Philip Guo.
In LISA '11,
Dec. 2011.
Supplementary:
BURRITO:
Wrapping Your Lab Notebook in Computational Infrastructure.
Philip Guo et al.
In TaPP '12,
Jun. 2012. |
5 |
2/8 |
verifiable distributed algorithms |
Van der Merwe |
Efficient
Verification of Web-Content Searching Through Authenticated Web
Crawlers.
Michael T. Goodrich et al.
In VLDB '12,
Jun. 2012.
MOMMIE
Knows Best: Systematic Optimizations for Verifiable Distributed
Algorithms.
Petros Maniatis et al.
In HotOS '11,
May 2011. |
6 |
2/15 |
scalable vulnerability detection |
Ricci |
NetShield:
Massive Semantics-Based Vulnerability Signature Matching for
High-Speed Networks.
Zhichun Li et al.
In SIGCOMM '10,
Aug.–Sep. 2010.
CHEX: Statically
Vetting Android Apps for Component Hijacking Vulnerabilities.
Long Lu et al.
In CCS '12,
Oct. 2012. |
7 |
2/22 |
— |
— |
no meeting — student research posters |
8 |
3/1 |
information flow |
Byrd and Keep |
Language-Based
Control and Mitigation of Timing Channels.
Danfeng Zhang et al.
In PLDI '12,
Jun. 2012.
Supplementary:
Precise Enforcement
of Progress-Sensitive Security.
Scott Moore et al.
In CCS '12,
Oct. 2012. |
9 |
3/8 |
replay on multiprocessors |
Burtsev |
ODR:
Output-Deterministic Replay for Multicore Debugging.
Gautam Altekar and Ion Stoica.
In SOSP '09,
Oct. 2009.
PRES: Probabilistic
Replay with Execution Sketching on Multiprocessors.
Soyeon Park et al.
In SOSP '09,
Oct. 2009. |
10 |
3/15 |
— |
— |
no meeting — University spring break |
11 |
3/22 |
geo-replicated storage |
Sun |
Don't Settle for
Eventual: Scalable Causal Consistency for Wide-Area Storage with
COPS.
Wyatt Lloyd et al.
In SOSP '11,
Oct. 2009.
Stronger
Semantics for Low-Latency Geo-Replicated Storage.
Wyatt Lloyd et al.
In NSDI '13,
Apr. 2013.
To appear. |
12 |
3/29 |
OS-based record and replay |
Nayak |
Flashback:
A Lightweight Extension for Rollback and Deterministic Replay for
Software Debugging.
Sudarshan M. Srinivasan et al.
In USENIX '04,
Jun.–Jul. 2004.
Transparent,
Lightweight Application Execution Replay on Commodity Multiprocessor
Operating Systems.
Oren Laadan et al.
In SIGMETRICS '10,
Jun. 2010. |
13 |
4/5 |
wireless transport protocols |
Nguyen |
TCP/IP Performance
over 3G Wireless Links with Rate and Delay Variation.
Mun Choon Chan and Ramachandran Ramjee.
In MobiCom '02,
Sep. 2002.
Stochastic
Forecasts Achieve High Throughput and Low Delay over Cellular
Networks.
Keith Winstein et al.
In NSDI '13,
Apr. 2013.
To appear. |
14 |
4/12 |
data-race detection |
Haran |
Dynamic
Model Checking with Property Driven Pruning to Detect Race
Conditions.
Chao Wang et al.
In ATVA '08,
Oct. 2008.
Detecting and
Surviving Data Races using Complementary Schedules.
Kaushik Veeraraghavan et al.
In SOSP '11,
Oct. 2011. |
15 |
4/19 |
mutable replay |
Raju |
Feasibility
of Mutable Replay for Automated Regression Testing of Security
Updates.
Ilia Kravets and Dan Tsafrir.
In RESoLVE '12,
Mar. 2012.
Transparent Mutable
Replay for Multicore Debugging and Patch Validation.
Nicolas Viennot et al.
In ASPLOS '13,
Mar. 2013. |
16 |
4/26 |
reversible computing |
Eide |
At 12:00 PM:
A Reversible
Programming Language and its Invertible Self-Interpreter.
Tetsuo Yokoyama and Robert Glück.
In PEPM '07,
Jan. 2007.
On Reversible
Subroutines and Computers that Run Backwards.
E. D. Reilly, Jr. and F. D. Federig.
CACM, 8(9),
Sep. 1965.
Supplementary:
Janus interpreter.
Poul J. Clementsen.
|
Potential Papers
Upcoming and recent conference proceedings are good sources of papers for
discussion. Below are links to some relevant conference series.
- Systems:
OSDI,
SOSP,
EuroSys,
HotOS,
SIGCOMM,
NSDI,
USENIX ATC,
SIGMETRICS,
SenSys,
FAST,
VEE
- Run-time verification:
RV,
WODA
- Security:
CCS,
IEEE Security and
Privacy,
USENIX
Security,
RAID,
NDSS,
HotSec,
ESORICS,
SECURWARE,
CSIIRW,
CSET,
VMSec,
Black Hat