Seminar on Robustness of Hardware and Software Systems
Organizers
Jan Reineke, Andreas AbelSynopsis
In engineering, robustness has always been an important design goal: Structural robustness is defined as "the ability of a structure to withstand events like fire, explosions, impact or the consequences of human error, without being damaged to an extent disproportionate to the original cause." E.g. upon an earthquake, a building should not collapse. Similarly, robust control is a branch of control theory that explicitly deals with uncertainty in its approach to controller design. Informally, a controller designed for a particular set of parameters is said to be robust if it would also work well under a slightly different set of assumptions.
In computer science, systems have long been only considered as either correct or incorrect. Lately, several groups have started to study the robustness of hardware and software systems. In the work studied in this seminar, intuitively, a system is considered robust, if small changes in its inputs may incur only small changes in the system's outputs. Robustness is useful in multiple scenarios:
- In testing: if a system is robust, then a successful test run is indicative of the system's correct behavior not only on the particular test input, but also in its neighborhood.
- In verification, systems are shown to behave correctly under some assumption on their environment. Due to incomplete environment specifications, operator errors, faulty implementations, or other causes, the environment assumption may not always hold completely. In such a case, if the system is robust, ''small'' violations of the environment assumptions will, in the worst case, result in ''small'' deviations from correct behavior.
In this seminar, we will study recent work concerning both the analysis and synthesis of robust software and hardware systems.
Seminar Structure
During the semester we will meet once a week, each time discussing two papers. The discussion of each paper will start with a 30-minute presentation by one of the participants. In addition to the presenter, two students (in the following referred to as discussants) will prepare questions for each paper to aid the discussion.
The presenter and the two discussants should write a short, one-page summary of the week's paper including open questions and submit it to their advisor at least 2 days before the corresponding meeting.
Presenters should meet with their advisor at least two weeks prior to their presentation. They should provide a draft of their presentation to the advisor prior to their meeting.
At the end of the semester, we will reconvene for a colloquium. Based on the feedback received during the semester each student will again present his paper, this time in the context of all the work discussed in the seminar. Each participant should also deliver a 5-page summary of his assigned paper by the end of March 2014. The following LaTeX template should be used for the summary: template.tex
Location
Room 016, Building E1 3
Schedule
Date | Paper | Presenter | Discussants | Advisor |
---|---|---|---|---|
Dec 12, 2013 10 am |
Continuity and robustness of programs | Markus Schneider | Srikrupa Raghuraman Pascal Berrang |
Jan Reineke |
Dec 12, 2013 10 am |
Symbolic Robustness Analysis | Sayali Salvi | Panchali Mukherjee Pascal Berrang |
Jan Reineke |
Dec 19, 2013 10 am |
Robustness of Sequential Circuits | Srikrupa Raghuraman | Sayali Salvi Panchali Mukherjee |
Andreas Abel |
Dec 19, 2013 10 am |
Robustness Analysis of Networked Systems | Pascal Berrang | Markus Schneider Srikrupa Raghuraman |
Andreas Abel |
Jan 16, 2014 10 am |
Sensitivity of Cache Replacement Policies | Panchali Mukherjee | Markus Schneider Sayali Salvi |
Jan Reineke |
Jan 16, 2014 10 am |
On the Robustness of Deterministic and Randomized Caches | Jan Reineke | - | - |
Slides
- Continuity and robustness of programs First talk Second talk (Markus Schneider)
- Symbolic Robustness Analysis (Sayali Salvi)
- Robustness of Sequential Circuits (Srikrupa Raghuraman)
- Robustness Analysis of Networked Systems First talk Second talk (Pascal Berrang)
- Sensitivity of Cache Replacement Policies (Panchali Mukherjee)
Literature (available for download within university network)
- L. Doyen, and T. Henzinger, A. Legay, D. Nickovic: Robustness of Sequential Circuits, ACSD '10
- P. Tabuada, A. Balkan, S. Caliskan, Y. Shoukry, R. Majumdar: Input-output robustness for discrete systems, EMSOFT '10
- R. Samanta, J. Deshmukh, S. Chaudhuri: Robustness Analysis of String Transducers, ATVA '13
- U. Topcu, N. Ozay, J. Liu, R. Murray: On Synthesizing Robust Discrete Controllers, HSCC '12
- S. Chaudhuri, S. Gulwani, R. Lublinerman: Continuity and robustness of programs, Communications of the ACM (CACM), 2012
- S. Chaudhuri and A. Solar-Lezama: Smoothing a program soundly and robustly, CAV '11
- R. Majumdar and I. Saha: Symbolic Robustness Analysis, RTSS '09
- R. Bloem, K. Greimel, T. Henzinger, B. Jobstmann: Synthesizing robust systems, FMCAD '09
- R. Samanta, J. Deshmukh, S. Chaudhuri: Robustness Analysis of Networked Systems, VMCAI '13
- J. Reineke and D. Grund: Sensitivity of cache replacement policies, ACM Transactions on Embedded Computing Systems (TECS), 2013