The Distributed Components Research Group
The Distributed Components Research Group investigates tools, techniques,
and methodologies for the deployment of high-confidence distributed
systems. A theme of our work is sensitivity to the trade-off between
(i) the confidence in the correctness of a system and
(ii) the effort required to achieve this confidence.
Thus, the group focuses on
both the theoretical underpinnings for sound specification and
reasoning, as well as practical tools for application to
real systems.
A list of group members (current and recent) is
here.
Links to recent papers and talks are organized into 4 categories:
- "An Eventually Perfect Failure Detector on ADD Channels Using Clustering",
Rumreich and Sivilotti,
NETYS , May 2022.
[ paper ]
[ slides ]
- "On the Impossibility of Maximal Scheduling for Strong
Fairness with Interleaving"
Lang and Sivilotti,
ICDCS, June 2009.
[ paper ]
- "A Distributed Maximal Schedular for Strong Fairness"
Lang and Sivilotti,
DISC, Sept 2007.
[ paper ]
[ slides ]
- "The Impact of Laziness on the Performance of Snapshot Algorithms"
Liu and Sivilotti,
PDCS, Nov 2005.
[ paper ]
[ slides ]
- "Plausible Clocks with Bounded Inaccuracy"
Moore and Sivilotti,
DISC, Sept 2005.
[ paper ]
[ slides ]
- "Dining Philosophers with Crash Locality 1"
Pike and Sivilotti,
ICDCS, March 2004.
(Best Paper Award)
[ paper ]
- "Remote Belief: Preserving Volition for Loosely Coupled Processes"
Aydin and Sivilotti,
ICDCS, May 2003.
[ paper ]
[ slides ]
- "Lazy Snapshots"
Sridhar and Sivilotti,
PDCS, Nov 2002.
(Finalist for Best Paper Award)
[ paper ]
[ slides ]
- "A Paradigm for Component-Based Software Development
in a Distributed Environment"
Mascarenhas and Sivilotti,
PDPTA, June 2002.
[ paper ]
- "A New Distributed Resource-Allocation Algorithm with
Optimal Failure Locality"
Sivilotti, Pike, and Sridhar,
PDCS, Nov 2000.
[ paper ]
[ slides ]
- "A Class of Synchronization Systems that Permit the
Use of Large Atomic Blocks",
Sivilotti,
CASCON, Dec 1998.
(Best Paper Award)
[ paper ]
[ slides ]
- "A Cottage Industry of Software Publishing: Implications for
Theories of Composition"
Chandy, Sivilotti, and Kiniry,
FMPPTA, April 1998.
[ paper ]
- "Composing Processes Using Modified Rely-Guarantee Specifications"
Manohar and Sivilotti,
Caltech technical report CS-TR-96-22, June 1996.
[ paper ]
-
"Using Parse Tree Validation to
Prevent SQL Injection Attacks"
Buehrer, Weide, and Sivilotti,
International Workshop on Software Engineering and Middleware
at Joint FSE and ESEC, Sept 2005.
[ paper ]
[ slides ]
[ software ]
- "Increasing Client-Side Confidence in Remote Component Implementations"
Jagannathan and Sivilotti,
Joint FSE and ESEC, Sept 2001.
[ paper ]
[ slides ]
- "Object Protocols for Distributed Systems "
Krishnamurthy and Sivilotti,
Joint Workshop on Formal Specification of Computer-Based Systems
at ECBS, April 2001.
[ paper ]
[ slides ]
- "The Specification and Testing of Quantified Progress Properties in
Distributed Systems"
Krishnamurthy and Sivilotti,
ICSE, May 2001.
[ paper ]
[ slides ]
- "A Tool for Testing Liveness in Distributed Object Systems"
Giles and Sivilotti,
TOOLS USA, July 2000.
[ paper ]
- "Specifying and Testing the Progress Properties of
Distributed Components"
Sivilotti,
Workshop on Testing Distributed Components
at ICSE, May 1999.
[ paper ]
[ slides ]
- “Formal Verification of a Java Component Using the RESOLVE Framework”,
Rumreich and Sivilotti,
FroCoS, Sept 2021.
[ paper ]
[ slides ]
- “An Array Abstraction to Amortize Reasoning about Parallel Client Code”,
Weide, Sivilotti and Sitaraman,
Lecture Notes in Networks and Systems (LNNS) vol. 283, pp 346-362, July 2021.
[ paper ]
- "Enabling Modular Verification with Abstract Interference Specifications for a Concurrent Queue"
Weide, Sivilotti, and Sitaraman,
VSTTE 2016, July 2016.
[ paper ]
[ slides ]
- "Getting Out of the Way—Safety Verification without Compromise"
Pavlic, Peddi, Sivilotti, and Weide,
poster presented at Third International Conference on Cyber-Physical Systems (ICCPS)
as part of CPS Week 2012, April 2012.
[ abstract ]
[ poster ]
- "Verification of Smooth and Close Collision-Free Cruise Control"
Pavlic, Sivilotti, Weide, and Weide,
poster presented at Symposium on Control and Modeling: Cyber-Physical Systems, October 2011.
[ poster ]
- "Container-Based Component Deployment: A Case Study"
Sridhar, Hallstrom, and Sivilotti,
SEKE, July 2006.
[ paper ]
- "Encapsulating Concurrency as an Approach to Unification"
Kumar, Weide, Sivilotti, Sridhar, Hallstrom, and Pike,
SAVCBS at FSE, Nov 2004.
[ paper ]
[ slides ]
- "Designing the Control of a UAV Fleet with Model Checking"
Bohn, Sivilotti, and Weide,
Theory and Algorithms for Cooperative Systems, Fall 2004.
[ paper ]
- "A Container-Based Approach to Object-Oriented Product Lines"
Hallstrom, Sridhar, Sivilotti, Arora, Leal,
Journal of Object Technology, 3(4) April 2004.
[ paper ]
- "Using Model Checking to Find a Hidden Evader"
Bohn, Sivilotti, and Weide,
WASP, Oct 2003.
[ paper ]
- "The Specification of Distributed Objects:
Liveness and Locality"
Sivilotti and Giles,
CASCON, Nov 1999.
[ paper ]
[ slides ]
- "A World-Wide Distributed System Using Java and the Internet"
Chandy, Rifkin, Sivilotti, et al,
HPDC, Aug 1996.
(Best Paper Award)
[ paper ]
- "Toward High-Confidence Distributed Systems with Java:
Reliable Thread Libraries"
Sivilotti and Chandy,
ICSE, July 1996.
[ paper ]
- "A Verified Integration of Parallel Programming Paradigms in CC++"
Sivilotti,
IPPS, April 1994.
[ paper ]
- "A Method for the Specification, Composition, and Testing
of Distributed Object Systems"
Sivilotti,
Ph.D. thesis, available as Caltech technical report
CS-TR-97-31.
[ paper ]
-
"Integrating Components, Contracts, and Reasoning in CS Curricula with RESOLVE: Experiences at Multiple Institutions",
Bucci, Sivilotti, et al.
CSEE&T , November 2017.
[ paper ]
- "Kinesthetic Learning Activities in an Upper-Division Computer Science Course"
Sivilotti,
poster presented at the National Academy of Engineering's
Frontiers of Engineering Education symposium,
December 2010.
[ poster ]
- "Interfaces First (and Foremost) With Java"
Sivilotti and Lang,
SIGCSE, March 2010.
[ paper ]
[ slides ]
- "Scratching the Surface of Advanced Topics in Software Engineering:
A Workshop Module for Middle School Students"
Sivilotti and Laugel,
SIGCSE, March 2008.
[ paper ]
[ slides ]
[ materials ]
- "A Collection of Kinesthetic Learning Activities
for a Course on Distributed Computing:
ACM SIGACT News Distributed Computing Column 26"
Sivilotti and Pike,
ACM SIGACT News 38(2), June 2007.
[ paper ]
- "The Suitability of Kinesthetic Learning Activities
for Teaching Distributed Algorithms"
Sivilotti and Pike,
SIGCSE, March 2007.
[ paper ]
[ slides ]
- "Research, Teaching, and Service: The Miniconference as
a Model for CS Graduate Seminar Courses"
Sivilotti and Weide,
SIGCSE, March 2004.
[ paper ]
[ slides ]
- "Introducing Middle School Girls to Fault Tolerant Computing"
Sivilotti and Demirbas,
SIGCSE, Feb 2003.
[ paper ]
[ slides ]
[ resources ]
- "A Tutorial for CC++"
Sivilotti and Carlin,
available as Caltech technical report CS-TR-94-02.
[ paper ]
[ html ]