Skip to main content

Lightweight Verification of Software

Objective

As illustrated through the advent of cloud computing, cyberphysical systems, or the Internet of Things, more and more applications are inherently distributed. At the same time, programming distributed systems is notoriously hard. Programmers have to deal with asynchrony and have to cater for partial failures -- the possibility that certain communication(s), processes, or hosts fail while others remain operational. These failures can have drastic consequences such as the missing to react to critical events or inconsistent states respectively. Limitations on existing hardware infrastructure necessitate subtle assumptions on system and failure models though to achieve efficient yet complex algorithmic solutions, whose implementation is prone to delicate defects.


Existing techniques for engineering reliable distributed systems software require much effort (e.g., program annotations in the form of invariants) thus discouraging many developers from their use; other techniques require developers to explicitly run specific tools (e.g., model checkers) which are thus easily left out and still can not achieve complete validation.

LiveSoft investigates static techniques to verify a subset of relevant and failure-prone aspects of distributed software --- interaction between components --- in a way which is lightweight and can be integrated with compilation. Our techniques will be able to sieve out many important defects upfront by pushing software reliability into the software design process. To that end LiveSoft proposes protocol types which leverage experiences with session types yet focus on fault-tolerant distributed systems by emphasizing asynchrony, failure handling and recovery, protocol composition, security, and parameterization. A main challenge is to support different system and failure models including emerging hardware trends such as hardware transactional memory and non-volatile memory rather than hardwiring speicific notions of (a)synchrony and failures.

Field of science

  • /natural sciences/computer and information sciences/software/system software

Call for proposal

ERC-2013-CoG
See other projects for this call

Funding Scheme

ERC-CG - ERC Consolidator Grants

Host institution

TECHNISCHE UNIVERSITAT DARMSTADT
Address
Karolinenplatz 5
64289 Darmstadt
Germany
Activity type
Higher or Secondary Education Establishments
EU contribution
€ 1 999 320
Principal investigator
Patrick Thomas Eugster (Prof.)
Administrative Contact
Melanie Meermann-Zimmermann (Dr.)

Beneficiaries (1)

TECHNISCHE UNIVERSITAT DARMSTADT
Germany
EU contribution
€ 1 999 320
Address
Karolinenplatz 5
64289 Darmstadt
Activity type
Higher or Secondary Education Establishments
Principal investigator
Patrick Thomas Eugster (Prof.)
Administrative Contact
Melanie Meermann-Zimmermann (Dr.)