WHISPER Research team
Well Honed Infrastructure Software for Programming Environments and Runtimes
- Leader : Gilles Muller
- Type : Project team
- Research center(s) : Paris
- Field : Networks, Systems and Services, Distributed Computing
- Theme : Distributed Systems and middleware
- Partner(s) : CNRS,Université Pierre et Marie Curie (Paris 6)
- Collaborator(s) : Laboratoire d'informatique de Paris 6 (LIP6) (UMR7606)
The focus of Whisper is on how to develop (new) and improve (existing) infrastructure software. Infrastructure software (also called systems software) is the software that underlies all computing. Such software allows applications to access resources and provides essential services such as memory management, synchronization and inter-process interactions. Starting bottom-up from the hardware, examples include virtual machine hypervisors, operating systems, managed runtime environments, standard libraries, and browsers, which amount to the new operating system layer for Internet applications. For such software, efficiency and correctness are fundamental. Any overhead will impact the performance of all supported applications. Any failure will prevent the supported applications from running correctly. Since computing now pervades our society, with few paper backup solutions, correctness of software at all levels is critical. Formal methods are increasingly being applied to operating systems code in the research community. Still, such efforts require a huge amount of manpower and a high degree of expertise which makes this work difficult to replicate in standard infrastructure-software development.
In terms of methodology, Whisper is at the interface of the domains of operating systems, software engineering and programming languages. Our approach is to combine the study of problems in the development of real-world infrastructure software with concepts in programming language design and implementation, e.g., of domain-specific languages, and knowledge of low-level system behavior. A focus of our work is on providing support for legacy code, while taking the needs and competences of ordinary system developers into account.
We aim at providing solutions that can be easily learned and adopted by system developers in the short term. Such solutions can be tools, such as Coccinelle for transforming C programs, or domain-specific languages such as Devil and Bossa for designing drivers and kernel schedulers. Due to the small size of the team, Whisper will mainly target operating system kernels and runtimes for programming languages. We will put an emphasis on achieving measurable improvements in performance and safety in practice, and on feeding these improvements back to the infrastructure software developer community.
Research teams of the same theme :
- COAST - Web Scale Trustworthy Collaborative Service Systems
- CTRL-A - Control for safe Autonomic computing systems
- DELYS - DistributEd aLgorithms and sYStems
- MIMOVE - Middleware on the Move
- MYRIADS - Design and Implementation of Autonomous Distributed Systems
- SPIRALS - Self-adaptation for distributed services and large software systems
- STACK - Software Stack for Massively Geo-Distributed Infrastructures
- WIDE - the World Is Distributed Exploring the tension between scale and coordination