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.
To get on the class mailing list, use Mailman to subscribe to csl-sem.
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.
(You can check out what we did last semester here.)
|1||1/11||—||Eide||no meeting — organizational email|
|2||1/18||a few reversible debuggers||Eide||Reversible
Paul Brook and Daniel Jacobowitz.
In GCC Developers'
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.
Scriptable Time-Travel Debugging with First Class Traces.
Khoo Yit Phang et al.
Submitted for publication,
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,
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
Michael T. Goodrich et al.
In VLDB '12,
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
Zhichun Li et al.
In SIGCOMM '10,
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,
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,
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
Wyatt Lloyd et al.
In SOSP '11,
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
Sudarshan M. Srinivasan et al.
In USENIX '04,
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,
Stochastic Forecasts Achieve High Throughput and Low Delay over Cellular Networks. Keith Winstein et al. In NSDI '13, Apr. 2013. To appear.
Model Checking with Property Driven Pruning to Detect Race
Chao Wang et al.
In ATVA '08,
Detecting and Surviving Data Races using Complementary Schedules. Kaushik Veeraraghavan et al. In SOSP '11, Oct. 2011.
of Mutable Replay for Automated Regression Testing of Security
Ilia Kravets and Dan Tsafrir.
In RESoLVE '12,
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.
Upcoming and recent conference proceedings are good sources of papers for discussion. Below are links to some relevant conference series.