This page presents all projects from the labs affiliated to the Center for Digital Trust. You can filter the projects according to your preferences. Clicking on one of the projects will show an in-depth description.
For questions, please contact Linus Gasser
Name | Description | Tags | Products | Maturity | Professor — Lab | More information | Date added | Date updated | Technical description | Layman description | Language | Type | Source code | Date last commit | LOC | Documentation | License | Papers | Contact | Date last activity | Keywords | |||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Blockchains & Smart Contracts | ||||||||||||||||||||||||
AT2
|
Asset Transfer System using lightweight broadcast-based primitives instead of consensus
|
Rachid Guerraoui — DCL | 2019-03-18 | 2022-07-01 | We replace consensus with a lightweight building block -- a broadcast-based primitive -- to obtain a full-fledged asset transfer system (cryptocurrency). This system is more efficient and more scalable compared with Bitcoin and consensus-based solutions. AT2 is the first system to bypass consensus algorithms for implementing asset transfers. | AT2 is a full-fledged asset transfer system (cryptocurrency) without the need for a global consensus, allowing for faster transactions and better scalability than Bitcoin and consensus-based solutions. | Rust | Library | Lab GitHub | 2021-10-21 | AGPL-3.0 |
|
2021-10-21 | category_Blockchain Blockchains & Smart Contracts application_Finance inactive project_incubated lab_DCL_ product_presentation product_details product_demo product_technical | ||||||||||
carbon
|
Blockchain using lightweight broadcast-based primitives instead of consensus
|
Rachid Guerraoui — DCL | 2021-12-01 | 2022-07-04 | Carbon is the next iteration on AT2, adding many new features, such as minting and a dynamic network. By decoupling leader selection from transaction processing, this system is more efficient and more scalable compared with Bitcoin and consensus-based solutions. | Carbon is a blockchain not using global consensus for transactions, allowing for faster transactions and better scalability than many other chains. | Rust | Library | 2021-12-01 | category_Blockchain Blockchains & Smart Contracts application_Finance inactive no support lab_DCL_ product_technical | ||||||||||||||
Raft consensus protocol
|
Implementation of the Raft consensus protocol
|
Edouard Bugnion — DCSL | 2021-11-05 | 2024-02-20 | Implementation of the Raft consensus protocol. The library doesn't assume a network layer with ordering or duplicate detection. This means you could use UDP for transmission. | C | Library | Lab GitHub | 2020-03-27 | BSD-3-Clause | 2021-11-05 | category_Blockchain Blockchains & Smart Contracts application_Infra inactive no support lab_DCSL_ product_technical | ||||||||||||
DEDIS Ledger Architecture
|
Modular abstractions to perform Distributed Ledger (DL) operations
|
Bryan Ford — DEDIS | Home page | 2021-04-13 | 2023-03-16 | With Dela you can: learn the architecture of a distributed ledger, run your blockchain / distributed ledger, implement and test your new idea that will revolutionize the blockchain world by adding your new module’s implementation to the Dela ecosystem. | Go | Application | Lab Github | 2023-03-08 | BSD-3-Clause | 2023-03-08 | category_Blockchain Blockchains & Smart Contracts application_Infra inactive no support lab_DEDIS_ product_technical | |||||||||||
Odyssey
|
Auditable Sharing and Management of Sensitive Data Across Jurisdictions
|
Bryan Ford — DEDIS | Home page | 2020-04-28 | 2022-07-04 | Odyssey is a set of applications and tools that enables sharing of sensitive data between multiple distrustful parties. This project uses state-of-the-art secret management service on the blockchain coupled with an enclave delivery mechanism. | GoLang | Application | Lab GitHub | 2020-10-01 | GPL-3.0 | 2020-10-01 | category_Blockchain Blockchains & Smart Contracts application_Info inactive no support lab_DEDIS_ product_demo product_technical | |||||||||||
Calypso
|
Encrypted storage with access control
|
Bryan Ford — DEDIS | 2019-03-18 | 2023-03-15 | Store data encrypted on the blockchain and use a decentralized access control mechanism to define who is allowed to decrypt. It has been developed alongside with OmniLedger. But it can also be used independently of OmniLedger. | GoLang | Application | Lab GitHub | 2022-06-30 | 6500 / 1500 | AGPL-3.0 | 2022-06-30 | category_Blockchain Blockchains & Smart Contracts application_Info inactive project_retired_archived lab_DEDIS_ product_presentation product_details product_demo product_hands-on product_technical | |||||||||||
OmniLedger
|
Ethereum-like blockchain implementation based on skipchains
|
Bryan Ford — DEDIS | 2019-03-18 | 2022-07-04 | OmniLedger is a high performance blockchain solution developed by the DEDIS-lab. It supports pre-compiled smart contracts, as well as Ethereum smart contracts. Combined with Calypso, it allows management of access to secure and private data in a fully audited way. | GoLang | Application, Library | Lab GitHub | 2022-07-04 | AGPL-3.0 |
|
2022-07-04 | category_Blockchain Blockchains & Smart Contracts application_Infra inactive project_retired_archived lab_DEDIS_ product_presentation product_details product_demo product_pilot product_technical | |||||||||||
Onet
|
Library for simulation and deployment of decentralized, distributed protocols
|
Bryan Ford — DEDIS | 2019-03-18 | 2022-07-04 | Library to write applications and protocols in a decentralized setting. Including an easy to use simulation framework to test the performance of the protocols. | GoLang | Library | Lab GitHub | 2021-09-30 | 15000 / 3000 | LGPL-3.0 | 2021-09-30 | category_Blockchain Blockchains & Smart Contracts application_Infra inactive no support lab_DEDIS_ product_technical | |||||||||||
Threshold Logical Clocks
|
Solving the consensus problem in a new way by creating a global clock
|
Bryan Ford — DEDIS | 2019-07-26 | 2022-07-04 | An attempt to simplify asynchronous consensus by building atop a novel threshold logical clock abstraction, which enables upper layers to operate as if on a synchronous network. This approach yields an asynchronous consensus protocol for fail-stop nodes that may be simpler and more robust than Paxos and its leader-based variants, requiring no common coins and achieving consensus in a constant expected number of rounds. | Application | Lab GitHub | 2022-05-12 |
|
2022-05-12 | category_Blockchain Blockchains & Smart Contracts application_Infra inactive no support lab_DEDIS_ product_technical | |||||||||||||
Twins
|
Linking patients to their physical and digital TWINs
|
Bryan Ford — DEDIS | Home page | 2021-02-05 | 2022-07-04 | Using organoids for research while protecting patients’ identity | Application | 2021-02-05 | category_Blockchain Blockchains & Smart Contracts application_Health inactive no support lab_DEDIS_ product_technical | |||||||||||||||
HBT
|
Token for conflicts zone
|
Bryan Ford — DEDIS | Home page | 2022-07-04 | 2023-03-16 | Go | Application | Lab Github | 2023-03-16 | other | 2023-03-16 | category_Blockchain Blockchains & Smart Contracts application_Gov inactive no support lab_DEDIS_ product_technical | ||||||||||||
d-voting
|
A decentralized, fully anonymous voting system for EPFL-internal elections.
|
Bryan Ford — DEDIS | Home page | 2023-09-01 | 2023-09-01 | The d-voting project allows for electronic voting without a central point of trust. It relies instead on the majority of servers to be honest during the voting process. The ballots are encrypted during the voting phase, and then shuffled to anonymise the results. When they are finally decrypted, it is not possible anymore to retrace who voted for what. | Golang | Application | Lab Github | 2023-09-01 | 2023-09-01 | category_Blockchain Blockchains & Smart Contracts application_Gov project_active project_incubated_market lab_DEDIS_ product_pilot product_technical | ||||||||||||
offchainer
|
Ethereum smart contracts with secret parameters
|
Serge Vaudenay — LASEC | 2021-11-05 | 2022-07-05 | By design, smart contracts’ data and computations are public to all participants. Offchainer helps to create smart contracts with parameters that need to stay secret. We propose a way to keep some of the parameters off-chain, while guaranteeing correctness of the computation, using a combination of a commitment scheme and a zero-knowledge proof system. | JavaScript | Toolset | Personal GitHub | 2020-01-14 | 2021-11-05 | category_Blockchain Blockchains & Smart Contracts application_Infra inactive no support lab_LASEC_ product_technical | |||||||||||||
Hippiepug
|
Sublinear-traversal blockchains and efficient key-value Merkle trees
|
Carmela Troncoso — SPRING | 2019-03-18 | 2022-07-07 | This library provides implementations of two cryptographic data structures: fast traversal blockchain structure, and a verifiable dictionary, implemented as a key-value Merkle tree. | Python | Library | Lab GitHub | 2019-10-22 | MIT | 2019-10-22 | category_Blockchain Blockchains & Smart Contracts application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
arkworks
|
Rust ecosystem for zkSNARK programming
|
Alessandro Chiesa — COMPSEC | Home page | 2024-03-13 | 2024-03-13 | Arkworks provides efficient implementations of components required for zkSNARK applications. It includes libraries for finite fields, elliptic curves, R1CS constraints, and SNARK proving systems like Groth16 and Marlin. It defines interfaces for relations like R1CS, and for building SNARK circuits using gadgets and subcircuits. | Arkworks is a collection of Rust libraries for building privacy-preserving applications using zero-knowledge proofs called zkSNARKs. It has efficient implementations of the underlying cryptographic primitives like finite fields and elliptic curves. It also provides tools to encode computations as circuits that can be proven using zkSNARKs while keeping inputs private. | Rust | Library | Project Github | 2024-03-08 | Apache-2.0 | 2024-03-13 | category_Blockchain Blockchains & Smart Contracts application_Finance application_Health application_Info project_active no support lab_COMPSEC_ product_technical | ||||||||||
Device and System Security | ||||||||||||||||||||||||
MVTIL
|
Multiversion Timestamp Locking (MVTL)
|
Rachid Guerraoui — DCL | 2019-09-19 | 2022-07-01 | MVTL is a new family of concurrency control algorithms. Improving performance of distributed databases by allowing read accesses to lag behind the latest version of the data. | C++ | Application | Lab GitHub | 2019-09-19 | GPL-2.0 | 2019-09-19 | category_Security Device and System Security application_Infra inactive no support lab_DCL_ product_technical | ||||||||||||
libNVRAM
|
Log-free concurrent data structures
|
Rachid Guerraoui — DCL | Home page | 2019-03-18 | 2022-07-01 | Storing data structures in non-volatile RAM such that transient failures don't corrupt the data. | C++ | Library, Application | Lab Github | 2019-11-04 | MIT | 2019-11-04 | category_Security Device and System Security application_Infra inactive no support lab_DCL_ product_technical | |||||||||||
FloDB
|
Unlocking memory in persistent key-value stores
|
Rachid Guerraoui — DCL | Home page | 2019-03-18 | 2022-07-01 | High performance key-value store for servers with high amount of RAM and lots of CPUs. | C++ | Application | Lab GitHub | 2017-03-28 | BSD-3-Clause | 2019-03-18 | category_Security Device and System Security application_Infra inactive no support lab_DCL_ product_technical | |||||||||||
MCTOP
|
A multi-core topology abstraction
|
Rachid Guerraoui — DCL | Home page | 2019-07-26 | 2022-07-01 | MCTOP is an abstraction of multi-core topologies augmented with important low-level hardware information, such as memory bandwidths and communication latencies. | C | Application | Lab GitHub | 2017-05-04 | MIT | 2019-07-26 | category_Security Device and System Security application_Infra inactive no support lab_DCL_ product_technical | |||||||||||
LOCKIN
|
Automatically chose the best locking algorithm
|
Rachid Guerraoui — DCL | Home page | 2019-07-01 | 2022-07-01 | LOCKIN is a lock library that includes several lock algorithm implementations mainly in header files for ease of use. Essentially, you can use LOCKIN to easily modify the pthread mutex locks in a system with practically zero effort. GLS is a middleware that makes lock-based programming simple and effective. GLS offers the classic lock-unlock interface of locks. However, in contrast to classic lock libraries, GLS does not require any effort from the programmer for allocating and initializing locks, nor for selecting the appropriate locking strategy. | C/C++ | Library | Lab GitHub | 2017-04-19 | MIT |
|
2019-07-01 | category_Security Device and System Security application_Infra inactive no support lab_DCL_ product_technical | ||||||||||
ASCYLIB + OPTIK
|
State-of-the-art concurrent data-structure library
|
Rachid Guerraoui — DCL | Home page | 2021-02-09 | 2022-07-01 | Over 40 implementations of linked lists, hash tables, skip lists, binary search trees (BSTs), queues, priority queues, and stacks. ASCYLIB contains sequential, lock-based, and lock-free implementations for each data structure. | C | Library | Lab GitHub | 2018-01-19 | GPL-2.0 |
|
2021-02-09 | category_Security Device and System Security application_Infra inactive no support lab_DCL_ product_technical | ||||||||||
uBFT
|
Microsecond-scale BFT using Disaggregated Memory
|
Rachid Guerraoui — DCL | 2023-03-13 | 2023-03-13 | C | Library | Lab GitHub | 2022-10-18 | other | 2023-03-13 | category_Security Device and System Security application_Infra inactive no support lab_DCL_ product_technical | |||||||||||||
Gotee
|
GoLang extension to allow a programmer to execute a goroutine within an enclave
|
Edouard Bugnion — DCSL | 2021-11-04 | 2024-02-20 | Trusted Execution Environments (TEEs), such as Intel SGX enclaves, use hardware to ensure the confidentiality and integrity of operations on sensitive data. While the technology is available on many processors, the complexity of its programming model and its performance overhead have limited adoption. TEEs provide a new and valuable hardware functionality that has no obvious analogue in programming languages, which means that developers must manually partition their application into trusted and untrusted components. Gotee extends the Go language to allow a programmer to execute a goroutine within an enclave, to use low-overhead channels to communicate between the trusted and untrusted environments, and to rely on a compiler to automatically extract the secure code and data. | GoLang | Library | Lab GitHub | 2020-09-20 | BSD-3-Clause | 2021-11-04 | category_Security Device and System Security application_Infra inactive no support lab_DCSL_ product_technical | ||||||||||||
E-voting
|
Decentralized, encrypted, fully anonymous e-voting
|
Bryan Ford — DEDIS | 2019-03-18 | 2023-03-16 | Our e-voting system is inspired by the first version of Helios where the encrypted ballots are shuffled and anonymized before they are decrypted. Instead of the shuffle used in Helios, we implemented a Neff shuffle which is much faster than the original Helios shuffle. | The e-voting used in the EPFL voting since 2018. It allows users to vote on a distributed system that will wait for the election to be over before decrypting the votes, keeping anonymity of the users. | GoLang | Application | Lab GitHub | 2022-06-02 | 1700 / 200 | AGPL-3.0 | 2022-06-02 | category_Security Device and System Security application_Gov inactive no support lab_DEDIS_ product_technical | ||||||||||
DRand
|
Publicly verifiable randomness
|
Bryan Ford — DEDIS | Home page | 2019-03-18 | 2023-03-16 | In many distributed applications, it is important to get a provably secure random number. DRand makes it possible to have these numbers provably secure. | GoLang | Application | Lab GitHub | 2023-03-16 | 1000 / 200 | link | MIT | 2023-03-16 | category_Security Device and System Security application_Infra inactive no support lab_DEDIS_ product_technical | |||||||||
SimNet
|
SimNet is a tool to simulate decentralized applications in the cloud
|
Bryan Ford — DEDIS | 2021-02-24 | 2022-07-04 | SimNet provides multiple configurations to affect the topology so that specific link between two nodes can have a delay or a loss of packets for instance. | Go | Application | Lab Github | 2022-02-24 | GPL-3.0 | 2022-02-24 | category_Security Device and System Security application_Infra inactive no support lab_DEDIS_ product_technical | ||||||||||||
CPI
|
Fast and precise control-flow hijack protection
|
George Candea — DSLAB | Home page | 2019-07-26 | 2022-07-05 | Code-Pointer Integrity (CPI) is a property of C/C++ programs that guarantees absence of control-flow hijack attacks by requiring integrity of all direct and indirect pointers to code. Code-Pointer Separation (CPS) is a simplified version of CPI that provides strong protection against such attacks in practice. SafeStack is a component of CPI/CPS, which can be used independently and protects against stack-based control-flow hijacks. | Application | Project GitHub | 2015-11-16 |
|
2019-07-26 | category_Security Device and System Security application_Infra inactive no support lab_DSLAB_ product_technical | ||||||||||||
S²E
|
Platform for writing tools that analyze the properties and behavior of software systems
|
George Candea — DSLAB | Home page | 2019-03-18 | 2024-03-08 | S²E is a platform for writing tools that analyze the properties and behavior of software systems. S²E comes as a modular library that gives virtual machines symbolic execution and program analysis capabilities. | C, C++ | Library | Project GitHub | 2023-12-10 | MIT | 2023-12-10 | category_Security Device and System Security application_Infra project_active no support lab_DSLAB_ product_technical | |||||||||||
ASAP
|
Low overhead software protection
|
George Candea — DSLAB | Home page | 2019-03-18 | 2022-07-05 | Makes it possible to use powerful software protection mechanisms at a low performance overhead. | C++, assembly | Library | Lab GitHub | 2015-12-03 | BSD-2-Clause | 2019-03-18 | category_Security Device and System Security application_Infra inactive no support lab_DSLAB_ product_technical | |||||||||||
Cloud 9
|
Scalable symbolic execution
|
George Candea — DSLAB | Home page | 2019-03-18 | 2022-07-05 | Parallel symbolic execution engine that scales on shared-nothing clusters of commodity hardware. | C, C++ | Application | Lab GitHub | 2013-09-11 | BSD-3-Clause |
|
2019-03-18 | category_Security Device and System Security application_Infra inactive no support lab_DSLAB_ product_technical | ||||||||||
Dimmunix
|
Protection against deadlock bugs
|
George Candea — DSLAB | Home page | 2019-03-18 | 2022-07-05 | Enables general-purpose applications to defend themselves against deadlock bugs, i.e. avoid deadlocks that they previously encountered. | C, C++, Java | Library | Google Code | 2012-04-24 | 2019-03-18 | category_Security Device and System Security application_Infra inactive no support lab_DSLAB_ product_technical | ||||||||||||
Failure Sketching
|
Automated debugging technique
|
George Candea — DSLAB | Home page | 2019-03-18 | 2022-07-05 | Failure sketching is an automated debugging technique that provides developers with an explanation (“failure sketch”) of the root cause of a failure that occurred in production. A failure sketch only contains program statements that lead to the failure, and it clearly shows the differences between failing and successful runs; these differences guide developers to the root cause. | Python | Application | Lab GitHub | 2015-10-06 | BSD-3-Clause | 2019-03-18 | category_Security Device and System Security application_Infra inactive no support lab_DSLAB_ product_technical | |||||||||||
ConfErr
|
Quantify the resilience of software systems to human-induced configuration errors
|
George Candea — DSLAB | Home page | 2021-11-03 | 2022-07-05 | ConfErr uses human error models rooted in psychology and linguistics to generate realistic configuration mistakes; it then injects these mistakes and measures their effects, producing a resilience profile of the system under test. The resilience profile, capturing succinctly how sensitive the target software is to different classes of configuration errors, can be used for improving the software or to compare systems to each other. | Java | Application | Personal GitHub | 2015-03-14 | 2021-11-03 | category_Security Device and System Security application_Infra inactive no support lab_DSLAB_ product_technical | ||||||||||||
LFI
|
Library-level fault injection toolkit
|
George Candea — DSLAB | Home page | 2021-11-03 | 2022-07-05 | LFI automatically identifies the errors exposed by shared libraries, finds potentially buggy error recovery code in program binaries, and produces corresponding injection scenarios. | C++ | Application | Lab GitHub | 2014-05-28 | GPL-3.0 | 2021-11-03 | category_Security Device and System Security application_Infra inactive no support lab_DSLAB_ product_technical | |||||||||||
cloud-performance-monitor
|
Monitoring and improving performance of cloud services
|
David Atienza — ESL | Home page | 2024-02-20 | 2024-02-20 | The project on machine learning for HPC servers and data centers at the ESL lab focuses on utilizing machine learning-based approaches for multi-objective resource management. This research line aims to enhance the efficiency of heterogeneous High Performance Computing (HPC) servers and data centers by employing system-level resource management techniques. | In simpler terms, this project explores how to make high-performance computing servers and data centers smarter using machine learning. By applying advanced algorithms, the team aims to optimize the use of resources in these environments efficiently. Ultimately, the goal is to improve the performance and reliability of these systems while ensuring they operate in a cost-effective and sustainable manner, contributing to advancements in cloud infrastructure management and data center operations. | Application | 2024-02-20 | category_Security Device and System Security application_Infra inactive no support lab_ESL_ product_technical | ||||||||||||||
digital-twins
|
Virtual copies for real-time connections
|
David Atienza — ESL | Home page | 2024-02-20 | 2024-02-20 | Digital Twins involve creating virtual copies of real objects for real-time monitoring and analysis. These replicas are utilized in various fields like disease prediction, climate policy assessment, and resource conservation. EPFL's DIGIPREDICT consortium used digital twins to forecast COVID-19 progression in patients. | Digital Twins are like virtual doppelgangers of physical objects, helping in predicting diseases, evaluating climate policies, and conserving resources. EPFL's DIGIPREDICT project used digital twins to anticipate how COVID-19 might progress in individuals, aiding in better healthcare decisions. | Application | 2024-02-20 | category_Security Device and System Security application_Health inactive no support lab_ESL_ product_technical | ||||||||||||||
x-heep
|
Open-source RISC-V system-on-chip for healthcare monitoring
|
David Atienza — ESL | Home page | 2024-02-20 | 2024-02-20 | The X-HEEP project is an open-source RISC-V microcontroller designed for continuous healthcare monitoring. It provides a customizable microcontroller unit (MCU) composed of an open-source, industrial-grade RISC-V CPU, common peripherals, and memories, which users can extend with their own accelerators. The project targets both FPGA and ASIC implementations, with support for Xilinx-based FPGAs. | X-HEEP is a project that aims to improve healthcare monitoring by creating a new type of computer chip that can be customized by users. This chip can be used in small devices for personal health monitoring or in larger systems for more demanding applications. The project is open-source, meaning anyone can use, modify, and distribute it, which could lead to widespread adoption and innovation in the field of healthcare technology. | C | Toolset | Lab Github | 2024-02-14 | SOLDERPAD HARDWARE LICENSE, Apache-2.0 | 2024-02-20 | category_Security Device and System Security application_Health project_active no support lab_ESL_ product_technical | ||||||||||
FuZZan
|
Faster address sanitization to improve fuzzing speed
|
Mathias Payer — HexHive | 2021-03-05 | 2022-07-05 | Our evaluation shows that on the Google fuzzer test suite, FuZZan improves fuzzing throughput over ASan by 48% starting with Google’s provided seeds (52% when starting with empty seeds on the same applications). Due to this improved throughput, FuZZan discovers 13% more unique paths given the same 24 hours and finds bugs 42% faster | C++ | Application | Lab Github | 2021-03-31 | Apache-2.0 | 2021-03-31 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | ||||||||||||
USBFuzz
|
Virtual environment for fuzzing USB peripherals
|
Mathias Payer — HexHive | 2021-03-05 | 2022-07-05 | Fuzzing USB peripherals for Linux, Android, MacOS, Windows, FreeBSD Found lots of 0days in modern kernels, allowing arbitrary compromise | C | Application | Lab Github | 2021-03-05 | 2021-03-05 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | |||||||||||||
Magma
|
A ground-truth fuzzing benchmark suite based on real programs with real bugs
|
Mathias Payer — HexHive | Home page | 2020-02-21 | 2023-03-20 | Magma is a collection of open-source libraries with widespread usage and a long history of security-critical bugs and vulnerabilities. In light of the need for better fuzzer evaluation, we front-ported bugs from previous bug reports to the latest versions of these libraries. For each ported bug, we added in-line (source-code-level) instrumentation to collect ground-truth information about bugs reached (buggy code executed) and triggered (fault condition satisfied by input). This instrumentation allows a monitoring utility to measure fuzzer progress in real time. | Application | Lab Github | 2022-12-07 | 2022-12-07 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | |||||||||||||
T-Fuzz
|
Fuzzing tool and crash analyzer
|
Mathias Payer — HexHive | 2019-03-18 | 2022-07-05 | T-Fuzz (transformational fuzzing) improves fuzzing by detecting whenever the fuzzer is stuck and then modifying the underlying program to reach new program locations. This allows fuzzing to discover and test hard to reach code. | Python | Application | Lab GitHub | 2018-12-04 | 2019-03-18 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | |||||||||||||
BOPC
|
Block-oriented programming compiler
|
Mathias Payer — HexHive | 2019-03-18 | 2022-07-05 | BOPC searches for exploits in the code that can be put together to execute new functions, while not tipping off any of the verifications in the program. BOPC is a tool that automatically synthesizes data-flow exploits based on real programs and real exploits. | Python | Application | Lab GitHub | 2020-11-05 | 2020-11-05 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | |||||||||||||
CFIXX
|
Protection for C++ internal code pointers
|
Mathias Payer — HexHive | 2019-03-18 | 2022-07-05 | CFIXX is a runtime mitigation that protects C++ programs from attacks that overwrite internal data structures containing code pointers. | C++ | Application | Lab GitHub | 2018-07-04 | 2019-03-18 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | |||||||||||||
HexType
|
Efficient detection of type confusion errors for C++
|
Mathias Payer — HexHive | 2019-03-18 | 2022-08-11 | HexType is a sanitizer for C++ cast safety. The primary use case is during testing to detect type confusion issues in the code. Additionally, HexType may be run in a fuzzing environment to detect type violations. | C++ | Application | Lab GitHub | 2021-11-16 | 2021-11-16 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | |||||||||||||
RetroWrite
|
Static instrumentation of binaries for fuzzing and sanitation
|
Mathias Payer — HexHive | 2019-09-02 | 2023-03-20 | RetroWrite can analyze the security of closed source binaries by applying an efficient fuzzing technique that usually only works when the source code is available. This makes it possible to trigger more errors than the default binary fuzzers available, while being much faster in finding these errors. | Python | Application | Lab GitHub | 2023-03-08 | MIT | 2023-03-08 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | ||||||||||||
ShadowStack
|
LLVM Implementation of different ShadowStack schemes for x86_64
|
Mathias Payer — HexHive | 2020-02-21 | 2022-07-05 | In computer security, a shadow stack is a mechanism for protecting a procedure's stored return address, such as from a stack buffer overflow. The shadow stack itself is a second, separate stack that \"shadows\" the program call stack. In the function prologue, a function stores its return address to both the call stack and the shadow stack. In the function epilogue, a function loads the return address from both the call stack and the shadow stack, and then compares them. If the two records of the return address differ, then an attack is detected; the typical course of action is simply to terminate the program or alert system administrators about a possible intrusion attempt. | C, assembly | Application | Lab GitHub | 2020-05-02 | 2020-05-02 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | |||||||||||||
HexPADS
|
Host-based, performance-counter-based attack detection system
|
Mathias Payer — HexHive | 2020-02-21 | 2022-07-05 | Attacks change the execution behavior of a system. Our attack detection system HexPADS detects attacks through divergences from normal behavior using attack signatures. HexPADS collects information from the operating system on runtime performance metrics with measurements from hardware performance counters for individual processes. Cache behavior is a strong indicator of ongoing attacks like rowhammer, side channels, covert channels, or CAIN attacks. Collecting performance metrics across all running processes allows the correlation and detection of these attacks. In addition, HexPADS can mitigate the attacks or significantly reduce their effectiveness with negligible overhead to benign processes. | C | Application | Lab GitHub | 2016-01-07 | 2020-02-21 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | |||||||||||||
FuzzGen
|
Automatic fuzzer generation
|
Mathias Payer — HexHive | 2020-02-21 | 2022-07-05 | FuzzGen is a tool for automatically synthesizing fuzzers for complex libraries in a given environment. From a given library, it allow for creating a dedicated fuzzer, aiming at good code coverage, without human interaction. | C++ | Application | Lab GitHub | 2020-11-30 | Apache-2.0 | 2020-11-30 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | ||||||||||||
HALucinator
|
Firmware re-hosting through abstraction layer emulation
|
Mathias Payer — HexHive | 2020-02-24 | 2022-07-05 | HALucinator allow for running a firmware outside of its physical implementation. When extracting it, one can recreate the same environment as the one used by the firmware's developer thus allowing for faster exploitation. | Python | Application | Lab GitHub | 2021-10-06 | GPL-3.0 | 2021-10-06 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | ||||||||||||
BenchIoT
|
Security benchmarks for the Internet of Things
|
Mathias Payer — HexHive | 2020-02-24 | 2022-07-05 | BenchIoT enables automatic evaluation of 14 metrics covering security, performance, memory usage, and energy consumption. Having a sound benchmark focused on IoT allow for robust and comparable metrics. | C | Application | Lab GitHub | 2020-11-11 | Apache-2.0 | 2020-11-11 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | ||||||||||||
LightBlue
|
Automatic profile-aware debloating of bluetooth stacks
|
Mathias Payer — HexHive | 2020-02-26 | 2022-07-05 | The Bluetooth standard is complex, many commands are defined but aren't needed in many use cases. It allows for a big surface attack which can be cumbersome to correctly reduce. Based on Bluetooth usage profiling, LightBlue allows to reduce the number of exposed commands understood by the firmware and the runtime, thus greatly reducing the potential future attacks that might arise. | C++, Python | Application | Lab Github | 2022-07-01 | 2022-07-01 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | |||||||||||||
Igor
|
Crash deduplication through root-cause clustering
|
Mathias Payer — HexHive | 2021-11-04 | 2023-03-20 | Fuzzing has emerged as the most effective bug-finding technique. The output of a fuzzer is a set of proof-of-concept (PoC) test cases for all observed “unique” crashes. It costs developers substantial efforts to analyze each crashing test case. This, mostly manual, process has lead to the number of reported crashes out-pacing the number of bug fixes. Igor is a tool for automated crash grouping/deduplication. | C | Application | Lab GitHub | 2022-08-02 | 2022-08-02 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | |||||||||||||
dis-cover
|
Disassemble binaries and recover as much info as possible
|
Mathias Payer — HexHive | 2021-11-04 | 2022-07-05 | Python | Application | Lab GitHub | 2021-09-03 | MIT | 2021-11-04 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | |||||||||||||
Gramatron
|
Grammar-aware fuzzing
|
Mathias Payer — HexHive | 2021-11-04 | 2022-07-05 | Coverage-guided fuzzer that uses grammar automatons to perform grammar-aware fuzzing. | C | Application | Lab GitHub | 2021-11-28 | Apache-2.0 | 2021-11-28 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | ||||||||||||
datAFLow
|
Data-flow based fuzzing
|
Mathias Payer — HexHive | 2022-07-05 | 2023-03-20 | DatAFLow is a fuzzer built on top of AFL++. However, instead of a control-flow-based feedback mechanism, it uses a data-flow-based feedback mechanism; specifically, data flows based on def-use associations. | C++ | Toolset | Lab GitHub | 2023-02-01 | Apache-2.0 | 2023-02-01 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | ||||||||||||
Midas
|
Systematic kernel TOCTTOU protection
|
Mathias Payer — HexHive | 2022-09-27 | 2022-09-27 | During a syscall, the kernel might read multiple times a value from userspace. As theses are controlled by the unpriviliged process, it may introduce subtle changes of behavior and possible hard-to-detect attacks, a classic time-of-check-to-time-of-use bug. Midas disable this attack surface by always returning the same values during a given syscall. | C | Application | Lab GitHub | 2021-12-08 | other | 2022-09-27 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | ||||||||||||
GLeeFuzz
|
Fuzzing WebGL Through Error Message Guided Mutation
|
Mathias Payer — HexHive | 2023-03-20 | 2023-03-20 | Our fuzzing technique, GLeeFuzz, guides input mutation by error messages instead of code coverage. Our key observation is that browsers emit meaningful error messages to aid developers in debugging their WebGL programs. Error messages indicate which part of the input fails (e.g., incomplete arguments, invalid arguments, or unsatisfied dependencies between API calls). Leveraging error messages as feedback, the fuzzer effectively expands coverage by focusing mutation on erroneous parts of the input. We analyze Chrome’s WebGL implementation to identify the dependencies between error-emitting statements and rejected parts of the input, and use this information to guide input mutation. We evaluate our GLeeFuzz prototype on Chrome, Firefox, and Safari on diverse desktop and mobile OSes. We discovered 7 vulnerabilities, 4 in Chrome, 2 in Safari, and 1 in Firefox. The Chrome vulnerabilities allow a remote attacker to freeze the GPU and possibly execute remote code at the browser privilege. | Application | Lab Github | 2022-11-17 | 2023-03-20 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | ||||||||||||||
Evocatio
|
Evocatio is a bug analyzer built on top of AFL++ and AddressSanitizer. It automatically discovers a bug’s capabilities.
|
Mathias Payer — HexHive | 2023-03-20 | 2023-03-20 | Evocatio automatically discovers a bug’s capabilities: analyzing a crashing test case (i.e., an input exposing a bug) to understand the full extent of how an attacker can exploit a bug. Evocatio leverages a capability-guided fuzzer to efficiently uncover new bug capabilities (rather than only generating a single crashing test case for a given bug, as a traditional greybox fuzzer does). | Application | Lab Github | 2022-12-16 | 2023-03-20 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | ||||||||||||||
WarpAttack
|
Bypassing CFI through Compiler-Introduced Double-Fetches
|
Mathias Payer — HexHive | 2023-04-24 | 2023-04-24 | WarpAttack is a new attack vector that exploits compiler-introduced double-fetch optimizations to mount TOCTTOU attacks and bypass code-reuse mitigations. | Application | Lab Github | 2023-04-13 | 2023-04-24 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | ||||||||||||||
ViDeZZo
|
Dependency-aware Virtual Device Fuzzing Framework
|
Mathias Payer — HexHive | 2023-04-24 | 2023-04-24 | ViDeZZo is a virtual device fuzzing framework considering both intra- and inter-message dependencies to balance fuzzing scalability and efficiency. | Framework | Lab Github | 2023-03-19 | 2023-04-24 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | ||||||||||||||
SieveFuzz
|
Optimizing Directed Fuzzing via Target-tailored Program State Restriction
|
Mathias Payer — HexHive | 2023-04-24 | 2023-04-24 | We implement tripwiring-directed fuzzing as a prototype, Sieve-Fuzz, and evaluate it alongside the state-of-the-art directed fuzzers AFLGo, BEACON and the leading undirected fuzzer AFL++. Overall, across nine benchmarks, SieveFuzz’s tripwiring enables it to trigger bugs on an average 47% more consistently and 117% faster than AFLGo, BEACON and AFL++. | Framework | Lab Github | 2023-04-10 | 2023-04-24 | category_Security Device and System Security application_Infra inactive no support lab_HexHive_ product_technical | ||||||||||||||
offchainer
|
Ethereum smart contracts with secret parameters
|
Serge Vaudenay — LASEC | 2021-11-05 | 2022-07-05 | By design, smart contracts’ data and computations are public to all participants. Offchainer helps to create smart contracts with parameters that need to stay secret. We propose a way to keep some of the parameters off-chain, while guaranteeing correctness of the computation, using a combination of a commitment scheme and a zero-knowledge proof system. | JavaScript | Toolset | Personal GitHub | 2020-01-14 | 2021-11-05 | category_Security Device and System Security application_Infra inactive no support lab_LASEC_ product_technical | |||||||||||||
ophcrack
|
Windows password cracker
|
Serge Vaudenay — LASEC | Home page | 2021-11-05 | 2022-07-05 | Ophcrack is a Windows password cracker based on rainbow tables. It is a very efficient implementation of rainbow tables done by the inventors of the method. It comes with a Graphical User Interface and runs on multiple platforms | C | Application | Non-lab GitLab | 2018-03-06 | 2021-11-05 | category_Security Device and System Security application_Infra inactive no support lab_LASEC_ product_technical | ||||||||||||
iprp
|
Parallel redundancy protocol for IP networks
|
Jean-Yves Le Boudec — LCA2 | 2019-03-18 | 2022-07-05 | iPRP allows parallel transmission of data over a network for hard real time applications with simply installing an app on both the server and the client. | C | Application | Lab GitHub | 2017-10-03 | MIT | 2019-03-18 | category_Security Device and System Security application_Infra inactive no support lab_LCA2_ product_technical | ||||||||||||
commelec-api
|
API for the Commelec real-time microgrid framework
|
Jean-Yves Le Boudec — LCA2 | 2019-03-18 | 2022-07-05 | This project defines a message format, based on Cap'n Proto, for encoding certain mathematical objects (i.e., real-valued symbolic expressions, sets and set-valued functions) as sequences of bytes. | C++ | Library | Lab GitHub | 2017-06-29 | MIT | 2019-03-18 | category_Security Device and System Security application_Infra inactive no support lab_LCA2_ product_technical | ||||||||||||
T-RECS
|
Testbed for multi-agent real-time control of electric grids
|
Jean-Yves Le Boudec — LCA2 | 2019-07-29 | 2022-07-05 | T-RECS is a software testbed for multi-agent real-time control of electric grids. T-RECS uses software containers to run each agent in a virtual environment. Agents are networked via Mininet, so real packets are exchanged using TCP/IP. | Python | Simulation | Lab GitHub | 2019-06-06 | MIT | 2019-07-29 | category_Security Device and System Security application_Infra inactive no support lab_LCA2_ product_technical | ||||||||||||
PRIME
|
Boost robustness of images to common corruptions
|
Pascal Frossard — LTS4 | 2022-07-06 | 2022-07-06 | PRIME is a generic, plug-n-play data augmentation scheme that consists of simple families of max-entropy image transformations for conferring robustness to common corruptions. PRIME leads to significant improvements in corruption robustness on multiple benchmarks. | Python | Toolset | Lab GitHub | 2021-12-28 | Apache-2.0 | 2022-07-06 | category_Security Device and System Security application_Info inactive no support lab_LTS4_ product_technical | ||||||||||||
ffmalloc
|
Memory allocation preventing "use-after-free" exploits
|
Sanidhya Kashyap — RS3LAB | 2021-11-04 | 2022-07-07 | ffmalloc is a "one time allocator" where any given virtual memory address is only returned to the calling application once. Since exploitation of use-after-free errors relies on being able to modify memory associated with "dangling pointers," by not reusing a virtual address region in subsequent allocation, an adversary cannot negatively impact the dangling memory region. | C | Library | Personal GitHub | 2022-04-09 | 2022-04-09 | category_Security Device and System Security application_Infra inactive no support lab_RS3LAB_ product_technical | |||||||||||||
VOTEAGAIN
|
Scalable coercion-resistant voting system
|
Carmela Troncoso — SPRING | 2021-11-04 | 2022-07-07 | The strongest threat model for voting systems considerscoercion resistance: protection against coercers that force voters to modify their votes, or to abstain. Existing remote voting systems either do not provide this property; require an ex-pensive tallying phase; or burden users with the need to store cryptographic key material and with the responsibility to deceive their coercers. VoteAgain is a scalable voting scheme that relies on the revoting paradigm to provide coercion resistance. | Python | Experiments | Lab GitHub | 2022-03-22 | MIT | 2022-03-22 | category_Security Device and System Security application_Gov inactive no support lab_SPRING_ product_technical | ||||||||||||
DatashareNetwork
|
Decentralized privacy-preserving search engine for investigative journalists
|
Carmela Troncoso — SPRING | 2021-11-04 | 2023-03-22 | Investigative journalists collect large numbers of digital documents during their investigations. These documents can greatly benefit other journalists’ work. However, many of these documents contain sensitive information. Hence, possessing such documents can endanger reporters, their stories, and their sources. Consequently, many documents are used only for single, local, investigations. DatashareNetwork is a decentralized and privacy-preserving search system that enables journalists world-wide to find documents via a dedicated network of peers. | Python | Simulation | Lab GitHub | 2022-09-21 | BSD-3-Clause | 2022-09-21 | category_Security Device and System Security application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
Tandem
|
Centralized privacy-preserving secure key storage
|
Carmela Troncoso — SPRING | 2021-11-04 | 2022-07-07 | Users’ devices, e.g., smartphones or laptops, are typically incapable of securely storing and processing cryptographic keys. Tandem is a novel set of protocols for securing cryptographic keys with support from a central server. | C | Simulation | Lab GitHub | 2020-06-14 | BSD-3-Clause | 2021-11-04 | category_Security Device and System Security application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
Tandem / Monero
|
Applying the privacy-preserving algorithms of Tandem to the usage of the Monero blockchain.
|
Carmela Troncoso — SPRING | 2022-08-25 | 2022-08-25 | One challenge when using private keys is that if they get stolen the damage can be very big, especially when used in blockchains to protect funds. Sharing the private key between multiple entities can secure the usage a bit, but most algorithms don't give privacy. In the context of a privacy-preserving service like Monero, where the source and destination of a transaction are hidden, these algorithms would leak information about the user. Applying Tandem to transactions on the Monero blockchain allows to protect the private key in case of loss, while keeping the owner of the transaction private. | Simulation | 2022-08-25 | category_Security Device and System Security application_Info inactive no support lab_SPRING_ product_presentation product_technical | ||||||||||||||||
Private Collection Matching Protocols
|
Framework to build privacy-preserving Private Collection Matching (PCM) systems
|
Carmela Troncoso — SPRING | 2023-03-22 | 2023-03-22 | We introduce Private Collection Matching (PCM) problems, in which a client aims to determine whether a collection of sets owned by a server matches their interests. Existing privacy-preserving cryptographic primitives cannot solve PCM problems efficiently without harming privacy. We propose a modular framework that enables designers to build privacy-preserving PCM systems that output one bit: whether a collection of server sets matches the client's set. The communication cost of our protocols scales linearly with the size of the client's set and is independent of the number of server elements. We demonstrate the potential of our framework by designing and implementing novel solutions for two real-world PCM problems: determining whether a dataset has chemical compounds of interest, and determining whether a document collection has relevant documents. Our evaluation shows that we offer a privacy gain with respect to existing works at a reasonable communication and computation cost. | Framework | 2023-03-22 | category_Security Device and System Security application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||||||
Abacus
|
Precise side-channel analysis
|
James Larus — VLSC | 2021-11-05 | 2022-07-07 | Side-channel attacks allow adversaries to infer sensitive information from non-functional characteristics. Typical side-channel detection tools are able to identify many potential vulnerabilities, but do not provide information regarding their severity, making it difficult for developers to decide whether to address them, as their leaks are often negligible in practice. Abacus is able to precisely quantify the leaked information and finds flaws that would otherwise be difficult for a developer to find. | C | Application | Non-lab GitHub | 2022-05-17 | MIT | 2022-05-17 | category_Security Device and System Security application_Infra inactive no support lab_VLSC_ product_technical | ||||||||||||
Bitfiltrator
|
Bitfiltrator is an automated bitstream parameter extraction tool for Xilinx UltraScale and UltraScale+ FPGAs.
|
James Larus — VLSC | 2023-03-22 | 2023-03-22 | Prior work has reverse-engineered parts of the bitstream format for security or debugging/instrumentation activities, but no paper has explained how to do this reverse engineering systematically! Our work bridges this gap by explaining: (1) the various parameters needed to navigate a bitstream correctly, (2) the experiments to obtain them, and (3) the many pitfalls and erroneous assumptions to avoid while undertaking this endeavor. We demonstrate our technique by using it to extract the bitstream format of initial LUT equations, LUTRAM contents, BRAM contents, and register values in Xilinx UltraScale and UltraScale+ FPGAs. Our methods are implemented in an open-source tool, Bitfiltrator [1], that can extract device layouts and architecture-specific bitstream formats for these cells automatically and without physical access to an FPGA. | Python | Toolset | Lab GitHub | 2022-11-27 | MIT | 2023-03-22 | category_Security Device and System Security application_Other inactive no support lab_VLSC_ product_technical | ||||||||||||
E-ID Demo (Issuer & Verifier)
|
Demo for the swiss E-ID ledger. It includes an issuer and a verifier.
|
Jean-Pierre Hubaux — C4DT | 2024-01-09 | 2024-01-09 | The issuer is a web application that allows to create a new identity and issue a credential. The verifier is a web application that allows to verify the credential. | TypeScript | Application | Lab GitHub | 2024-01-01 | 2024-01-09 | category_Security Device and System Security application_Gov project_active no support lab_C4DT_ product_technical | |||||||||||||
arkworks
|
Rust ecosystem for zkSNARK programming
|
Alessandro Chiesa — COMPSEC | Home page | 2024-03-13 | 2024-03-13 | Arkworks provides efficient implementations of components required for zkSNARK applications. It includes libraries for finite fields, elliptic curves, R1CS constraints, and SNARK proving systems like Groth16 and Marlin. It defines interfaces for relations like R1CS, and for building SNARK circuits using gadgets and subcircuits. | Arkworks is a collection of Rust libraries for building privacy-preserving applications using zero-knowledge proofs called zkSNARKs. It has efficient implementations of the underlying cryptographic primitives like finite fields and elliptic curves. It also provides tools to encode computations as circuits that can be proven using zkSNARKs while keeping inputs private. | Rust | Library | Project Github | 2024-03-08 | Apache-2.0 | 2024-03-13 | category_Security Device and System Security application_Finance application_Health application_Info project_active no support lab_COMPSEC_ product_technical | ||||||||||
Machine Learning | ||||||||||||||||||||||||
Garfield
|
System support for byzantine machine learning
|
Rachid Guerraoui — DCL | 2021-01-20 | 2022-07-01 | Garfield is a library to build Byzantine machine learning (ML) applications on top of popular frameworks such as TensorFlow and PyTorch. We show how to use Garfield to build different architectures for ML applications like single server, multiple workers (SSMW), multiple servers, multiple workers (MSMW), and fully decentralized architecture. | Training ML is done in a distributed fashion these days due to the usage of big models and huge datasets (for scalability reasons). This distribution inevitably leads to a higher probability of failure somewhere in the network. Garfield is a library/tool to ensure the correctness/convergence of training despite the presence of these failures. Garfield can be used to do so with various ML applications and architectures. | Python, Cuda, C++ | Library | Lab Github | 2021-09-24 | MIT | 2021-09-24 | category_Learning Machine Learning application_Info inactive project_incubated lab_DCL_ product_presentation product_demo product_technical | |||||||||||
FeGAN
|
Scaling distributed Generative Adversarial Networks (GANs)
|
Rachid Guerraoui — DCL | 2020-11-11 | 2022-07-01 | The FeGAN system enables training GANs in the Federated Learning setup. GANs are generative adversarial networks, a class of machine learning where two neural networks contest with each other. FeGAN is implemented on PyTorch and is using less bandwidth and is faster than using stat-of-the-art GANs implementations. | Python | Application | Lab GitHub | 2020-12-31 | MIT | 2020-12-31 | category_Learning Machine Learning application_Info inactive no support lab_DCL_ product_technical | ||||||||||||
FLeet
|
Federated machine learning on Android
|
Rachid Guerraoui — DCL | 2019-07-01 | 2022-07-01 | MobNet is a framework for federated machine learning on Android devices. It consumes much less battery than Standard FL while increasing the model's accuracy three times. It allows for Android to actually participate in the building of a ML model. | Java, C++ | Library, Application | Non-lab GitHub | 2020-10-31 | MIT | 2020-10-31 | category_Learning Machine Learning application_Info inactive no support lab_DCL_ product_technical | ||||||||||||
AggregaThor
|
Framework over TensorFlow implementing robust stochastic gradient descent
|
Rachid Guerraoui — DCL | 2019-03-18 | 2022-07-01 | Framework built over TensorFlow implementing state-of-the-art Byzantine-resilient, distributed Stochastic Gradient Descent (SGD). Modular approach allows most of its components to be reused in other projects. Unreliable communication channels are supported, providing a performance speed-up over standard TensorFlow in saturated networks. | Python / C++ | Library, Application | Lab GitHub | 2019-12-06 | 2019-12-06 | category_Learning Machine Learning application_Info inactive no support lab_DCL_ product_technical | |||||||||||||
Probabilistic Fault Tolerance of Neural Networks in the Continuous Limit
|
Regularizer for failing neurons
|
Rachid Guerraoui — DCL | 2022-07-04 | 2022-07-04 | How is a neural network changing its output in presence of failing node? This project provides a regularizer adapting itself to changing conditions. | Python | Library | Lab GitHub | 2020-11-24 | other | 2022-07-04 | category_Learning Machine Learning application_Info inactive no support lab_DCL_ product_technical | ||||||||||||
SecVM
|
Privacy-preserving classification
|
Robert West — DLAB | 2021-11-05 | 2022-07-04 | Today, large amounts of valuable data are distributed among millions of user-held devices, such as personal computers, phones, or Internet-of-things devices. Many companies collect such data with the goal of using it for training machine learning models allowingthem to improve their services. User-held data is, however, often sensitive, and collecting it is problematic in terms of privacy. We propose a novel way of training a supervised classifier in a distributed setting akin to the recently proposed federated learning paradigm, but under the stricter privacy requirement that the server that trains the model is assumed to be untrusted and potentially malicious. We thus preserve user privacy by design, rather than by trust. | Java | Experiments | Lab GitHub | 2020-08-17 |
|
2021-11-05 | category_Learning Machine Learning application_Infra inactive no support lab_DLAB_ product_technical | ||||||||||||
Invariant Language Modeling
|
Invariant natural language modeling
|
Robert West — DLAB | 2021-11-05 | 2022-07-04 | Modern pretrained language models are critical components for natural language processing. Yet, they suffer from spurious correlations, poor out-of-domain generalization, and biases. This is a framework to learn invariant representations that should generalize across training environments. | Python | Application | Lab GitHub | 2022-01-24 | Apache-2.0 | 2022-01-24 | category_Learning Machine Learning application_Info inactive no support lab_DLAB_ product_technical | ||||||||||||
Eigenthemes
|
Improved entity linking
|
Robert West — DLAB | 2021-11-05 | 2022-07-04 | In natural language processing, entity linking, i.e. the task of assigning a unique identity to entities (for example "Paris" in a sentence refers to the city, not to someone's name), is an important problem. Most previous solutions rely on annotated data, which is however not available in many domains. We propose a method for entity linking without the need for annotated data. | Python | Experiments | Lab GitHub | 2021-09-23 | Apache-2.0 | 2021-11-05 | category_Learning Machine Learning application_Info inactive no support lab_DLAB_ product_technical | ||||||||||||
Quotebank
|
Corpus of quotations from a decade of news
|
Robert West — DLAB | 2022-09-28 | 2022-09-28 | News from half a million of website, over the last 15 years, labelled by writer. Quotebank shows that it can accurately associate any citation with who most probably wrote it. It helps in identifying the source of a given news without any metadata. | Python | Experiments | Lab GitHub | 2021-07-23 | MIT | 2022-09-28 | category_Learning Machine Learning application_Info inactive no support lab_DLAB_ product_technical | ||||||||||||
DiPPS
|
Differentially Private Propensity Scores for Bias Correction
|
Robert West — DLAB | 2023-03-16 | 2023-03-16 | In surveys, it is typically up to the individuals to decide if they want to participate or not, which leads to participation bias: the individuals willing to share their data might not be representative of the entire population. Similarly, there are cases where one does not have direct access to any data of the target population and has to resort to publicly available proxy data sampled from a different distribution. In this paper, we present Differentially Private Propensity Scores for Bias Correction (DiPPS), a method for approximating the true data distribution of interest in both of the above settings | Python | Experiments | Lab GitHub | 2022-10-02 | other | 2023-03-16 | category_Learning Machine Learning application_Info inactive no support lab_DLAB_ product_technical | ||||||||||||
GenIE
|
Autoregressive information extraction system
|
Robert West — DLAB | 2023-03-16 | 2023-03-16 | GenIE uses a sequence-to-sequence model that takes unstructured text as input and autoregressively generates a structured semantic representation of the information expressed in it, in the form of (subject, relation, object) triplets, as output. | Python | Experiments | Lab GitHub | 2023-02-23 | MIT | 2023-03-16 | category_Learning Machine Learning application_Info inactive no support lab_DLAB_ product_technical | ||||||||||||
SynthIE
|
Exploiting Asymmetry for Synthetic Training Data Generation
|
Robert West — DLAB | 2023-03-16 | 2023-03-16 | Python | Experiments | Lab GitHub | 2023-03-08 | MIT | 2023-03-16 | category_Learning Machine Learning application_Info inactive no support lab_DLAB_ product_technical | |||||||||||||
hdtorch
|
PyTorch-based hyperdimensional computing library
|
David Atienza — ESL | 2024-02-20 | 2024-02-20 | HDTorch is a PyTorch-based library designed for hyperdimensional computing, featuring custom CUDA extensions to accelerate hypervector operations. It is utilized for analyzing HDC benchmark datasets, focusing on accuracy, runtime, and memory usage. The workflow involves initializing basis vectors, encoding features, and aggregating vectors of the same class. | HDTorch is a specialized library that uses PyTorch for advanced hyperdimensional computing tasks. It helps researchers analyze complex datasets efficiently, ensuring accuracy and optimizing resource usage. In simpler terms, it's like a powerful tool that assists in handling data securely and effectively for projects related to privacy and digital trust. | Python | Library | Lab Github | 2023-10-18 | MIT | 2024-02-20 | category_Learning Machine Learning application_Info project_active no support lab_ESL_ product_technical | |||||||||||
Choix
|
Library that provides inference algorithms for models based on Luce's choice axiom
|
Matthias Grossglauser — INDY | 2019-03-18 | 2022-07-05 | Python | Library | Personal GitHub | 2022-01-11 | MIT |
|
2022-01-11 | category_Learning Machine Learning application_Info inactive no support lab_INDY_ product_technical | ||||||||||||
Who is that?
|
Machine Learning framework to search a database via similarity samples
|
Matthias Grossglauser — INDY | Home page | 2019-09-09 | 2022-07-05 | Use machine learning to organize a collection of objects (e.g. faces of actors) so as to make them interactively searchable via similarity queries. The approach combines concepts from representation learning, reinforcement learning, discrete-choice theory and bayesian inference. | Library | 2019-09-09 | category_Learning Machine Learning application_Info inactive no support lab_INDY_ product_technical | |||||||||||||||
kickscore
|
Dynamic skill rating system
|
Matthias Grossglauser — INDY | 2020-05-01 | 2022-07-05 | Kickscore can be used to understand & visualize the skill of players (or teams) competing in pairwise matches, and to predict outcomes of future matches. It extends the Elo rating system and TrueSkill. | Python | Library | Personal GitHub | 2020-05-09 | MIT |
|
2020-05-09 | category_Learning Machine Learning application_Info inactive no support lab_INDY_ product_technical | |||||||||||
Predikon
|
Predictions about votes in Switzerland
|
Matthias Grossglauser — INDY | Home page | 2020-05-01 | 2022-07-05 | We designed a predictive model of the municipal results (in percentage of "yes") for Swiss votes. Based on past results, our model automatically learns features of municipalities. On the day of a vote, and as soon as some municipalities publish their results (their percentage of "yes"), our model uses the features to predict the unpublished results of other municipalities. The prediction of the national vote result is obtained by aggregating published results and predicted results. | Predikon provides predictions about votes in Switzerland, as soon as municipal results are published by Swiss cantons starting at 12:00 pm on the day of a vote. | Library | 2020-05-01 | category_Learning Machine Learning application_Info inactive no support lab_INDY_ product_technical | ||||||||||||||
Climpact
|
Estimate your perception of carbon footprint
|
Matthias Grossglauser — INDY | Home page | 2023-04-24 | 2023-04-24 | For the climate, flying to New York is worse than taking a long shower. But is it 10 times worse or is it 1000 times worse? The carbon footprint of our actions have been widely analyzed and quantified, but it does not mean that people are well aware of their impact. With this project, we would like to understand people’s perception of their carbon footprint, and how does it compare to the actual carbon footprint of actions they take. This could help climate scientists, sociologists, news outlets, politicians, and the general public to improve climate communication and enhance climate action. | Application | 2023-04-24 | category_Learning Machine Learning application_Info inactive no support lab_INDY_ product_technical | |||||||||||||||
FG-NIC
|
Noise-robust image classification
|
Sabine Süsstrunk — IVRL | 2021-11-05 | 2022-07-05 | Image classification has significantly improved using deep learning. This is mainly due to convolutional neural networks (CNNs) that are capable of learning rich feature extractors from large datasets. However, most deep learning classification methods are trained on clean images and are not robust when handling noisy ones, even if a restoration preprocessing step is applied. We propose a method that can be applied on a pretrained classifier. We improve the noisy-image classification (NIC) results by significantly large margins, especially at high noise levels, and come close to the fully retrained approaches. | Python | Application | Lab GitHub | 2022-01-04 | MIT | 2022-01-04 | category_Learning Machine Learning application_Info inactive no support lab_IVRL_ product_technical | ||||||||||||
BUIFD
|
Deep learning image denoiser
|
Sabine Süsstrunk — IVRL | 2021-11-05 | 2022-07-05 | Blind and universal image denoising consists of using a unique model that denoises images with any level of noise. It is especially practical as noise levels do not need to be known when the model is developed or at test time. We propose a blind and universal deep learning image denoiser based on an optimal denoising solution, which we call fusion denoising. Our approach improves real-world grayscale additive image denoising. It also improves state-of-the-art color image denoising performance on every single noise level by an average of 0.1dB. | Python | Application | Lab GitHub | 2020-11-24 | MIT | 2021-11-05 | category_Learning Machine Learning application_Info inactive no support lab_IVRL_ product_technical | ||||||||||||
Zero-Learning Fast Medical Image Fusion
|
High-quality image fusion
|
Sabine Süsstrunk — IVRL | 2021-11-05 | 2022-07-05 | Medical image fusion plays a central role by integrating information from multiple sources into a single, more understandable output. We propose a real-time image fusion method using pre-trained neural networks to generate a single image containing features from multi-modal sources. Our method can be applied to any number of input sources. | Python | Application | Lab GitHub | 2019-05-10 | 2021-11-05 | category_Learning Machine Learning application_Info application_Health inactive no support lab_IVRL_ product_technical | |||||||||||||
LELSD
|
Interactive GAN-based image editing
|
Sabine Süsstrunk — IVRL | 2022-07-05 | 2023-03-21 | When generating an image using a GAN, some errors might appear which are obvious to the human observer, but not to the computer. By introducing this user feedback one can refine the generated image to look even more real. | Python | Application | Lab GitHub | 2022-02-20 | MIT | 2022-07-05 | category_Learning Machine Learning application_Info inactive no support lab_IVRL_ product_technical | ||||||||||||
DSR
|
Drone Image Super-Resolution
|
Sabine Süsstrunk — IVRL | 2023-03-21 | 2023-03-21 | Despite achieving remarkable progress in recent years, single-image super-resolution methods are developed with artificial limitations. We propose a novel drone image dataset, with scenes captured at low and high resolutions, and across a span of altitudes. Our results show that off-the-shelf state-of-the-art networks perform worse on this different domain. | Python | Experiments, Simulation | Lab GitHub | 2022-09-15 | BSD-3-Clause | 2023-03-21 | category_Learning Machine Learning application_Info inactive no support lab_IVRL_ product_technical | ||||||||||||
TempSAL
|
Uncovering Temporal Information for Deep Saliency Prediction
|
Sabine Süsstrunk — IVRL | Home page | 2023-03-21 | 2023-03-21 | Deep saliency prediction algorithms complement the object recognition features, they typically rely on additional information, such as scene context, semantic relationships, gaze direction, and object dissimilarity. However, none of these models consider the temporal nature of gaze shifts during image observation. We introduce a novel saliency prediction model that learns to output saliency maps in sequential time intervals by exploiting human temporal attention patterns. | Application, Experiments | Lab GitHub | 2023-01-05 | MIT | 2023-03-21 | category_Learning Machine Learning application_Info inactive no support lab_IVRL_ product_technical | ||||||||||||
DyNCA
|
Real-Time Dynamic Texture Synthesis Using Neural Cellular Automata
|
Sabine Süsstrunk — IVRL | Home page | 2023-03-21 | 2023-03-21 | Current Dynamic Texture Synthesis (DyTS) models in the literature can synthesize realistic videos. However, these methods require a slow iterative optimization process to synthesize a single fixed-size short video, and they do not offer any post-training control over the synthesis process. We propose Dynamic Neural Cellular Automata (DyNCA), a framework for real-time and controllable dynamic texture synthesis. | Framework | Lab GitHub | 2023-03-19 | MIT | 2023-03-21 | category_Learning Machine Learning application_Info inactive no support lab_IVRL_ product_technical | ||||||||||||
SPINDLE
|
Scalable, privacy-preserving, distributed learning on distributed datasets
|
Jean-Pierre Hubaux — LDS | 2021-01-21 | 2022-09-28 | SPINDLE allows to train and evaluate generalized linear models on datasets that are stored at different data providers who don't want to share the original data. | GoLang | Application | other | 2021-01-21 | category_Learning Machine Learning application_Info inactive project_retired_archived lab_LDS_ product_presentation product_details product_demo product_app product_technical | ||||||||||||||
PriCell
|
Privacy preserving neural network learning for diseased cell classification
|
Jean-Pierre Hubaux — LDS | 2022-07-05 | 2022-07-05 | PriCell is a Golang library that ensures CellCnn analysis in privacy-preserving, distributed, N-party setting. | GoLang | Application | Lab GitHub | 2022-03-05 | non-commercial | 2022-07-05 | category_Learning Machine Learning application_Info inactive no support lab_LDS_ product_technical | ||||||||||||
Bayesian Differential Privacy
|
Data distribution-aware differential privacy
|
Boi Faltings — LIA | 2021-11-04 | 2022-07-05 | Traditional differential privacy is independent of the data distribution. However, this is not well-matched with the modern machine learning con-text, where models are trained on specific data. As a result, achieving meaningful privacy guarantees in ML often excessively reduces accuracy. Bayesian differential privacy (BDP) takes into account the data distribution to provide more practical privacy guarantees. | Python | Experiments | Personal GitHub | 2020-08-12 | Apache-2.0 | 2021-11-04 | category_Learning Machine Learning application_Info inactive no support lab_LIA_ product_technical | ||||||||||||
ADER
|
Continual adaption of recommendation systems without forgetting
|
Boi Faltings — LIA | 2021-11-05 | 2022-07-05 | Recommendation systems typically require continual adaptation to take into account new and obsolete items. A major challenge in this situation is catastrophic forgetting, where the trained model forgets patterns it has learned before. We propose a method to mitigate this effect. | Python | Simulation | Personal GitHub | 2021-10-27 | MIT | 2021-11-05 | category_Learning Machine Learning application_Info inactive no support lab_LIA_ product_technical | ||||||||||||
LB-CSMRI
|
Magnetic imaging resonance optimization
|
Volkan Cevher — LIONS | Home page | 2021-11-05 | 2022-07-05 | Learning-based framework for optimizing magnetic resonance imaging (MRI) reconstruction. | MATLAB | Framework, Simulation | Lab Download | 2021-11-05 | category_Learning Machine Learning application_Health application_Info inactive no support lab_LIONS_ product_technical | |||||||||||||
STORM+
|
Faster PyTorch optimizer
|
Volkan Cevher — LIONS | 2022-07-05 | 2022-08-11 | Compared to the largely used SGD optimizer for PyTorch, STORM+ is faster but requires two passes on the data. | Python | Library | Lab GitHub | 2022-05-14 | 2022-07-05 | category_Learning Machine Learning application_Info inactive no support lab_LIONS_ product_technical | |||||||||||||
PriBot
|
Automated analysis of privacy policies
|
Karl Aberer — LSIR | Home page | 2019-03-18 | 2024-02-07 | Pribot uses an automated framework for privacy policy analysis (Polisis). It enables scalable, dynamic, and multi-dimensional queries on natural language privacy policies. | Python, JavaScript | Application | Private GitHub | commercial | 2019-03-18 | category_Learning Machine Learning application_Info inactive no support lab_LSIR_ product_technical | ||||||||||||
AI Research Aiding Online Children Safety
|
Platform for detecting specific risks and threats children are facing online
|
Karl Aberer — LSIR | Home page | 2019-03-18 | 2024-02-06 | Machine Learning classifiers and tools to help with the detection of specific risks and threats children are facing while using their newly acquired phones. The classifiers perform on par or better than what exists on the market, and have been adapted to run smoothly on a mobile phone. The analysis can therefore run on the mobile phone without having to send any content to any server. | Framework | Private GitHub | 2019-03-18 | category_Learning Machine Learning application_Info application_Gov inactive no support lab_LSIR_ product_technical | ||||||||||||||
AI-Driven Classifier Building Pipeline
|
Platform for speeding up the development of Artificial-Intelligence classifiers
|
Karl Aberer — LSIR | Home page | 2019-05-22 | 2023-03-21 | The platform aims at accelerating the process of building Artificial Intelligence classifiers for image and text classification. | Framework | Private GitHub | 2019-05-22 | category_Learning Machine Learning application_Info inactive no support lab_LSIR_ product_technical | ||||||||||||||
SciLens
|
Helper for science news evaluation
|
Karl Aberer — LSIR | Home page | 2019-03-18 | 2024-02-06 | A framework helping non-experts to evaluate the quality of scientific news articles, based on indicators automatically generated using machine learning. | Python | Application | Lab GitHub | 2022-10-25 | GPL-3.0 |
|
2022-10-25 | category_Learning Machine Learning application_Gov application_Info inactive no support lab_LSIR_ product_technical | ||||||||||
Media Observatory
|
News landscape monitoring
|
Karl Aberer — LSIR | Home page | 2019-09-04 | 2024-02-12 | A model of the media landscape that maps news channels based on their selection of subjects. The observatory has the following key objectives: giving the public access to algorithmic solutions to monitor the news landscape, developing transparent quality and credibility indicators and creating a meeting point to foster multidisciplinary research opportunities | Application | Private GitHub |
|
2019-09-04 | category_Learning Machine Learning application_Gov application_Info inactive no support lab_LSIR_ product_technical | |||||||||||||
Mozuma
|
Library of ML standardised models
|
Karl Aberer — LSIR | 2022-07-06 | 2024-02-12 | Mozuma is a library containing a collection of machine learning models with standardised interface to run inference, train and manage model state files. | Library | Lab GitHub | 2023-07-11 | 2023-07-11 | category_Learning Machine Learning application_Info project_active no support lab_LSIR_ product_technical | ||||||||||||||
DeepFool
|
Simple algorithm to find the minimum adversarial perturbations in deep networks
|
Pascal Frossard — LTS4 | 2019-03-18 | 2022-07-06 | State-of-the-art deep neural networks have achieved impressive results on many image classification tasks. However, these same architectures have been shown to be unstable to small, well sought, perturbations of the images. Despite the importance of this phenomenon, no effective methods have been proposed to accurately compute the robustness of state-of-the-art deep classifiers to such perturbations on large-scale datasets. DeepFool proposes to efficiently compute perturbations that fool deep networks, and thus reliably quantify the robustness of these classifiers. | DeepFool is a simple algorithm to find the minimum perturbations needed in deep networks to change the outcome of its decision. | MATLAB, Python | Application | Lab GitHub | 2018-09-07 | 2019-03-18 | category_Learning Machine Learning application_Info inactive no support lab_LTS4_ product_technical | ||||||||||||
ManiFool
|
Algorithm for evaluating the invariance properties of deep networks
|
Pascal Frossard — LTS4 | 2019-03-18 | 2022-07-06 | Deep convolutional neural networks have been shown to be vulnerable to arbitrary geometric transformations. However, there is no systematic method to measure the invariance properties of deep networks to such transformations. ManiFool is a simple yet scalable algorithm to measure the invariance of deep networks. In particular, it measures the robustness of deep networks to geometric transformations in a worst-case regime as they can be problematic for sensitive applications. | Python | Application | Personal GitHub | 2018-01-24 | 2019-03-18 | category_Learning Machine Learning application_Info inactive no support lab_LTS4_ product_technical | |||||||||||||
SparseFool
|
Geometry-inspired sparse attack on deep networks
|
Pascal Frossard — LTS4 | 2019-09-04 | 2022-07-06 | Deep Neural Networks have achieved extraordinary results on image classification tasks, but have been shown to be vulnerable to attacks with carefully crafted perturbations of the input data. Although most attacks usually change values of many image’s pixels, it has been shown that deep networks are also vulnerable to sparse alterations of the input. SparseFool implements an efficient algorithm to compute and control sparse alterations. | Python | Application | Lab GitHub | 2020-09-27 | Apache-2.0 | 2020-09-27 | category_Learning Machine Learning application_Info inactive no support lab_LTS4_ product_technical | ||||||||||||
Universal
|
Universal adversarial perturbations
|
Pascal Frossard — LTS4 | 2019-03-18 | 2022-07-06 | Proposing a universal (image-agnostic) and very small perturbation vector that causes natural images to be misclassified with high probability in a deep neuronal network. | MATLAB, Python | Application | Lab GitHub | 2017-10-23 | 2019-03-18 | category_Learning Machine Learning application_Info inactive no support lab_LTS4_ product_technical | |||||||||||||
Hold me tight!
|
Influence of discriminative features on deep network boundaries in ML
|
Pascal Frossard — LTS4 | 2021-01-27 | 2022-07-06 | Important insights towards the explainability of neural networks reside in the characteristics of their decision boundaries. In this work, we borrow tools from the field of adversarial robustness, and propose a new perspective that relates dataset features to the distance of samples to the decision boundary. This enables us to carefully tweak the position of the training samples and measure the induced changes on the boundaries of CNNs trained on large-scale vision datasets. We use this framework to reveal some intriguing properties of CNNs. Specifically, we rigorously confirm that neural networks exhibit a high invariance to non-discriminative features, and show that the decision boundaries of a DNN can only exist as long as the classifier is trained with some features that hold them together. Finally, we show that the construction of the decision boundary is extremely sensitive to small perturbations of the training samples, and that changes in certain directions can lead to sudden invariances in the orthogonal ones. This is precisely the mechanism that adversarial training uses to achieve robustness. | Python | Application | Lab Github | 2021-12-10 | Apache-2.0 | 2021-12-10 | category_Learning Machine Learning application_Info inactive no support lab_LTS4_ product_technical | ||||||||||||
Neural Anisotropy Directions
|
Analyzing the role of the network architecture in shaping the inductive bias of deep classifiers.
|
Pascal Frossard — LTS4 | 2021-01-27 | 2022-07-06 | In this work, we analyze the role of the network architecture in shaping the inductive bias of deep classifiers. To that end, we start by focusing on a very simple problem, i.e., classifying a class of linearly separable distributions, and show that, depending on the direction of the discriminative feature of the distribution, many state-of-the-art deep convolutional neural networks (CNNs) have a surprisingly hard time solving this simple task. We then define as neural anisotropy directions (NADs) the vectors that encapsulate the directional inductive bias of an architecture. These vectors, which are specific for each architecture and hence act as a signature, encode the preference of a network to separate the input data based on some particular features. We provide an efficient method to identify NADs for several CNN architectures and thus reveal their directional inductive biases. Furthermore, we show that, for the CIFAR-10 dataset, NADs characterize the features used by CNNs to discriminate between different classes. | Python | Application | Lab Github | 2020-11-17 | Apache-2.0 | 2021-01-27 | category_Learning Machine Learning application_Info inactive no support lab_LTS4_ product_technical | ||||||||||||
OrthoNet
|
Multilayer network data clustering
|
Pascal Frossard — LTS4 | 2021-11-04 | 2022-07-06 | Network data appears in very diverse applications, like biological, social, or sensor networks. Clustering of network nodes into categories or communities has thus become a very common task in machine learning and data mining. Network data comes with some information about the network edges. In some cases, this network information can even be given with multiple views or multiple layers, each one representing a different type of relationship between the network nodes. Increasingly often, network nodes also carry a feature vector. We propose to extend the node clustering problem, that commonly considers only the network information, to a problem where both the network information and the node features are considered together for learning a clustering-friendly representation of the feature space. | Python | Library | Lab GitHub | 2020-07-28 | CeCILL-B | 2021-11-04 | category_Learning Machine Learning application_Info inactive no support lab_LTS4_ product_technical | ||||||||||||
PRIME
|
Boost robustness of images to common corruptions
|
Pascal Frossard — LTS4 | 2022-07-06 | 2022-07-06 | PRIME is a generic, plug-n-play data augmentation scheme that consists of simple families of max-entropy image transformations for conferring robustness to common corruptions. PRIME leads to significant improvements in corruption robustness on multiple benchmarks. | Python | Toolset | Lab GitHub | 2021-12-28 | Apache-2.0 | 2022-07-06 | category_Learning Machine Learning application_Info inactive no support lab_LTS4_ product_technical | ||||||||||||
PowerGossip
|
Practical low-rank communication compression in decentralized deep learning
|
Martin Jaggi — MLO | 2021-03-05 | 2022-07-06 | Inspired by the PowerSGD algorithm for centralized deep learning, this algorithm uses power iteration steps to maximize the information transferred per bit. We prove that our method requires no additional hyperparameters, converges faster than prior methods, and is asymptotically independent of both the network and the compression. | Python | Library | Lab Github | 2020-08-04 | MIT | 2021-03-05 | category_Learning Machine Learning application_Info inactive no support lab_MLO_ product_technical | ||||||||||||
chocoSGD
|
Decentralized communication-efficient machine learning and deep learning
|
Martin Jaggi — MLO | 2019-07-30 | 2022-07-06 | Communication-efficient decentralized ML training (both deep learning, compatible with PyTorch, and traditional convex machine learning models). | Python | Application | Lab GitHub | 2020-09-10 | Apache-2.0 | 2020-09-10 | category_Learning Machine Learning application_Info inactive no support lab_MLO_ product_technical | ||||||||||||
cola
|
Decentralized linear machine learning
|
Martin Jaggi — MLO | 2019-07-30 | 2022-07-06 | Decentralized machine learning is a promising emerging paradigm in view of global challenges of data ownership and privacy. We consider learning of linear classification and regression models, in the setting where the training data is decentralized over many user devices, and the learning algorithm must run on-device, on an arbitrary communication network, without a central coordinator. We propose COLA, a new decentralized training algorithm with strong theoretical guarantees and superior practical performance. Our framework overcomes many limitations of existing methods, and achieves communication efficiency, scalability, elasticity as well as resilience to changes in data and participating devices. | Python | Application | Lab GitHub | 2021-11-29 | Apache-2.0 |
|
2021-11-29 | category_Learning Machine Learning application_Info inactive no support lab_MLO_ product_technical | |||||||||||
MLBench
|
Benchmarking of distributed ML
|
Martin Jaggi — MLO | Home page | 2019-07-30 | 2023-03-22 | Framework for distributed machine learning. Its purpose is to improve transparency, reproducibility, robustness, and to provide fair performance measures as well as reference implementations, helping adoption of distributed machine learning methods both in industry and in the academic community. Besides algorithm comparison, a main use case is to help the selection of hardware (CPU, GPU) used to run AI applications, as well as how to connect it into a cluster to get a good cost/performance tradeoff. | Python | Framework | Project GitHub | 2023-03-01 | link | Apache-2.0 | 2023-03-01 | category_Learning Machine Learning application_Info inactive project_retired lab_MLO_ product_technical | ||||||||||
sent2vec
|
Numerical representations for short texts
|
Martin Jaggi — MLO | 2019-03-18 | 2023-03-22 | Library that delivers numerical representations (features) for words, short texts or sentences, which can be used as input to any machine learning task later on. | C++ | Library | Lab GitHub | 2022-08-03 | BSD-3-Clause | 2022-08-03 | category_Learning Machine Learning application_Info inactive no support lab_MLO_ product_technical | ||||||||||||
PowerSGD
|
Practical low-rank gradient compression for distributed optimization
|
Martin Jaggi — MLO | 2020-05-01 | 2023-03-22 | New low-rank gradient compressor based on power iteration that can i) compress gradients rapidly, ii) efficiently aggregate the compressed gradients using all-reduce, and iii) achieve test performance on par with SGD. The proposed algorithm is the only method evaluated that achieves consistent wall-clock speedups when benchmarked against regular SGD with an optimized communication backend. We demonstrate reduced training times for convolutional networks as well as LSTMs on common datasets. | Python | Application | Lab GitHub | 2022-11-22 | MIT | 2022-11-22 | category_Learning Machine Learning application_Info inactive no support lab_MLO_ product_technical | ||||||||||||
RelaySGD
|
Improved information propagation in decentralized learning
|
Martin Jaggi — MLO | 2021-11-04 | 2022-07-06 | Because the workers only communicate with few neighbors without central coordination, these updates propagate progressively over the network. This paradigm enables distributed training on networks without all-to-all connectivity, helping to protect data privacy as well as to reduce the communication cost of distributed training in data centers. A key challenge, primarily in decentralized deep learning, remains the handling of differences between the workers' local data distributions. To tackle this challenge, we introduce the RelaySum mechanism for information propagation in decentralized learning. RelaySum uses spanning trees to distribute information exactly uniformly across all workers with finite delays depending on the distance between nodes. In contrast, the typical gossip averaging mechanism only distributes data uniformly asymptotically while using the same communication volume per step as RelaySum. | Python | Library, Experiments | La GitHub | 2021-10-27 | MIT | 2021-11-04 | category_Learning Machine Learning application_Info inactive no support lab_MLO_ product_technical | ||||||||||||
Disco
|
Decentralized Collaborative Machine Learning
|
Martin Jaggi — MLO | Home page | 2022-02-18 | 2023-03-22 | A collection of objects and routines to help you develop your own distributed machine learning algorithm. It has two modes, federated, where a server is keeping track of the model, and decentralized, where each participant has their own local model. You can train your model directly in the browser, allowing it to run on a variety of hardware. Many extensions are in the pipeline, such as adding Byzantine resistance or training without revealing the model. Compared to other solutions, Disco is bridging the gap between people creating machine learning models and people having relevant data. By running without installation nor complex configuration, anyone can help. It's also a breeding ground for new machine learning technologies. | TypeScript | Framework | Lab GitHub | 2023-03-21 | Apache-2.0 |
|
2023-03-21 | category_Learning Machine Learning application_Info inactive project_incubated lab_MLO_ product_presentation product_demo product_technical | ||||||||||
Byzantine Robust Optimizer
|
Improved federated learning with Byzantine robustness
|
Martin Jaggi — MLO | 2021-11-04 | 2022-07-06 | Byzantine robustness has received significant attention recently given its importance for distributed and federated learning. In spite of this, there are severe flaws in existing algorithms even when the data across the participants is identically distributed. To address these issues, we present two surprisingly simple strategies: a new robust iterative clipping procedure, and incorporating worker momentum to overcome time-coupled attacks. This is the first provably robust method for the standard stochastic optimization setting. | Python | Simulation | Lab GitHub | 2021-06-11 | MIT | 2021-11-04 | category_Learning Machine Learning application_Info inactive no support lab_MLO_ product_technical | ||||||||||||
Quasi-Global Momentum
|
Improved decentralized training with data heterogeneity
|
Martin Jaggi — MLO | 2021-11-04 | 2023-03-22 | Decentralized training of deep learning models is a key element for enabling data privacy and on-device learning over networks. In realistic learning scenarios, the presence of heterogeneity across different clients' local datasets poses an optimization challenge and may severely deteriorate the generalization performance. We propose a novel momentum-based method to mitigate this decentralized training difficulty. | Python | Simulation | Lab GitHub | 2022-12-23 | Apache-2.0 | 2022-12-23 | category_Learning Machine Learning application_Infra inactive no support lab_MLO_ product_technical | ||||||||||||
HyperAggregate
|
Sublinear aggregation algorithm
|
Martin Jaggi — MLO | 2021-11-04 | 2022-07-06 | Novel decentralized aggregation protocol that can be parameterized so that the overall computation overhead scales logarithmically with the number of nodes. | Python, JavaScript | Library, Experiments | Personal GitHub | 2021-07-03 | 2021-11-04 | category_Learning Machine Learning application_Info inactive no support lab_MLO_ product_technical | |||||||||||||
PhantoMedicus
|
Medical Survey Generator
|
Martin Jaggi — MLO | 2022-07-06 | 2022-07-06 | Phantomedicus is a framework for simulating patients and consultations. It can extract disease probabilities from given data. | Python | Framework | Lab GitHub | 2022-06-25 | 2022-07-06 | category_Learning Machine Learning application_Health inactive no support lab_MLO_ product_technical | |||||||||||||
PAXlib
|
Augmentent PyTorch with some JAX
|
Martin Jaggi — MLO | 2022-07-07 | 2022-07-07 | Python | Library | Lab GitHub | 2022-03-02 | Apache-2.0 | 2022-07-07 | category_Learning Machine Learning application_Info inactive no support lab_MLO_ product_technical | |||||||||||||
Byzantine-Robust optimizer
|
Byzantine-Robust Learning on Heterogeneous Datasets via Bucketing
|
Martin Jaggi — MLO | 2022-07-07 | 2022-07-07 | Python | Library | Lab GitHub | 2022-02-02 | MIT | 2022-07-07 | category_Learning Machine Learning application_Info inactive no support lab_MLO_ product_technical | |||||||||||||
Distributed Homomorphic Anomaly Detection
|
Proof-of-concept ML algorithms to do anomaly detection compatible with distributed, encrypted algorithms.
|
Martin Jaggi — MLO | 2024-01-03 | 2024-01-03 | The goal of this project is prove that state-of-the-art anomaly detection algorithms that already achieve over 99% accuracy can be run in a distributed and encrypted fashion. In other words, prove that multiple parties can collectively train a good anomaly detecting model without revealing their data to each other. This has been achieved through transfer learning into a Multi-layer Perceptron (MLP) model which achieved comparable results (95% compared to 99% False-Positive Rate accuracy). | Python | Experiments | Lab GitHub | 2023-09-11 | 2024-01-03 | category_Learning Machine Learning application_Info project_active no support lab_MLO_ product_technical | |||||||||||||
Error Resilient Recurring Gallery Building
|
Correctly re-identify people in different images
|
Touradj Ebrahimi — MMSPG | 2021-11-04 | 2024-03-15 | In person re-identification, people must to be correctly identified in images that come from different cameras or are captured at different points in time. In the open-set case, the above needs be achieved for persons that have not been previously observed. We propose a universal method for building a multi-shot gallery of observed reference identities recurrently online. | Python | Application | Lab GitHub | 2021-02-03 | GPL-3.0 | 2021-11-04 | category_Learning Machine Learning application_Gov inactive no support lab_MMSPG_ product_technical | ||||||||||||
Mesh sampling
|
Generate point cloud based on mesh
|
Touradj Ebrahimi — MMSPG | 2021-11-04 | 2024-03-15 | It is composed of two scripts that perform mesh sampling. They were developed with the goal of generating point cloud datasets for training of learning-based compression algorithms from large-scale mesh datasets such as ModelNet and ShapeNet. | Python | Toolset | Lab GitHub | 2022-02-22 | other | 2022-02-22 | category_Learning Machine Learning application_Info inactive no support lab_MMSPG_ product_technical | ||||||||||||
Point-cloud compressor
|
Learning-based compression of point cloud geometry and color
|
Touradj Ebrahimi — MMSPG | 2021-11-04 | 2024-03-15 | It includes scripts for training and testing a neural network architecture for compression of geometry and color of point clouds. The compression model is based on a convolutional auto-encoder architecture that operates on block partitions of a point cloud. | Python | Toolset | Lab GitHub | 2022-01-04 | other | 2022-01-04 | category_Learning Machine Learning application_Info inactive no support lab_MMSPG_ product_technical | ||||||||||||
peacok
|
Persona Commonsense Knowledge for Consistent and Engaging Narratives
|
Antoine Bosselut — NLP | 2024-02-20 | 2024-02-20 | PeaCoK is a large-scale persona commonsense knowledge graph, containing approximately 100K human-validated persona facts. It schematizes five dimensions of persona knowledge identified in previous studies of human interactive behaviours, and distils facts in this schema from both existing commonsense knowledge graphs and large-scale pretrained language models. The analysis indicates that PeaCoK contains rich and precise world persona inferences that help downstream systems generate more consistent and engaging narratives. | PeaCoK is a project that creates a big network of common knowledge about different personas, with around 100,000 facts that have been checked by humans. It organizes this knowledge into five categories based on how people interact, and it gets this information from existing networks of common knowledge and computer models that have been trained on large amounts of data. The project shows that this network can help create more realistic and engaging stories or conversations in digital systems. | Python | Experiments | Personal Github | 2023-09-01 | 2024-02-20 | category_Learning Machine Learning application_Info project_active no support lab_NLP_ product_technical | ||||||||||||
distilled counterfactual data
|
Automated generation of high-quality counterfactual data.
|
Antoine Bosselut — NLP | 2024-02-20 | 2024-02-20 | DISCO (DIStilled COunterfactual Data) is a method for automatically generating high-quality counterfactual data at scale. It uses a large general language model to generate phrasal perturbations, which are then filtered by a task-specific teacher model to distill high-quality counterfactual data. The method has been applied to natural language inference tasks, demonstrating improved robustness and generalization across distributions. | DISCO is a system that creates alternative versions of data, which can help machines learn better. It uses a language model, similar to how autocorrect works, to create these alternatives. When tested, machines trained with these alternatives performed better, especially in understanding and inferring language. | Python | Framework | Personal Github | 2023-07-27 | MIT | 2024-02-20 | category_Learning Machine Learning application_Info project_active no support lab_NLP_ product_technical | |||||||||||
meditron
|
Medical language model pretraining
|
Antoine Bosselut — NLP | 2024-02-20 | 2024-02-20 | MEDITRON-70B is a large language model (LLM) aimed at democratizing access to medical knowledge. It is an open-source LLM with 7B and 70B parameters, adapted specifically for the medical domain. The model builds on Llama-2 and extends pretraining on a curated medical corpus, including selected PubMed articles and internationally-recognized medical guidelines. | MEDITRON-70B is a computer program designed to understand and generate medical language. It's like a super-smart medical dictionary that's been trained on a vast amount of medical literature. This tool is open for anyone to use and improve, making medical knowledge more accessible to all. | Python | Application | Lab Github | 2024-01-12 | Apache-2.0 | 2024-02-20 | category_Learning Machine Learning application_Health project_active no support lab_NLP_ product_technical | |||||||||||
crow
|
Benchmarking Commonsense Reasoning in Real-World Tasks
|
Antoine Bosselut — NLP | Home page | 2024-02-20 | 2024-02-20 | CRoW is a manually-curated, multi-task benchmark that evaluates the ability of models to apply commonsense reasoning in the context of six real-world NLP tasks. It is constructed using a multi-stage data collection pipeline that rewrites examples from existing datasets using commonsense-violating perturbations. The study reveals a significant performance gap when NLP systems are evaluated on CRoW compared to humans, indicating that commonsense reasoning is far from being solved in real-world task settings. | CRoW is a tool that tests how well computer models can use common sense when performing six different language-related tasks. It does this by taking examples from existing datasets and changing them in ways that violate common sense. The results show that these computer models are still far from matching human performance in using common sense in real-world tasks. | Python | Toolset | Personal Github | 2023-12-14 | 2024-02-20 | category_Learning Machine Learning application_Info project_active no support lab_NLP_ product_technical | |||||||||||
CrowdBreaks
|
Track health trends using public social media data and crowdsourcing
|
Marcel Salathé — SalatheLab | Home page | 2021-01-21 | 2023-03-22 | Application | Lab GitHub | 2022-11-30 | MIT | 2022-11-30 | category_Learning Machine Learning application_Health inactive no support lab_SalatheLab_ product_technical | |||||||||||||
AIcrowd
|
Open platform for data science challenges
|
Marcel Salathé — SalatheLab | Home page | 2021-01-21 | 2023-03-22 | JavaScript, Ruby | Application | Project GitHub | 2022-12-26 | AGPL-3.0 | 2022-12-26 | category_Learning Machine Learning application_Info inactive no support lab_SalatheLab_ product_technical | ||||||||||||
txcl
|
Reproducible Text Classification
|
Marcel Salathé — SalatheLab | 2022-07-07 | 2022-08-11 | Python | Application | Lab GitHub | 2022-02-24 | MIT | 2022-07-07 | category_Learning Machine Learning application_Info inactive no support lab_SalatheLab_ product_technical | |||||||||||||
Synthetic data privacy evaluation
|
Privacy evaluation framework for synthetic data publishing
|
Carmela Troncoso — SPRING | 2021-02-08 | 2022-07-07 | The framework implemented in this library measures the privacy gain of publishing a synthetic dataset in place of the raw data with respect to a specific privacy concern. Each concern is modelled as a privacy adversary that targets an individual record and aims to infer a secret about this record. The library includes implementations of two new privacy attacks on the output of a generative model. To evaluate privacy gain, the framework is instantiated under the chosen threat model and outputs an estimate about how much publishing the synthetic data instead of the raw data reduces the privacy loss of a chosen target record under this threat model. | The framework implemented in this library allows data holders to evaluate how much publishing a synthetic dataset in place of a sensitive raw dataset reduces the privacy risk for the individuals whose data is included in the raw data. The results of the evaluation help to inform decisions about whether to publish the data or which generative model provides the best trade-off between utility and privacy gain. | Python | Library | Lab Github | 2022-05-13 | BSD-3-Clause | 2022-05-13 | category_Learning Machine Learning application_Info inactive no support lab_SPRING_ product_technical | |||||||||||
WebGraph
|
Capturing Advertising and Tracking Information Flows for Robust Blocking
|
Carmela Troncoso — SPRING | 2022-07-07 | 2023-03-22 | ML-based ad and tracker blocker that detects ads and trackers based on their action rather than their content. | Python | Application | Lab GitHub | 2022-08-25 | other | 2022-08-25 | category_Learning Machine Learning application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
DisparateVulnerability
|
Disparate Vulnerability to Membership Inference Attacks
|
Carmela Troncoso — SPRING | 2022-07-07 | 2022-08-11 | A membership inference attack (MIA) against a machine-learning model enables an attacker to determine whether a given data record was part of the model's training data or not. DisparateVulnerability helps in measuring how much a given model can be inverted. | Python | Simulation, Experiments | Lab GitHub | 2021-10-20 | MIT | 2022-07-07 | category_Learning Machine Learning application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
Privacy Protection & Cryptography | ||||||||||||||||||||||||
Proof-of-Personhood
|
Proof that you are an actual person while keeping your anonymity
|
Bryan Ford — DEDIS | 2021-04-13 | 2023-03-15 | Fake accounts are a big problem on the internet, while not all people want or can identify themselves using state-issued identities. Proof-of-personhood proposes to use personhood parties where people have to physically show up and get identified as real persons. Using cryptographic primitives, it is then possible to prove that you were part of that group, without revealing your individual identity. | The internet allows for anonymous participation. While this is great for protecting people like whistleblowers, it can be a burden if people abuse it and create many fake accounts. This project implements a way to prove that you are a unique individual, while still guaranteeing you anonymity while you use services on the internet. Applications range from chat to e-voting and energy-efficient blockchains. | Go, Java, Scala, JavaScript | Application | Lab Github | 2023-03-15 | AGPL-3.0 | 2023-03-15 | category_Privacy Privacy Protection & Cryptography application_Info application_Gov inactive no support lab_DEDIS_ product_technical | |||||||||||
Odyssey
|
Auditable Sharing and Management of Sensitive Data Across Jurisdictions
|
Bryan Ford — DEDIS | Home page | 2020-04-28 | 2022-07-04 | Odyssey is a set of applications and tools that enables sharing of sensitive data between multiple distrustful parties. This project uses state-of-the-art secret management service on the blockchain coupled with an enclave delivery mechanism. | GoLang | Application | Lab GitHub | 2020-10-01 | GPL-3.0 | 2020-10-01 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_DEDIS_ product_demo product_technical | |||||||||||
Calypso
|
Encrypted storage with access control
|
Bryan Ford — DEDIS | 2019-03-18 | 2023-03-15 | Store data encrypted on the blockchain and use a decentralized access control mechanism to define who is allowed to decrypt. It has been developed alongside with OmniLedger. But it can also be used independently of OmniLedger. | GoLang | Application | Lab GitHub | 2022-06-30 | 6500 / 1500 | AGPL-3.0 | 2022-06-30 | category_Privacy Privacy Protection & Cryptography application_Info inactive project_retired_archived lab_DEDIS_ product_presentation product_details product_demo product_hands-on product_technical | |||||||||||
Kyber
|
Cryptographic library
|
Bryan Ford — DEDIS | 2019-03-18 | 2023-03-16 | A low level cryptographic library to create new cryptographic primitives. Not to be used for everyday cryptography. | GoLang | Library | Lab GitHub | 2022-11-30 | 17000 / 4000 | MPL-2.0 | 2022-11-30 | category_Privacy Privacy Protection & Cryptography application_Infra inactive no support lab_DEDIS_ product_technical | |||||||||||
E-voting
|
Decentralized, encrypted, fully anonymous e-voting
|
Bryan Ford — DEDIS | 2019-03-18 | 2023-03-16 | Our e-voting system is inspired by the first version of Helios where the encrypted ballots are shuffled and anonymized before they are decrypted. Instead of the shuffle used in Helios, we implemented a Neff shuffle which is much faster than the original Helios shuffle. | The e-voting used in the EPFL voting since 2018. It allows users to vote on a distributed system that will wait for the election to be over before decrypting the votes, keeping anonymity of the users. | GoLang | Application | Lab GitHub | 2022-06-02 | 1700 / 200 | AGPL-3.0 | 2022-06-02 | category_Privacy Privacy Protection & Cryptography application_Gov inactive no support lab_DEDIS_ product_technical | ||||||||||
PURBs
|
Metadata leakage prevention for encrypted communication and storage
|
Bryan Ford — DEDIS | 2019-03-18 | 2022-07-04 | A library for a novel encoding approach preventing metadata leakage for encrypted communication and data at rest. | Library | Lab GitHub | 2020-01-13 | BSD-3-Clause | 2020-01-13 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_DEDIS_ product_technical | |||||||||||||
Twins
|
Linking patients to their physical and digital TWINs
|
Bryan Ford — DEDIS | Home page | 2021-02-05 | 2022-07-04 | Using organoids for research while protecting patients’ identity | Application | 2021-02-05 | category_Privacy Privacy Protection & Cryptography application_Health inactive no support lab_DEDIS_ product_technical | |||||||||||||||
APIR
|
Authenticated Private Information Retrieval
|
Bryan Ford — DEDIS | 2023-07-05 | 2023-07-05 | This work introduces protocols for authenticated private information retrieval, which enable a client to fetch a record from a database server such that (a) the server does not learn which record the client reads, and (b) the client either obtains the "authentic" record or detects server misbehavior and safely aborts. | Go | Library | Lab GitHub | 2023-05-04 | GPL-3.0 | 2023-07-05 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_DEDIS_ product_technical | ||||||||||||
SecVM
|
Privacy-preserving classification
|
Robert West — DLAB | 2021-11-05 | 2022-07-04 | Today, large amounts of valuable data are distributed among millions of user-held devices, such as personal computers, phones, or Internet-of-things devices. Many companies collect such data with the goal of using it for training machine learning models allowingthem to improve their services. User-held data is, however, often sensitive, and collecting it is problematic in terms of privacy. We propose a novel way of training a supervised classifier in a distributed setting akin to the recently proposed federated learning paradigm, but under the stricter privacy requirement that the server that trains the model is assumed to be untrusted and potentially malicious. We thus preserve user privacy by design, rather than by trust. | Java | Experiments | Lab GitHub | 2020-08-17 |
|
2021-11-05 | category_Privacy Privacy Protection & Cryptography application_Infra inactive no support lab_DLAB_ product_technical | ||||||||||||
DiPPS
|
Differentially Private Propensity Scores for Bias Correction
|
Robert West — DLAB | 2023-03-16 | 2023-03-16 | In surveys, it is typically up to the individuals to decide if they want to participate or not, which leads to participation bias: the individuals willing to share their data might not be representative of the entire population. Similarly, there are cases where one does not have direct access to any data of the target population and has to resort to publicly available proxy data sampled from a different distribution. In this paper, we present Differentially Private Propensity Scores for Bias Correction (DiPPS), a method for approximating the true data distribution of interest in both of the above settings | Python | Experiments | Lab GitHub | 2022-10-02 | other | 2023-03-16 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_DLAB_ product_technical | ||||||||||||
GenIE
|
Autoregressive information extraction system
|
Robert West — DLAB | 2023-03-16 | 2023-03-16 | GenIE uses a sequence-to-sequence model that takes unstructured text as input and autoregressively generates a structured semantic representation of the information expressed in it, in the form of (subject, relation, object) triplets, as output. | Python | Experiments | Lab GitHub | 2023-02-23 | MIT | 2023-03-16 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_DLAB_ product_technical | ||||||||||||
DataShield
|
Configurable data confidentiality and integrity
|
Mathias Payer — HexHive | 2020-02-21 | 2022-07-05 | DataShield can, based on C/C++ languages annotation, protect unwanted access to secret data. By securing only theses datastructures, performance overhead is greatly reduced. | C++ | Library | Lab GitHub | 2021-01-01 | GPL-3.0 | 2021-01-01 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_HexHive_ product_technical | ||||||||||||
Free GAEN alternative
|
LibreCHovid - Alternative to GAEN for contact tracing applications
|
Mathias Payer — HexHive | 2020-10-05 | 2022-07-05 | Apple and Google developed the Google-Apple Exposure Notification system in order to provide a uniform API for contact-tracing apps while preserving user privacy. On Android, GAEN is integrated in the Google Play services, which is proprietary. As a consequence, users wanting to keep a free system, as well as phone manufacturers such as Huawei who don't have Google Play services cannot use these applications. This project aims to offer an alternative framework, based on open-source code, which requires only minimal changes to the apps. | Java, Kotlin | Application, Library, Framework | C4DT GitHub | 2021-07-15 | MPL-2.0 | 2021-07-15 | category_Privacy Privacy Protection & Cryptography application_Health inactive project_retired lab_HexHive_ product_presentation product_app product_technical | ||||||||||||
offchainer
|
Ethereum smart contracts with secret parameters
|
Serge Vaudenay — LASEC | 2021-11-05 | 2022-07-05 | By design, smart contracts’ data and computations are public to all participants. Offchainer helps to create smart contracts with parameters that need to stay secret. We propose a way to keep some of the parameters off-chain, while guaranteeing correctness of the computation, using a combination of a commitment scheme and a zero-knowledge proof system. | JavaScript | Toolset | Personal GitHub | 2020-01-14 | 2021-11-05 | category_Privacy Privacy Protection & Cryptography application_Infra inactive no support lab_LASEC_ product_technical | |||||||||||||
Lattigo
|
A lattice-based multiparty homomorphic encryption library in Go
|
Jean-Pierre Hubaux — LDS | 2019-08-15 | 2023-03-21 | Lattigo is a Go module for Multiparty Homomorphic Encryption, that implements Ring-Learning-With-Errors-based homomorphic encryption primitives. It comprises highly-efficient RNS versions of the BFV and CKKS schemes and their multiparty (N-out-of-N-threshold) counterparts. It also implements a dense-key and sparse-key Bootstrapping procedure for RNS-CKKS. The Lattigo library was originally exclusively developed by the EPFL Laboratory for Data Security until its version 2.4.0. Starting with the release of version 3.0.0, Lattigo is maintained and supported by Tune Insight SA. Lattigo 2.0.0 has been code-reviewed by ELCA in November 2020 and, within the allocated time for the code review, no critical or high-risk issues were found. | Homomorphic encryption (HE) comprises a special class of cryptographic schemes that enable computing directly on encrypted data, without requiring the data to be decrypted first. It therefore enables a set of operations (polynomial evaluation and approximations of non-polynomial functions) to be "blindly" performed on encrypted sensitive data by an untrustworthy party, with a controlled computational overhead. Lattigo implements HE and its multiparty extension (MHE), that enables several entities to collaboratively compute a function on their confidential or sensitive data, without revealing to each other anything besides the result of this computation. Lattigo's multiparty homomorphic encryption technology is an enabler for secure data sharing in multiple scenarios. | GoLang | Library | Lab GitHub | 2023-03-14 | Apache-2.0 | 2023-03-14 | category_Privacy Privacy Protection & Cryptography application_Info application_Infra inactive project_retired lab_LDS_ product_technical | |||||||||||
Unlynx
|
Privacy-preserving data sharing
|
Jean-Pierre Hubaux — LDS | 2019-03-18 | 2022-09-28 | Unlynx offers a series of independent protocols that when combined offer a verifiably-secure and safe way to share sensitive data (e.g., medical data). | GoLang | Application | Lab GitHub | 2021-10-11 | 11000 | non-commercial | 2021-10-11 | category_Privacy Privacy Protection & Cryptography application_Health application_Info inactive no support lab_LDS_ product_technical | |||||||||||
MedCo
|
Privacy-preserving cohort exploration
|
Jean-Pierre Hubaux — LDS | Home page | 2019-03-18 | 2023-03-21 | MedCo enables privacy-preserving cohort exploration by providing ways of querying medical datasets with end-to-end encryption of queries, data at rest, in transfer and during computation, all the while guaranteeing differential privacy. | GoLang | Application | Lab GitHub | 2022-05-25 | 16000 | non-commercial | 2022-05-25 | category_Privacy Privacy Protection & Cryptography application_Health inactive project_retired lab_LDS_ product_presentation product_demo product_technical | ||||||||||
Drynx
|
Decentralized, secure, verifiable system for statistical queries and machine learning on distributed datasets
|
Jean-Pierre Hubaux — LDS | 2019-03-18 | 2022-09-28 | Drynx allows to create privacy-preserving queries on encrypted datasets that are stored at different data providers who don't want to share the original data. Different types of statistical queries are possible, like average, standard deviation, linear and logistic regressions - all using homomorphic encryption, which means that the data is never shared in cleartext. | GoLang | Application | other | 2019-03-18 | category_Privacy Privacy Protection & Cryptography application_Health inactive project_retired_archived lab_LDS_ product_presentation product_demo product_technical | ||||||||||||||
SPINDLE
|
Scalable, privacy-preserving, distributed learning on distributed datasets
|
Jean-Pierre Hubaux — LDS | 2021-01-21 | 2022-09-28 | SPINDLE allows to train and evaluate generalized linear models on datasets that are stored at different data providers who don't want to share the original data. | GoLang | Application | other | 2021-01-21 | category_Privacy Privacy Protection & Cryptography application_Info inactive project_retired_archived lab_LDS_ product_presentation product_details product_demo product_app product_technical | ||||||||||||||
PriCell
|
Privacy preserving neural network learning for diseased cell classification
|
Jean-Pierre Hubaux — LDS | 2022-07-05 | 2022-07-05 | PriCell is a Golang library that ensures CellCnn analysis in privacy-preserving, distributed, N-party setting. | GoLang | Application | Lab GitHub | 2022-03-05 | non-commercial | 2022-07-05 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_LDS_ product_technical | ||||||||||||
CRISP
|
Offload computation to services while keeping data private
|
Jean-Pierre Hubaux — LDS | 2022-07-05 | 2022-07-05 | CRISP relies on quantum-resistant lattice-based approximate homomorphic encryption primitives that support flexible polynomial computations on encrypted data without degrading utility. To ensure data integrity, it employs lattice-based commitments and zero-knowledge proofs based on the multi-party-computation-in-the-head paradigm, which enables users to simultaneously convince service providers about the correctness of the encrypted data as well as the authenticity of the underlying plaintext data, using the deployed certification mechanism. | GoLang | Application | Lab GitHub | 2021-12-03 | Apache-2.0 | 2022-07-05 | category_Privacy Privacy Protection & Cryptography application_Health application_Gov inactive no support lab_LDS_ product_technical | ||||||||||||
Bayesian Differential Privacy
|
Data distribution-aware differential privacy
|
Boi Faltings — LIA | 2021-11-04 | 2022-07-05 | Traditional differential privacy is independent of the data distribution. However, this is not well-matched with the modern machine learning con-text, where models are trained on specific data. As a result, achieving meaningful privacy guarantees in ML often excessively reduces accuracy. Bayesian differential privacy (BDP) takes into account the data distribution to provide more practical privacy guarantees. | Python | Experiments | Personal GitHub | 2020-08-12 | Apache-2.0 | 2021-11-04 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_LIA_ product_technical | ||||||||||||
PriBot
|
Automated analysis of privacy policies
|
Karl Aberer — LSIR | Home page | 2019-03-18 | 2024-02-07 | Pribot uses an automated framework for privacy policy analysis (Polisis). It enables scalable, dynamic, and multi-dimensional queries on natural language privacy policies. | Python, JavaScript | Application | Private GitHub | commercial | 2019-03-18 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_LSIR_ product_technical | ||||||||||||
PrivySeal
|
Privacy assistant for installing third party cloud apps
|
Karl Aberer — LSIR | 2019-03-18 | 2022-07-06 | When installing third party apps for cloud services such as Google Drive or DropBox, PrivySeal compares the required permissions to the ones actually needed, and informs users about the data-driven insights that these apps can make about them (e.g. topics of interest, activity patterns, etc.). The goal is to make users aware of these facts and discourage them to install over-privileged apps. | JavaScript, Python | Application | Private GitHub | 2019-03-18 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_LSIR_ product_technical | ||||||||||||||
ProShare
|
Privacy-preserving photo sharing
|
Touradj Ebrahimi — MMSPG | Home page | 2019-03-18 | 2024-03-15 | Proshare allows you to share your photos, while protecting sensitive regions and hiding secret messages. | Application | 2019-03-18 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_MMSPG_ product_technical | |||||||||||||||
ProCam
|
Privacy-preserving camera system tracking individual body temperatures
|
Touradj Ebrahimi — MMSPG | Home page | 2022-09-14 | 2024-03-15 | Many contagious diseases such as Covid19 can induce high temperatures and fever in a significant number of affected individuals. Contact tracing of such individuals and analysis of their behaviour and interactions with others and their environment can be a useful tool to contain spread of contagious diseases. A key component of ProCam is an innovative camera that combines infrared/thermal and visible light sensors while securing the visible light images. Privacy-preserving camera systems are important as more and more people are concerned about the ethics of massive surveillance and invasion of privacy. ProCam solves this by using a cryptographic tool to hide the visible light images, only allowing to retrieve identites with the use of cryptographic keys. | Application | Project GitLab | 2022-01-04 | 2022-09-14 | category_Privacy Privacy Protection & Cryptography application_Info application_Health inactive no support lab_MMSPG_ product_technical | |||||||||||||
wehey
|
WeHe𝕐 - Localizing Traffic Differentiation
|
Katerina Argyraki — NAL | Home page | 2024-03-05 | 2024-03-05 | This project detects traffic differentiation using end-to-end throughput comparisons between an original network trace and a bit-inverted version that hides any packet payload patterns. It then attempts to localize where the differentiation occurs by analyzing measurements from additional paths that converge at the client's ISP. The localization relies on throughput comparison and loss trend correlation between these paths. | This project aims to provide evidence of traffic differentiation practices by Internet providers. It first detects if a provider differentiates against certain types of traffic. If differentiation is detected, additional tests are run to determine if it is occurring within the user's Internet provider. This can empower users to make informed choices about their Internet access and assist policymakers in understanding the landscape. The system does not require access to provider infrastructure, instead relying on end-to-end performance measurements from user devices. | Python | Application | Old Lab Github | 2023-12-05 | Apache-2.0 | 2024-03-05 | category_Privacy Privacy Protection & Cryptography application_Infra project_active no support lab_NAL_ product_technical | ||||||||||
tero project
|
Studying Internet latency from Gaming Footage
|
Katerina Argyraki — NAL | Home page | 2024-03-08 | 2024-03-08 | The system downloads gaming footage from the Twitch streaming platform. It extracts the displayed latency measurements using optical character recognition and knowledge of each game's user interface. It maps streamers to locations using natural language processing on their social media profiles. It analyzes the measurements to produce latency distributions per geographical location. | The project collects screenshots from video game live streams on Twitch. It reads the Internet latency numbers displayed on screen during gameplay. It figures out the streamer's location from their social media information. It processes all this data to estimate the Internet speed in different parts of the world. | Python | Application | Lab Github | 2023-12-12 | 2024-03-08 | category_Privacy Privacy Protection & Cryptography application_Infra project_active no support lab_NAL_ product_technical | |||||||||||
Synthetic data privacy evaluation
|
Privacy evaluation framework for synthetic data publishing
|
Carmela Troncoso — SPRING | 2021-02-08 | 2022-07-07 | The framework implemented in this library measures the privacy gain of publishing a synthetic dataset in place of the raw data with respect to a specific privacy concern. Each concern is modelled as a privacy adversary that targets an individual record and aims to infer a secret about this record. The library includes implementations of two new privacy attacks on the output of a generative model. To evaluate privacy gain, the framework is instantiated under the chosen threat model and outputs an estimate about how much publishing the synthetic data instead of the raw data reduces the privacy loss of a chosen target record under this threat model. | The framework implemented in this library allows data holders to evaluate how much publishing a synthetic dataset in place of a sensitive raw dataset reduces the privacy risk for the individuals whose data is included in the raw data. The results of the evaluation help to inform decisions about whether to publish the data or which generative model provides the best trade-off between utility and privacy gain. | Python | Library | Lab Github | 2022-05-13 | BSD-3-Clause | 2022-05-13 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_technical | |||||||||||
ClaimChain
|
Prove your identity with regards to others
|
Carmela Troncoso — SPRING | Home page | 2019-03-18 | 2022-07-07 | A decentralized public key distribution system with an emphasis on privacy preservation. | Python | Library | Project GitHub | 2018-10-13 | MIT | 2019-03-18 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_technical | |||||||||||
Lightnion
|
Anonymous communication in browsers via the Tor network
|
Carmela Troncoso — SPRING | 2019-03-18 | 2022-07-07 | A Javascript library for browsers for anonymous communication via the Tor network. The library connects to the Tor network to enable websites to send and retrieve data anonymously (e.g. send sensitive information without identifying the user) without requiring users to install special software such as the Tor browser. | JavaScript, Python | Library | Lab GitHub | 2020-01-20 | BSD-3-Clause | 2020-01-20 | category_Privacy Privacy Protection & Cryptography application_Infra inactive no support lab_SPRING_ product_technical | ||||||||||||
Trickster
|
Sophisticated attacks on Machine Learning models
|
Carmela Troncoso — SPRING | 2019-03-18 | 2022-07-07 | Trickster allows to attack machine learning models where the attack needs to be more sophisticated than simply adding some noise to an image. One example is to evade an abuse detection model, for example, social media bot detection, or a malware detector. | Python | Library | Lab GitHub | 2019-04-18 | link | MIT | 2019-04-18 | category_Privacy Privacy Protection & Cryptography application_Infra inactive no support lab_SPRING_ product_technical | |||||||||||
Hippiepug
|
Sublinear-traversal blockchains and efficient key-value Merkle trees
|
Carmela Troncoso — SPRING | 2019-03-18 | 2022-07-07 | This library provides implementations of two cryptographic data structures: fast traversal blockchain structure, and a verifiable dictionary, implemented as a key-value Merkle tree. | Python | Library | Lab GitHub | 2019-10-22 | MIT | 2019-10-22 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
MCSAuditing
|
Evaluation code for mobile crowdsourcing privacy
|
Carmela Troncoso — SPRING | 2019-07-30 | 2022-07-07 | This tool implements the evaluation framework described in the paper | Python | Application | Lab GitHub | 2020-10-20 | GPL-3.0 | 2020-10-20 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
Zero-Knowledge Swiss Knife
|
Library for prototyping composable zero-knowledge proofs in the discrete-log setting
|
Carmela Troncoso — SPRING | 2020-02-06 | 2022-07-07 | Python | Application | Lab GitHub | 2022-03-02 | link | MIT | 2022-03-02 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
Decentralized Privacy-Preserving Proximity Tracing
|
A privacy preserving exposure notification protocol to inform people about possible exposure to the COVID-19 virus
|
Carmela Troncoso — SPRING | 2020-10-05 | 2023-03-22 | The goal of the DP3T protocol is to simplify and accelerate the process of identifying people who have been in contact with a positively CoVid-19 tested person, thus providing a technological foundation to help slow the spread of the SARS-CoV-2 virus. The system aims to minimise privacy and security risks for individuals and communities and guarantee the highest level of data protection. | Java, Swift | Library | Public Github | 2022-12-14 | link | MPL-2.0 | 2022-12-14 | category_Privacy Privacy Protection & Cryptography application_Gov application_Health application_Infra inactive project_retired lab_SPRING_ product_presentation product_technical | |||||||||||
CrowdNotifier
|
Decentralized Privacy-Preserving Presence Tracing
|
Carmela Troncoso — SPRING | 2021-01-21 | 2022-07-07 | CrowdNotifier is a protocol that can complement manual contact tracing by efficiently notifying visitors of venues and events with SARS-CoV-2-positive attendees. It provides strong privacy and abuse- resistance, and show that it can scale to handle notification at a national scale. | TypeScript | Library | Public Github | 2021-09-09 | link | MPL-2.0 | 2021-09-09 | category_Privacy Privacy Protection & Cryptography application_Health application_Gov inactive project_retired lab_SPRING_ product_presentation product_technical | |||||||||||
Petrelic
|
Wrapper around RELIC pairings
|
Carmela Troncoso — SPRING | 2021-01-21 | 2022-07-07 | petrelic is a Python wrapper around RELIC. It provides a simple python interface to the BLS-381 pairing and RELIC's big number class. | Python | Library | Lab Github | 2022-02-15 | link | MIT | 2022-02-15 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_technical | |||||||||||
SSCred
|
Library to facilitate anonymous authentication
|
Carmela Troncoso — SPRING | 2021-01-21 | 2023-03-22 | SSCred provides the following primitives: 1) Anonymous credential light (ACL) 2) Abe's Blind signature 3) Blinded Pedersen commitment | Python | Library | Lab Github | 2022-07-08 | BSD-3-Clause | 2022-07-08 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
mia
|
Library for running membership inference attacks (MIA) against machine learning models
|
Carmela Troncoso — SPRING | 2021-01-21 | 2022-07-07 | These are attacks against privacy of the training data. In MIA, an attacker tries to guess whether a given example was used during training of a target model or not, only by querying the model. See more in the paper by Shokri et al. Currently, you can use the library to evaluate the robustness of your Keras or PyTorch models to MIA. | Python | Application | Lab Github | 2021-10-20 | MIT | 2021-10-20 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
lightarti-rest
|
A Rust library to perform REST requests over the Tor network for mobile applications.
|
Carmela Troncoso — SPRING | 2021-08-26 | 2023-03-22 | This library builds upon the arti-library. It wraps the arti-library for easy use by mobile applications. Instead of downloading the whole dictionary of the Tor-nodes every hour, a prepared dictionary is downloaded once per week. This reduces bandwidth requirements, as the whole dictionary is around 3MB. The prepared dictionary only weighs 200kB. | Rust, Swift, Java | Library | C4DT Github | 2022-11-14 | MIT | 2022-11-14 | category_Privacy Privacy Protection & Cryptography application_Gov application_Infra inactive project_incubated_market lab_SPRING_ product_presentation product_app product_technical | ||||||||||||
VOTEAGAIN
|
Scalable coercion-resistant voting system
|
Carmela Troncoso — SPRING | 2021-11-04 | 2022-07-07 | The strongest threat model for voting systems considerscoercion resistance: protection against coercers that force voters to modify their votes, or to abstain. Existing remote voting systems either do not provide this property; require an ex-pensive tallying phase; or burden users with the need to store cryptographic key material and with the responsibility to deceive their coercers. VoteAgain is a scalable voting scheme that relies on the revoting paradigm to provide coercion resistance. | Python | Experiments | Lab GitHub | 2022-03-22 | MIT | 2022-03-22 | category_Privacy Privacy Protection & Cryptography application_Gov inactive no support lab_SPRING_ product_technical | ||||||||||||
DatashareNetwork
|
Decentralized privacy-preserving search engine for investigative journalists
|
Carmela Troncoso — SPRING | 2021-11-04 | 2023-03-22 | Investigative journalists collect large numbers of digital documents during their investigations. These documents can greatly benefit other journalists’ work. However, many of these documents contain sensitive information. Hence, possessing such documents can endanger reporters, their stories, and their sources. Consequently, many documents are used only for single, local, investigations. DatashareNetwork is a decentralized and privacy-preserving search system that enables journalists world-wide to find documents via a dedicated network of peers. | Python | Simulation | Lab GitHub | 2022-09-21 | BSD-3-Clause | 2022-09-21 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
Tandem
|
Centralized privacy-preserving secure key storage
|
Carmela Troncoso — SPRING | 2021-11-04 | 2022-07-07 | Users’ devices, e.g., smartphones or laptops, are typically incapable of securely storing and processing cryptographic keys. Tandem is a novel set of protocols for securing cryptographic keys with support from a central server. | C | Simulation | Lab GitHub | 2020-06-14 | BSD-3-Clause | 2021-11-04 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
WebGraph
|
Capturing Advertising and Tracking Information Flows for Robust Blocking
|
Carmela Troncoso — SPRING | 2022-07-07 | 2023-03-22 | ML-based ad and tracker blocker that detects ads and trackers based on their action rather than their content. | Python | Application | Lab GitHub | 2022-08-25 | other | 2022-08-25 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
DisparateVulnerability
|
Disparate Vulnerability to Membership Inference Attacks
|
Carmela Troncoso — SPRING | 2022-07-07 | 2022-08-11 | A membership inference attack (MIA) against a machine-learning model enables an attacker to determine whether a given data record was part of the model's training data or not. DisparateVulnerability helps in measuring how much a given model can be inverted. | Python | Simulation, Experiments | Lab GitHub | 2021-10-20 | MIT | 2022-07-07 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||
Tandem / Monero
|
Applying the privacy-preserving algorithms of Tandem to the usage of the Monero blockchain.
|
Carmela Troncoso — SPRING | 2022-08-25 | 2022-08-25 | One challenge when using private keys is that if they get stolen the damage can be very big, especially when used in blockchains to protect funds. Sharing the private key between multiple entities can secure the usage a bit, but most algorithms don't give privacy. In the context of a privacy-preserving service like Monero, where the source and destination of a transaction are hidden, these algorithms would leak information about the user. Applying Tandem to transactions on the Monero blockchain allows to protect the private key in case of loss, while keeping the owner of the transaction private. | Simulation | 2022-08-25 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_presentation product_technical | ||||||||||||||||
Private Collection Matching Protocols
|
Framework to build privacy-preserving Private Collection Matching (PCM) systems
|
Carmela Troncoso — SPRING | 2023-03-22 | 2023-03-22 | We introduce Private Collection Matching (PCM) problems, in which a client aims to determine whether a collection of sets owned by a server matches their interests. Existing privacy-preserving cryptographic primitives cannot solve PCM problems efficiently without harming privacy. We propose a modular framework that enables designers to build privacy-preserving PCM systems that output one bit: whether a collection of server sets matches the client's set. The communication cost of our protocols scales linearly with the size of the client's set and is independent of the number of server elements. We demonstrate the potential of our framework by designing and implementing novel solutions for two real-world PCM problems: determining whether a dataset has chemical compounds of interest, and determining whether a document collection has relevant documents. Our evaluation shows that we offer a privacy gain with respect to existing works at a reasonable communication and computation cost. | Framework | 2023-03-22 | category_Privacy Privacy Protection & Cryptography application_Info inactive no support lab_SPRING_ product_technical | ||||||||||||||||
E-ID Demo (Issuer & Verifier)
|
Demo for the swiss E-ID ledger. It includes an issuer and a verifier.
|
Jean-Pierre Hubaux — C4DT | 2024-01-09 | 2024-01-09 | The issuer is a web application that allows to create a new identity and issue a credential. The verifier is a web application that allows to verify the credential. | TypeScript | Application | Lab GitHub | 2024-01-01 | 2024-01-09 | category_Privacy Privacy Protection & Cryptography application_Gov project_active no support lab_C4DT_ product_technical | |||||||||||||
arkworks
|
Rust ecosystem for zkSNARK programming
|
Alessandro Chiesa — COMPSEC | Home page | 2024-03-13 | 2024-03-13 | Arkworks provides efficient implementations of components required for zkSNARK applications. It includes libraries for finite fields, elliptic curves, R1CS constraints, and SNARK proving systems like Groth16 and Marlin. It defines interfaces for relations like R1CS, and for building SNARK circuits using gadgets and subcircuits. | Arkworks is a collection of Rust libraries for building privacy-preserving applications using zero-knowledge proofs called zkSNARKs. It has efficient implementations of the underlying cryptographic primitives like finite fields and elliptic curves. It also provides tools to encode computations as circuits that can be proven using zkSNARKs while keeping inputs private. | Rust | Library | Project Github | 2024-03-08 | Apache-2.0 | 2024-03-13 | category_Privacy Privacy Protection & Cryptography application_Finance application_Health application_Info project_active no support lab_COMPSEC_ product_technical | ||||||||||
Software Verification | ||||||||||||||||||||||||
determ-checker
|
Find non-determinism in golang code
|
Bryan Ford — DEDIS | 2022-07-04 | 2022-07-04 | Go | Toolset | Lab Github | 2022-06-20 | other | 2022-07-04 | category_Verification Software Verification application_Info inactive no support lab_DEDIS_ product_technical | |||||||||||||
tinyNF
|
A simpler and faster NIC driver model for network functions
|
George Candea — DSLAB | Home page | 2021-01-22 | 2023-03-20 | By merely replacing the state-of-the-art driver with our driver, formal verification of the entire software stack completes in 7x less time, while the verified functions’ throughput improves by 160%. | C | Library | Lab Github | 2023-02-17 | MIT | 2023-02-17 | category_Verification Software Verification application_Infra inactive no support lab_DSLAB_ product_technical | |||||||||||
Vigor
|
Formally verified and performant software middleboxes
|
George Candea — DSLAB | Home page | 2019-07-26 | 2022-07-05 | Software stack and toolchain for building and running software middleboxes that are guaranteed to be correct, while providing competitive performance and preserving developer productivity. With Vigor, developers write the middlebox code (i.e., the software network function, or NF) in C atop a standard packet-processing framework, putting persistent state in data structures from a Vigor-provided library. Vigor then automatically verifies that the resulting software stack correctly implements a specification (written in Python). | C, Python | Framework | Project Github | 2021-03-06 | MIT |
|
2021-03-06 | category_Verification Software Verification application_Infra inactive no support lab_DSLAB_ product_technical | ||||||||||
BOLT
|
Performance contracts for software network functions
|
George Candea — DSLAB | Home page | 2021-02-03 | 2022-07-05 | We propose the notion of performance contracts for NFs. A performance contract enables users to predict and scrutinize NF performance at fine granularities without having to run them. It provider users with an abstraction that enables them to easily parameterize arbitrary input workloads, whether typical, exceptional or adversarial. Given only this abstract description of the workload and not a concrete instance, the contract predicts the performance of the NF without actually running it. The performance predictions are in terms of human-readable formulae, expressed as a function of workload and environment variables, that we together call Performance Critical Variables (PCVs). informed development decisions. | Software network functions (NFs), or middleboxes, promise flexibility and easy deployment of network services but face the serious challenge of unexpected performance behaviour. This behaviour makes it harder for network operators to provision their networks and exposes a new attack surface for adversaries seeking to degrade network performance. The goal of our work is to provide network operators and NF developers with comprehensive understanding of the NF’s entire performance profile, before it is deployed. Such understanding would, for instance, allow operators to conduct precise capacity planning and developers to make informed development decisions. | C | Application | Project GitHub | 2019-08-05 | 2021-02-03 | category_Verification Software Verification application_Infra inactive no support lab_DSLAB_ product_technical | |||||||||||
Failure Sketching
|
Automated debugging technique
|
George Candea — DSLAB | Home page | 2019-03-18 | 2022-07-05 | Failure sketching is an automated debugging technique that provides developers with an explanation (“failure sketch”) of the root cause of a failure that occurred in production. A failure sketch only contains program statements that lead to the failure, and it clearly shows the differences between failing and successful runs; these differences guide developers to the root cause. | Python | Application | Lab GitHub | 2015-10-06 | BSD-3-Clause | 2019-03-18 | category_Verification Software Verification application_Infra inactive no support lab_DSLAB_ product_technical | |||||||||||
SVSHI
|
Verification framework for smart infrastructures
|
George Candea — DSLAB | 2022-07-05 | 2023-03-20 | The Secure and Verified Smart Home Infrastructure project is a platform/runtime/toolchain for developing and running formally verified smart infrastructures, such as smart buildings, smart cities, etc. | Python, Scala | Framework | Lab GitHub | 2022-08-12 | MIT | 2022-08-12 | category_Verification Software Verification application_Infra inactive no support lab_DSLAB_ product_technical | ||||||||||||
Klint
|
Automated verification of network function binaries
|
George Candea — DSLAB | 2022-07-05 | 2024-03-08 | Network functions are building blocks for "networks:" a router, a NAT or anything transforming packets. As it is handling all the traffic for a given infrastructure, it is crucial that it is implemented correctly. Klint helps in building and verifying theses functions. | C, Python | Toolset | Lab GitHub | 2024-02-19 | MIT | 2024-02-19 | category_Verification Software Verification application_Infra project_active project_retired lab_DSLAB_ product_presentation product_technical | ||||||||||||
PIX
|
Show performance of network functions
|
George Candea — DSLAB | 2022-07-05 | 2023-03-20 | Network functions speed is very important for any network-heavy infrastructure. PIX extracts performance metrics for these automatically, to help find regressions and bottlenecks. | C | Toolset | Lab GitHub | 2022-07-14 | MIT | 2022-07-14 | category_Verification Software Verification application_Infra inactive no support lab_DSLAB_ product_technical | ||||||||||||
Stainless
|
Verification framework for a subset of the Scala programming language
|
Viktor Kunčak — LARA | Home page | 2019-03-18 | 2023-03-21 | Stainless is a tool for verifying Scala programs developed by the LARA. It can verify that your program is correct for all inputs, it can report inputs for which your program fails when they exist, and it can prove that functions do not loop. | Scala | Library | Lab GitHub | 2023-03-20 | link | Apache-2.0 |
|
2023-03-20 | category_Verification Software Verification application_Infra inactive no support lab_LARA_ product_technical | |||||||||
Stainless for smart contracts
|
Stainless fork aimed at smart contracts
|
Viktor Kunčak — LARA | Home page | 2022-09-26 | 2022-09-26 | Stainless is a tool for verifying Scala programs developed by the LARA. This fork can perform verification of Smart Contracts. | Scala | Library, Application | Lab GitHub | 2020-10-03 | Apache-2.0 | 2022-09-26 | category_Verification Software Verification application_Infra inactive project_retired_archived lab_LARA_ product_presentation product_demo product_technical | |||||||||||
Inox
|
Constraint solver for Stainless
|
Viktor Kunčak — LARA | 2019-03-18 | 2023-03-21 | Inox can be used to prove constraints on methods in a program, to attest the correctness of these parts. | Scala | Library, Application | Lab GitHub | 2023-02-28 | Apache-2.0 | 2023-02-28 | category_Verification Software Verification application_Infra inactive no support lab_LARA_ product_technical | ||||||||||||
Rust-Stainless
|
Rust frontend for Stainless
|
Viktor Kunčak — LARA | 2021-11-04 | 2022-07-05 | Rust | Application | Lab GitHub | 2021-07-22 | Apache-2.0 | 2021-11-04 | category_Verification Software Verification application_Infra inactive no support lab_LARA_ product_technical | |||||||||||||
LISA
|
A Proof Assistant based on first order logic, sequent calculus and set theory.
|
Viktor Kunčak — LARA | 2022-07-05 | 2023-03-21 | Scala | Framework, Application | Lab GitHub | 2023-02-24 | Apache-2.0 | 2023-02-24 | category_Verification Software Verification application_Info inactive no support lab_LARA_ product_technical | |||||||||||||
Other | ||||||||||||||||||||||||
CLHT
|
Very fast and scalable, resizable hash table
|
Rachid Guerraoui — DCL | Home page | 2022-07-04 | 2022-07-04 | CLHT contains both a lock-based and lock-free implementation of hash tables. Its optimistic design allows for 50 MegaOP/s in a concurrent run. | C | Library | Lab GitHub | 2021-10-04 | MIT | 2022-07-04 | category_Other Other application_Info inactive no support lab_DCL_ product_technical | |||||||||||
uKharon
|
Membership service for microsecond applications
|
Rachid Guerraoui — DCL | 2022-07-04 | 2022-07-04 | C | Simulation | Lab GitHub | 2022-05-24 | other | 2022-07-04 | category_Other Other application_Info inactive no support lab_DCL_ product_technical | |||||||||||||
HovercRaft
|
Improved scalable and fault-tolerant distributed architecture
|
Edouard Bugnion — DCSL | 2021-11-05 | 2024-02-20 | Cloud platform services must simultaneously be scalable, meet low tail latency service-level objectives, and be resilient to a combination of software, hardware, and network failures. Replication plays a fundamental role in meeting both the scalability and the fault-tolerance requirement, but is subject to opposing requirements: (1) scalability is typicallyachieved by relaxing consistency; (2) fault-tolerance is typically achieved through the consistent replication of state machines. Adding nodes to a system can therefore either increase performance at the expense of consistency, or increase resiliency at the expense of performance. We propose HovercRaft, a new approach by which adding nodes increases both the resilience and the performance of general-purpose state-machine replication. | C, Python | Experiments | Lab GitHub | 2020-03-29 | 2021-11-05 | category_Other Other application_Infra inactive no support lab_DCSL_ product_technical | |||||||||||||
CRAB
|
L4 load balancer for cloud provider
|
Edouard Bugnion — DCSL | 2022-07-04 | 2024-02-20 | Connection Redirect LoAd Balancer is a new scheme for L4 load balancing targeting specifically internal cloud workloads. | C | Experiments | Lab GitHub | 2021-09-10 | 2022-07-04 | category_Other Other application_Infra inactive no support lab_DCSL_ product_technical | |||||||||||||
matchertext
|
Matchertext is a syntactic discipline that allows strings in one compliant language to be embedded verbatim without escaping (e.g., via cut-and-paste) into itself or another compliant language.
|
Bryan Ford — DEDIS | 2022-03-16 | 2022-03-16 | Go | Toolset | Lab Github | 2022-11-08 | other | 2022-11-08 | category_Other Other application_Other inactive no support lab_DEDIS_ product_technical | |||||||||||||
gem5-X
|
gem5-based simulator with architectural extensions
|
David Atienza — ESL | Home page | 2021-11-04 | 2022-07-05 | gem5-X stands for a gem5-based full-system simulator with architectural eXtensions. It is a gem5-based simulator that allows architectural exploration and optimization of heterogeneous systems | C++, Python | Framework | Lab GitHub | 2021-08-03 | link |
Gem5-X: A Many-Core Heterogeneous Simulation Platform for Architectural Exploration and Optimization
|
2021-11-04 | category_Other Other application_Infra inactive no support lab_ESL_ product_technical | ||||||||||
3D-ICE
|
Thermal simulator for stacked integrated circuits
|
David Atienza — ESL | Home page | 2022-07-05 | 2022-07-05 | Hardware is getting smaller every day, components are being stacked on top of each other, in order to make theses more compact. But as it is getting smaller, it's also getting hotter. 3D-ICE helps in modelling how thermal flux are behaving. | C | Simulation | Lab GitHub | 2022-06-20 | link |
|
2022-07-05 | category_Other Other application_Infra inactive no support lab_ESL_ product_technical | ||||||||||
SLICO Superpixels
|
Efficient Superpixels
|
Sabine Süsstrunk — IVRL | Home page | 2019-03-18 | 2022-07-05 | Superpixels, which define similar regions in an image, are becoming increasingly popular for use in computer vision applications. This research proposes a faster and more accurate way to get these pixels. | C++ | Application | Lab Download | 2019-03-18 | category_Other Other application_Info inactive no support lab_IVRL_ product_technical | |||||||||||||
Image Completion
|
Complete an image whose 99% pixels are randomly missing
|
Sabine Süsstrunk — IVRL | Home page | 2019-03-18 | 2022-07-05 | It is challenging to complete an image whose 99% pixels are randomly missing. We present a solution to this extreme image completion problem. | MATLAB | Application | Lab Download | 2019-03-18 | category_Other Other application_Info inactive no support lab_IVRL_ product_technical | |||||||||||||
ADEFAN
|
Fast and energy-efficient video encoder and decoder
|
Sabine Süsstrunk — IVRL | Home page | 2021-11-05 | 2022-07-05 | ADEFAN (Adaptive Depth Efficient Filtering by Adaptive Normaliztion) is a state-of-the-art technology for encoding and decoding videos that presents many advantages over other available methods. It features extremely energy-efficient encoder, extremely fast encoding process, no specialized hardware for encoding and added security with encoding key. It is this ideal for video-transmitting IoT devices, continuously transmitting surveillance cameras, emergency deployment in areas without much infrastructure (remote, natural disaster relief, etc.). | Python | Application | Lab GitHub | 2020-04-15 | MIT | 2021-11-05 | category_Other Other application_Info inactive no support lab_IVRL_ product_technical | |||||||||||
Scala.js
|
Use Scala to develop Web frontends
|
Martin Odersky — LAMP | Home page | 2021-11-05 | 2023-03-21 | Scala.js optimizes your Scala code into highly efficient JavaScript. Strong typing guarantees your code is free of silly mistakes. You can use any JavaScript library right from your Scala.js code, either in a statically or dynamically typed way. | Scala | Library, Toolset | Project GitHub | 2023-03-20 | Apache-2.0 | 2023-03-20 | category_Other Other application_Infra inactive no support lab_LAMP_ product_technical | |||||||||||
Scala Native
|
Generate native code from Scala
|
Martin Odersky — LAMP | Home page | 2021-11-05 | 2023-03-21 | Native is an optimizing ahead-of-time compiler and lightweight managed runtime designed specifically for Scala. It features low-level primitices, seamless interop with native code and instant startup time. | Scala, C | Library, Toolset | Project GitHub | 2023-03-20 | link | Apache-2.0 | 2023-03-20 | category_Other Other application_Infra inactive no support lab_LAMP_ product_technical | ||||||||||
Application, Dynamatic
|
High-level synthesis compiler
|
Paolo Ienne — LAP | Home page | 2021-11-04 | 2023-03-21 | Dynamatic is an academic, open-source high-level synthesis compiler that produces synchronous dynamically-scheduled circuits from C/C++ code. It delivers significant performance improvements compared to state-of-the-art commercial tools in specific situations. | C++ | Toolset | Personal GitHub | 2023-01-05 | MIT | 2023-01-05 | category_Other Other application_Info inactive no support lab_LAP_ product_technical | |||||||||||
DynaBurst
|
Group DRAM bursts
|
Paolo Ienne — LAP | 2022-07-05 | 2022-07-05 | DynaBurst is a highly flexible, FPGA-optimized, memory system for bandwidth-bound accelerators that perform frequent irregular accesses to DRAM memory. DynaBurst is an extension of the lab's miss-optimized nonblocking cache which groups incoming requests into bursts of memory requests. | VHDL | Application, Library | Lab GitHub | 2019-09-06 | MIT | 2022-07-05 | category_Other Other application_Info inactive no support lab_LAP_ product_technical | ||||||||||||
Scallion
|
A library for writing parsers and pretty printers for LL(1) languages in Scala.
|
Viktor Kunčak — LARA | 2022-07-05 | 2023-03-21 | Scala | Library | Lab GitHub | 2022-10-03 | Apache-2.0 | 2022-10-03 | category_Other Other application_Info inactive no support lab_LARA_ product_technical | |||||||||||||
DECOPT
|
Decomposition Convex Optimization
|
Volkan Cevher — LIONS | Home page | 2021-11-04 | 2022-07-05 | Package for the generic constrained convex optimization problems. | MATLAB | Framework, Experiments | Lab Download |
|
2021-11-04 | category_Other Other application_Info inactive no support lab_LIONS_ product_technical | ||||||||||||
EPFL Logic Synthesis Libraries
|
Collection of modular libraries for the development of logic synthesis applications
|
Giovanni De Micheli — LSI | 2021-11-04 | 2022-07-05 | C++ | Framework | Lab GitHub | 2022-06-08 | MIT | 2022-06-08 | category_Other Other application_Info inactive no support lab_LSI_ product_technical | |||||||||||||
EPFL Combinational Benchmark Suite
|
Benchmarks for logical gates optimizer
|
Giovanni De Micheli — LSI | 2022-07-05 | 2023-03-21 | VHDL | Simulation | Lab GitHub | 2022-10-11 | MIT | 2022-10-11 | category_Other Other application_Info inactive no support lab_LSI_ product_technical | |||||||||||||
CirKit
|
Logic synthesis and optimization framework
|
Giovanni De Micheli — LSI | 2022-07-05 | 2022-07-05 | C++ | Toolset | Personal GitHub | 2020-02-23 | MIT | 2022-07-05 | category_Other Other application_Info inactive no support lab_LSI_ product_technical | |||||||||||||
QualityCrowd
|
Crowdsourcing image quality assessment
|
Touradj Ebrahimi — MMSPG | 2021-05-21 | 2024-03-15 | Video quality assessment with subjective testing is both time consuming and expensive. An interesting new approach to traditional testing is the so-called crowdsourcing, moving the testing effort into the internet. QualityCrowd allows to perform subjective quality assessment with crowdsourcing. QualityCrowd allows codec independent quality assessment with a simple web interface, usable with common web browsers. | PHP, JavaScript | Application | Lab GitHub | 2021-02-23 | BSD-3-Clause | 2021-05-21 | category_Other Other application_Info inactive no support lab_MMSPG_ product_technical | ||||||||||||
Point cloud web renderer
|
Show point cloud files using three.js
|
Touradj Ebrahimi — MMSPG | 2021-05-21 | 2024-03-15 | The renderer supports visualization of point clouds with real-time interaction, while viewing conditions can be configured. The user is able to choose between either an adaptive, or a fixed splat size rendering mode in order to display the models. The renderer supports both PLY and PCD point cloud file formats. The current settings have been optimized for voxelized contents, without this limiting its usage, since any point cloud can be displayed independently of its geometric structure. | JavaScript | Library | Lab GitHub | 2021-05-11 | GPL-3.0 | 2021-05-21 | category_Other Other application_Info inactive no support lab_MMSPG_ product_technical | ||||||||||||
Learned Residual PCC
|
Learning residual coding for point clouds
|
Touradj Ebrahimi — MMSPG | 2021-11-04 | 2024-03-15 | Recent advancements in acquisition of three-dimensional models have been increasingly drawing attention toimaging modalities based on the plenoptic representations, such as light fields and point clouds. Since point cloudmodels can often contain millions of points, each including both geometric positions and associated attributes,efficient compression schemes are needed to enable transmission and storage of this type of media. This project presents a detachable learning-based residual module for point cloud compression that allows for efficientscalable coding. | Python | Application | Lab GitHub | 2021-09-01 | GPL-3.0 | 2021-11-04 | category_Other Other application_Info inactive no support lab_MMSPG_ product_technical | ||||||||||||
AdMiRe EPFL
|
EPFL's contribution to the AdMiRe project: the Background Extraction and Super Resolution modules, with input and output as NDI streams.
|
Touradj Ebrahimi — MMSPG | Home page | 2023-03-22 | 2024-03-15 | Currently, TV audiences can only interact with the shows they are watching through social media or hybrid broadcast broadband TV. Additionally, content creators in film, TV or live productions face technical challenges that result in less engaging content. The EU-funded AdMiRe project aims to tackle both these problems by developing, validating and demonstrating innovative solutions based on mixed reality technology. These solutions will enable audiences at home to be incorporated into the live TV programme they are watching and to interact with people in the TV studio. They will also provide content creators with tools that radically improve talent immersion and interaction with computer-generated elements. | Application | Lab GitHub | 2022-08-26 | GPL-3.0 | 2023-03-22 | category_Other Other application_Other inactive no support lab_MMSPG_ product_technical | ||||||||||||
CloudSuite
|
Benchmark suite for cloud services
|
Babak Falsafi — PARSA | Home page | 2019-03-18 | 2024-03-15 | CloudSuite is a benchmark suite for cloud services. It consists of a number of applications that have been selected based on their popularity in today's datacenters. The benchmarks are based on real-world software stacks and represent real-world setups. | Dockerfiles | Application | Lab GitHub | 2023-06-25 | CloudSuite, other | 2023-06-25 | category_Other Other application_Infra project_active no support lab_PARSA_ product_technical | |||||||||||
QFlex
|
State-of-the-art modeling tools for the computer architecture community
|
Babak Falsafi — PARSA | Home page | 2019-03-18 | 2024-03-15 | QFlex is a full-system cycle-accurate computer architecture simulator of multi-node computer systems. | C, C++ | Toolset | Lab GitHub | 2023-11-30 | Flexus: 50000, Qemu: 100000 | BSD-3-Clause | 2023-11-30 | category_Other Other application_Infra project_active no support lab_PARSA_ product_technical | ||||||||||
ColTraIn HBFP Training Emulator
|
Co-located deep neural network training and inference
|
Babak Falsafi — PARSA | Home page | 2021-05-27 | 2024-03-15 | HBFP is a hybrid Block Floating-Point (BFP) - Floating-Point (FP) number representation for DNN training introduced by ColTraIn: Co-located DNN Training and Inference team of PARSA and MLO at EPFL. HBFP offers the best of both worlds: the high accuracy of floating-point at the superior hardware density of fixed-point by performing all dot products in BFP and other operations in FP32. For a wide variety of models, HBFP matches floating-point’s accuracy while enabling hardware implementations that deliver up to 8.5x higher throughput. This repository is for ongoing research on training DNNs with HBFP. | Python | Application | Lab Github | 2023-02-16 | BSD-3-Clause |
|
2023-02-16 | category_Other Other application_Info inactive no support lab_PARSA_ product_technical | ||||||||||
PACTree
|
Efficient Non-Volatile Memory (NVM) access
|
Sanidhya Kashyap — RS3LAB | 2021-11-05 | 2022-07-07 | Non-Volatile Memory (NVM), which provides relatively fast and byte-addressable persistence, is now commercially available. However, we cannot equate a real NVM with a slow DRAM, as it is much more complicated than we expect. We propose guidelines for designing high-performance persistent index structures, allowing to increase performance and tail latency. | C++ | Simulation | Non-lab GitHub | 2021-11-08 | Apache-2.0 | 2021-11-08 | category_Other Other application_Infra inactive no support lab_RS3LAB_ product_technical | ||||||||||||
NrOS
|
OS kernel with safer approach to synchronization
|
Sanidhya Kashyap — RS3LAB | 2021-11-05 | 2023-03-22 | NrOS is an operating system primarily constructed as a simple, sequential kernel with no concurrency, making it easier to develop and reason aboutits correctness. | Rust | Framework, Experiments | Non-lab GitHub | 2023-03-11 | Apache-2.0 | 2023-03-11 | category_Other Other application_Infra inactive no support lab_RS3LAB_ product_technical | ||||||||||||
SynCord
|
Application-Informed Kernel Synchronization Primitives
|
Sanidhya Kashyap — RS3LAB | Home page | 2022-07-07 | 2022-07-07 | SynCord is a framework to modify kernel locks without recompiling or rebooting the kernel. It abstracts key behaviors of kernel locks and exposes them as APIs for designing user-defined kernel locks. SynCord provides the mechanisms to customize kernel locks safely and correctly from userspace. | Python, C | Framework, Experiments | Lab GitHub | 2022-07-01 | other | 2022-07-07 | category_Other Other application_Infra inactive no support lab_RS3LAB_ product_technical | |||||||||||
Odinfs
|
Scaling PM Performance with Opportunistic Delegation
|
Sanidhya Kashyap — RS3LAB | Home page | 2022-07-07 | 2022-08-10 | Odinfs is a NUMA-aware PM file system based on an opportunistic delegation framework to achieve datapath scalability. It limits concurrent PM access to avoid performance meltdown due to on-DIMM cache trashing. It localizes PM access to avoid performance meltdown due to remote PM access. It automatically parallelizes large PM access to utilize cumulative PM bandwidth across all NUMA nodes. It maximizes concurrent access within the same file with scalable synchronization primitives. | C | Simulation, Experiments | Lab GitHub | 2022-05-16 | other | 2022-07-07 | category_Other Other application_Infra inactive no support lab_RS3LAB_ product_technical | |||||||||||
Hydra
|
Finding Semantic Bugs in File Systems with an Extensible Fuzzing Framework
|
Sanidhya Kashyap — RS3LAB | 2022-09-27 | 2022-09-27 | Framework, Experiments | Lab GitHub | 2022-08-08 | 2022-09-27 | category_Other Other application_Infra inactive no support lab_RS3LAB_ product_technical | |||||||||||||||
Quick ADC
|
Fast distance computation for searches in large databases
|
Anne-Marie Kermarrec — SACS | 2021-11-05 | 2022-07-07 | Quick ADC is an implementation of fast distance computation techniques for nearest neighbor search in large databases of high-dimensional vectors. | C++ | Library, Simulation | Non-lab GitHub | 2019-05-31 | BSD-3-Clause Clear | 2021-11-05 | category_Other Other application_Infra inactive no support lab_SACS_ product_technical | ||||||||||||
ProteusTM
|
Automatic transactional memory adaptation
|
Anne-Marie Kermarrec — SACS | 2021-11-05 | 2022-07-07 | There are many designs and implementations of Transactional Memory, and that is not a coincidence: different ones perform best on different workloads. One cannot expect the developer to be aware of such concerns, as it is even contradictory with the simplicity advocated by the use of the transactional abstraction. With ProteusTM, the developer writes transactions and the underlying implementation uses techniques to automatically change Transactional Memory algorithms, parallelism degree, and others. | C, C++ | Framework, Experiments | Personal GitHub | 2016-03-19 | 2021-11-05 | category_Other Other application_Infra inactive no support lab_SACS_ product_technical | |||||||||||||
The Open Food Repo
|
Database of barcoded food products
|
Marcel Salathé — SalatheLab | Home page | 2019-03-18 | 2023-03-23 | The Open Food Repo is an open access database on information about barcoded food products sold in Switzerland. Accessible through an open API, it is the largest open data source on Swiss products. | JavaScript | Application | Lab GitHub | 2020-08-24 | CC BY 4.0 | 2020-08-24 | category_Other Other application_Health application_Info inactive no support lab_SalatheLab_ product_technical | |||||||||||
Food & You
|
Track your individual response to food and help advance science
|
Marcel Salathé — SalatheLab | Home page | 2021-01-21 | 2022-07-07 | Take part in an exciting citizen science project on personalized nutrition! Citizen science enables volunteers and professionals to make discoveries together. By participating in this project, you will understand how your blood sugar levels change in response to the food you eat. | Application | 2021-01-21 | category_Other Other application_Health inactive no support lab_SalatheLab_ product_technical | |||||||||||||||
Memoro
|
Highly detailed heap profiler
|
James Larus — VLSC | 2021-11-05 | 2022-07-07 | Modern software systems heavily use the memory heap. As systems grow more complex and compute with increasing amounts of data, it can be difficult for developers to understand how their programs actually use the bytes that they allocate on the heap and whether improvements are possible. Memoro as built to answer this question of heap usage efficiency. It uses a combination of static instrumentation, subroutine interception, and runtime data collection to build a clear picture of exactly when and where a program performs heap allocation, and crucially how it actually uses that memory. Memoro also introduces a new visualization application that can distill collected data into scores and visual cues that allow developers to quickly pinpoint and eliminate inefficient heap usage in their software. | C++, JavaScript | Application | Lab GitHub | 2021-01-14 | MIT | 2021-11-05 | category_Other Other application_Infra inactive no support lab_VLSC_ product_technical |