Publications

Red Hat Research collaborates with universities and government agencies to produce papers that bring open source contributions along with them.  We also publish informative articles about many of our projects in our own journal, the Red Hat Research Quarterly.

Latest Publications

Explore these publications which are the result of cooperation between Red Hat Research and the Academic sector around the globe focused on open research.

CaT: Coaching a Teachable Student

AuthorsJimuyang Zhang, Zanming Huang, Eshed Ohn-BarBoston University AbstractWe propose a novel knowledge distillation framework for effectively teaching a sensorimotor student agent to drive from the supervision of a privileged teacher agent. Current distillation for...

Towards flexibility and robustness of LSM trees

AbstractLog-structured merge trees (LSM trees) are increasingly used as part of the storage engine behind several data systems, and are frequently deployed in the cloud. As the number of applications relying on LSM-based storage backends increases, the problem of...

PublicationSummaryUniversitiesCollaborationsInstituteshf:tax:partner_university
XVO: Generalized Visual Odometry via Cross-Modal Self-Training

AbstractWe propose XVO, a semi-supervised learning method for training generalized monocular Visual Odometry (VO) models with robust off-the-self operation across …

boston-university
CaT: Coaching a Teachable Student

AuthorsJimuyang Zhang, Zanming Huang, Eshed Ohn-BarBoston University AbstractWe propose a novel knowledge distillation framework for effectively teaching a sensorimotor student …

boston-university
Towards flexibility and robustness of LSM trees

AbstractLog-structured merge trees (LSM trees) are increasingly used as part of the storage engine behind several data systems, and are …

boston-university
Fingerprint forgery training: Easy to learn, hard to perform

Many services offer fingerprint authentication, including sensitive services such as mobile banking. This broad adoption could make an impression to …

masaryk-university
Authentication of IT Professionals in the Wild – A Survey

he role of user authentication in software repositories can significantly impact those using open-source projects as a basis for their …

masaryk-university
Learning to Drive Anywhere

AuthorsRuizhao Zhu, Peng Huang, Eshed Ohn-Bar, Venkatesh SaligramaBoston University AbstractHuman drivers can seamlessly adapt their driving decisions across geographical locations …

Uncovering CWE-CVE-CPE Relations with Threat Knowledge Graphs

AuthorsZhenpeng Shi, Boston University, USA; Nikolay Matyunin, Honda Research Institute Europe GmbH, Germany; Kalman Graffi, Technische Hochschule Bingen, Germany; David …

boston-university
Enabling Cost-Benefit Analysis of Data Sync Protocols

AuthorsNovak Boskov, Ari Trachtenberg, and David Starobinski, Boston University AbstractThe problem of data synchronization arises in networked applications that require …

boston-university
SREP: Out-Of-Band Sync of Transaction Pools for Large-Scale Blockchains

AuthorsNovak Boskov, Sevval Simsek, Ari Trachtenberg, and David Starobinski, Department of Electrical and Computer Engineering, Boston University, Boston, Massachusetts, USA …

boston-university
Flow-Level Loss Detection with Δ-Sketches

Packet drops caused by congestion are a fundamental problem in network operation. Yet, it is difficult to detect where drops are happening, let alone which flows are most affected. Detecting the small-timescale drops caused by short bursts of traffic is even more challenging, and traditional monitoring techniques can easily miss them. To uncover packet drops as they occur inside a switch, the analysis must be real-time, fine-grained, and efficient.

boston-university
Cerberus: Exploring Federated Prediction of Security Events

Modern defenses against cyberattacks increasingly rely on proactive approaches, e.g., to predict the adversary’s next actions based on past events. Building accurate prediction models requires knowledge from many organizations; alas, this entails disclosing sensitive information, such as network structures, security postures, and policies, which might often be undesirable or outright impossible.

boston-university
Just-In-Time Compilation on ARM—A Closer Look at Call-Site Code Consistency

The increase in computational capability of low-power Arm architectures has seen them diversify from their more traditional domain of portable …

university-of-manchester
TeraHeap: Reducing Memory Pressure in Managed Big Data Frameworks

Big data analytics frameworks, such as Spark and Giraph, need to process and cache massive amounts of data that do …

university-of-crete
Scaling Up Performance of Managed Applications on NUMA Systems

Scaling up the performance of managed applications on Non-Uniform Memory Access (NUMA) architectures has been a challenging task, as it …

university-of-manchester
Adaptive Traffic Light Control for Competing Vehicle and Pedestrian Flows

We study the Traffic Light Control (TLC) problem for a single intersection, considering both straight driving vehicle flows and corresponding …

boston-university
Guest Editorial Special Issue on Smart City-Networks

Abstract:The papers in this special section focus on the development of smart city networks. In recent years, there has been …

boston-university
Integrating Unikernel Optimizations in a General Purpose OS

AuthorsAli Raza (1), Thomas Unger (1), Matthew Boyd (1), Eric Munson (1), Parul Sohal (1), Ulrich Drepper (2), Richard Jones …

boston-university
“They’re not that hard to mitigate”: What Cryptographic Library Developers Think About Timing Attacks

Timing attacks are among the most devastating side-channel attacks, allowing remote attackers to retrieve secret material, including cryptographic keys, with …

SketchLib: Enabling Efficient Sketch-based Monitoring on Programmable Switches

Authors Hun Namkung, Carnegie Mellon University; Zaoxing Liu, Boston University; Daehyeok Kim, Carnegie Mellon University and Microsoft; Vyas Sekar and …

, boston-university carnegie-mellon-university
Survey and Future Trends for FPGA Cloud Architectures

In the last five years, FPGA presence in the cloud has gone from near zero (except for deeply embedded devices) …

boston-university
The Future of FPGA Acceleration in Datacenters and the Cloud

In this article, we survey existing academic and commercial efforts to provide Field-Programmable Gate Array (FPGA) acceleration in datacenters and …

, , , , , boston-university manchester-university northeastern-university umass-amherst university-of-florida university-of-toronto
Enabling VirtIO Driver Support on FPGAs

Host-FPGA connectivity is critical for enabling a vast number of FPGA use cases in data centers, edge, and IoT. This …

boston-university
Reinforcement Learning Strategies for Compiler Optimization in High level Synthesis

High Level Synthesis (HLS) offers a possible programmability solution for FPGAs by automatically compiling CPU codes to custom hardware configurations, …

boston-university
FAB: An FPGA-based Accelerator for Bootstrappable Fully Homomorphic Encryption

Fully Homomorphic Encryption (FHE) offers protection to private data on third-party cloud servers by allowing computations on the data in encrypted form. However, to support general-purpose encrypted computations, all existing FHE schemes require an expensive operation known as “bootstrapping”. Unfortunately, the computation cost and the memory bandwidth required for bootstrapping add significant overhead to FHE-based computations, limiting the practical use of FHE.

In this work, we propose FAB, an FPGA-based accelerator for bootstrappable FHE. Prior FPGA-based FHE accelerators have proposed hardware acceleration of basic FHE primitives for impractical parameter sets without support for bootstrapping.

boston-university
Relational Memory: Native In-Memory Accesses on Rows and Columns

Analytical database systems are typically designed to use a column first data layout to access only the desired fields. On the other hand, storing data row-first works great for accessing, inserting, or updating entire rows. Transforming rows to columns at runtime is expensive, hence, many analytical systems ingest data in row-first form and transform it in the background to columns to facilitate future analytical queries. How will this design change if we can always efficiently access only the desired set of columns?

To address this question, we present a radically new approach to data transformation from rows to columns. We build upon recent advancements in embedded platforms with re-programmable logic to design native in-memory access on rows and columns.

boston-university
GCNSplit: bounding the state of streaming graph partitioning

This paper introduces GCNSplit, a streaming graph partitioning framework capable of handling unbounded streams with bounded state requirements. We frame partitioning as a classification problem and we employ an unsupervised model whose loss function minimizes edge-cuts. GCNSplit leverages an inductive graph convolutional network (GCN) to embed graph characteristics into a low-dimensional space and assign edges to partitions in an online manner. We evaluate GCNSplit with real-world graph datasets of various sizes and domains. Our results demonstrate that GCNSplit provides high-throughput, top-quality partitioning, and successfully leverages data parallelism. It achieves a throughput of 430K edges/s on a real-world graph of 1.6B edges using a bounded 147KB-sized model, contrary to the state-of-the-art HDRF algorithm that requires > 116GB in-memory state. With a well-balanced normalized load of 1.01, GCNSplit achieves a replication factor on par with HDRF, showcasing high partitioning quality while storing three orders of magnitude smaller partitioning state. Owing to the power of GCNs, we show that GCNSplit can generalize to entirely unseen graphs while outperforming the state-of-the-art stream partitioners in some cases.

boston-university
Evaluating model serving strategies over streaming data

We present the first performance evaluation study of model serving integration tools in stream processing frameworks. Using Apache Flink as a representative stream processing system, we evaluate alternative Deep Learning serving pipelines for image classification. Our performance evaluation considers both the case of embedded use of Machine Learning libraries within stream tasks and that of external serving via Remote Procedure Calls. The results indicate superior throughput and scalability for pipelines that make use of embedded libraries to serve pre-trained models. Whereas, latency can vary across strategies, with external serving even achieving lower latency when network conditions are optimal due to better specialized use of underlying hardware. We discuss our findings and provide further motivating arguments towards research in the area of ML-native data streaming engines in the future.

boston-university
Logical Optimisation and Cost Modelling of Stream-Processing Programs Written in a Purely-Functional Framework

We present a vision for the automatic optimisation of distributed stream processing programs. StrIoT — a distributed stream-processing framework built using purely-functional programming — enables a set of validated logical optimisation rules to generate a set of possible deployment plans. A cost model then filters and ranks the plans before the best is automatically deployed across the cloud and edge devices. We describe StrIoT’s functional operators for writing stream-processing programs; the design, implementation and performance of StrIoT’s logical optimiser; and the cost model, which filters and ranks re-written programs and deployment plans in terms of two non-functional requirements: bandwidth and cost. The StrIoT vision is being explored through an open-source proof-of-concept implementation. We present our initial results with a motivating example before outlining the success criteria for future work in this area.

newcastle-university
Run-time Adaptation of Stream Processing Spanning the Cloud and the Edge

Applications that process streams of events generated by sensors are important in a wide range of domains. It is now common to distribute stream processing across edge devices and the cloud. This exploits processing power near the sensors, reducing the load on the cloud and often the required network bandwidth. In this paper we focus on one challenge in distributed stream processing: automatically adapting the partitioning of the processing between the edge and the cloud without a loss of service. An example is when the event arrival rate increases and the edge processor can no longer meet performance requirements. Re-partitioning without loss of service involves moving computations between the edge and the cloud while events are still being processed. In this paper we describe StrIoT – a stream processing system that supports automatic re-partitioning. It is based on a set of functional stream operators, and the paper describes how the run-time system can automatically adapt applications that use them. A key feature is support for the fission and fusion of operators during adaptations. Performance evaluation shows that StrIoT can move parts of a stream processing application between the cloud and edge with only a low, temporary impact on performance.

newcastle-university
Kubernetes Autoscaling: YoYo Attack Vulnerability and Mitigation

In recent years, we have witnessed a new kind of DDoS attack, the burst attack(Chai, 2013; Dahan, 2018), where the …

reichman-university
DDoS Attack on Cloud Auto-scaling Mechanisms

Auto-scaling mechanisms are an important line of defense against Distributed Denial of Service (DDoS) in the cloud. Using auto-scaling, machines …

reichman-university
No Grammar, No Problem: Towards Fuzzing the Linux Kernel without System-Call Descriptions

AbstractThe integrity of the entire computing ecosystem depends on the security of our operating systems (OSes). Unfortunately, due to the …

RISE: RISC-V SoC for En/decryption Acceleration on the Edge for Homomorphic Encryption

AbstractToday edge devices commonly connect to the cloud to use its storage and compute capabilities. This leads to security and …

boston-university
Passive Monitoring of Network Latency at High Line Rates

Paper presented at 17th Swedish National Computer Networking Workshop (SNCNW 2022), KTH, Stockholm, June 16-17, 2022 Abstract: Network latency plays …

karlstad-university
Bringing Packet Queueing to XDP

The Linux eXpress Data Path, or XDP, has found numerous uses in the industry, such as mitigating DoS attacks, load-balancers, and intrusion prevention systems. XDP provides a high-performance programmable network data path using the BPF framework and al- lows programmers to process packets early out of the driver. While XDP excels in forwarding packets, it currently has no mechanism for queueing or reordering packets and cannot implement traffic scheduling policies. In this paper, we present our ongoing work to address this challenge. We have designed a programmable packet scheduling extension for the XDP framework using recently pro- posed schemes for programmable queues. This extension allows programmers to define their packet schedulers using BPF while benefiting from the XDP fast data path.

karlstad-university
Enabling Efficient and General SubpopulationAnalytics In Multidimensional Data Streams

AuthorsAntonis Manousis, Carnegie Mellon University; Zhuo Cheng, Carnegie Mellon University; Ran Ben Basat, University College London; Zaoxing (Alan) Liu, Boston …

boston-university
Mining Logical Arithmetic Expressions From Proper Representations

AuthorsEitan Kosman, Technion, Israel Institute of Technology, Haifa, Israel; Ilya Kolchinsky, Red Hat and Technion, Israel Institute of Technology, Haifa, …

technion
GenSync: A New Framework for Benchmarking and Optimizing Reconciliation of Data

AuthorsNovak Boskov, Ari Trachtenberg, and David Starobinski; all Boston University AbstractIn the set reconciliation problem, remote parties seek to reconcile …

boston-university
Identifying Mismatches Between Microservice Testbeds and Industrial Perceptions of Microservices

Abstract Industrial microservice architectures vary so wildly in their characteristics, such as size or communication method, that comparing systems is …

, emory-university tufts-university
Empirical Comparison of Block Relay Protocols

AuthorsMuhammad Anas Imtiaz, David Starobinski, and Ari Trachtenberg; all Boston University AbstractBlock relay protocols play a key role in the …

boston-university
DLACEP: A Deep-Learning Based Framework for Approximate Complex Event Processing

AuthorsAdar Amir, Technion, Israel Institute of Technology, Haifa, Israel; Ilya Kolchinsky, Red Hat and Technion, Israel Institute of Technology, Haifa, …

technion
Union Buster: A Cross-Container Covert-Channel Exploiting Union Mounting

AuthorsNovak Boskov, Boston University; Naor Radami, Ben-Gurion University; Trishita Tiwari, Cornell University; and Ari Trachtenberg, Boston University AbstractSoftware containers provide …

, ben-gurion-university boston-university
HYPERSONIC: A Hybrid Parallelization Approach for Scalable Complex Event Processing

AuthorsMaor Yankovitch, Technion, Israel Institute of Technology, Haifa, Israel; Ilya Kolchinsky, Red Hat and Technion, Israel Institute of Technology, Haifa, …

technion
A Closer Look at Intel Resource Director Technology (RDT)

AuthorsParul Sohal, Boston University; Michael Bechtel, University of Kansas; Renato Mancuso, Boston University; Heechul Yun, University of Kansas; Orran Krieger, …

boston-university
Endure: A Robust Tuning Paradigm for LSM Trees Under Workload Uncertainty

Abstract: Log-Structured Merge trees (LSM trees) are increasingly used as the storage engines behind several data systems, frequently deployed in …

boston-university
SelfD: Self-Learning Large-Scale Driving Policies From the Web

Abstract: Effectively utilizing the vast amounts of ego-centric navigation data that is freely available on the internet can advance generalized …

boston-university
Design and Analysis of Microworlds and Puzzles for Block-Based Programming

Block-based programming is a popular approach to teaching introductory programming. Block-based programming often works in the context of microworlds, where students solve specific puzzles. It is used, for example, within the Hour of Code event, which targets millions of students.

masaryk-university
Profile-driven memory bandwidth management for accelerators and CPUs in QoS-enabled platforms

AuthorsParul Sohal, Boston University; Rohan Tabish, University of Illinois at Urbana-Champaign; Ulrich Drepper, Red Hat; Renato Mancuso, Boston University AbstractThe …

boston-university
Motif Mining: Finding and Summarizing Remixed Image Content

On the internet, images are no longer static; they have become dynamic content. Thanks to the availability of smartphones with …

university-of-notre-dame
Beating the I/O bottleneck: a case for log-structured virtual disks

AuthorsMohammad Hossein Hajkazemi, NetApp; Vojtech Aschenbrenner, EPFL; Mania Abdi, Northeastern University; Emine Ugur Kaynar, Boston University; Amin Mossayebzadeh, Boston University; …

, boston-university northeastern-university
Slowing Down for Performance and Energy: An OS-Centric Study in Network Driven Workloads

AuthorsHan Dong, Boston Universty; Sanjay Arora, Red Hat; Yara Award, Boston University; Tommy Unger, Boston University; Orran Krieger, Boston University; Jonathan Appavoo, Boston University AbstractThis …

boston-university
DARLING: Data-Aware Load Shedding in Complex Event Processing Systems

AuthorsKoral Chapnik, Technion, Israel Institute of Technology, Haifa, Israel; Ilya Kolchinsky, Red Hat and Technion, Israel Institute of Technology, Haifa, …

technion
Transparent Data Transformation: Can I have my Rows and eat my Columns too?

A big dichotomy in data system design is the column vs. row-stores one. The first supports analytical, and the latter …

boston-university
E-WarP: A System-wide Framework for Memory Bandwidth Profiling and Management

The proliferation of multi-core, accelerator-enabled embedded systems has introduced new opportunities to consolidate real-time systems of increasing complexity. But the …

boston-university
FPGA HPC using OpenCL: Case Study in 3D FFT

FPGAs have typically achieved high speedups for 3D Fast Fourier Transforms (FFTs) due to the presence of hard floating point …

boston-university
Unlocking Performance-Programmability by Penetrating the Intel FPGA OpenCL Toolflow

Improved support for OpenCL has been an important step towards the mainstream adoption of FPGAs as compute resources. Current research …

boston-university
An Empirically Guided Optimization Framework for FPGA OpenCL

FPGAs have been demonstrated to be capable of very high performance, especially power-performance, but generally at the cost of hand-tuned …

boston-university
Towards Hardware as a Reconfigurable, Elastic, and Specialized Service

As modern Data Center workloads become increasingly complex, constrained, and critical, mainstream CPU-centric computing has had ever more difficulty in …

boston-university
Secret Sharing MPC on FPGAs in the Datacenter

Multi-Party Computation (MPC) is a technique enabling data from several sources to be used in a secure computation revealing only …

boston-university
The community cache with complete information

Kariz is a new architecture for caching data from data-lakes accessed, potentially concurrently, by multiple analytic platforms. It integrates rich …

, boston-university northeastern-university
Say Goodbye to Off-heap Caches! On-heap Caches Using Memory-Mapped I/O

“Many analytics computations are dominated by iterative processing stages, executed until a convergence condition is met. To accelerate such workloads …

university-of-crete
Transparent Compiler and Runtime Specializations for Accelerating Managed Languages on FPGAs

“In recent years, heterogeneous computing has emerged as the vital way to increase computers’ performance and energy efficiency by combining …

university-of-manchester
You can’t hide you can’t run: a performance assessment of managed applications on a NUMA machine

The ever-growing demand for more memory capacity from applications has always been a challenging factor in computer architecture. The advent …

university-of-manchester
Real-Time Data Stream Processing

Introduction – why stream processing? It is commonly known that we are living in the era of Big Data. At …

technion
Fooling primality tests on smartcards

We analyse whether the smartcards of the JavaCard platform correctly validate primality of domain parameters.

masaryk-university
Minerva: The curse of ECDSA nonces

We present our discovery of a group of side-channel vulnerabilities in implementations of the ECDSA signature algorithm in a widely …

masaryk-university
User Testing of Mobile Banking Authentication Methods: UX Testing, User Interviews, and Quantitative Survey

This report describes the results of testing of authentication methods and applications for smartphones, including the methodology that was used. …

masaryk-university
Simulation Games Platform for Unintentional Perpetrator Attack Vector Identification

Cyber-security protection of critical systems is one of the major challenges of today. Although the attacks typically originate from attackers …

masaryk-university
Impact of methodological choices on the evaluation of student models

The evaluation of student models involves many methodological decisions, e.g., the choice of performance metric, data filtering, and cross-validation setting. Such issues may seem like technical details, and they do not get much attention in published research.

masaryk-university
Conclave: secure multi-party computation on big data (extended TR)

Secure Multi-Party Computation (MPC) allows mutually distrusting parties to run joint computations without revealing private data. Current MPC algorithms scale …

boston-university
CHIPS: A Service for Collecting, Organizing, Processing, and Sharing Medical Image Data in the Cloud

Web browsers are increasingly used as middleware platforms offering a central access point for service provision. Using backend containerization, RESTful …

boston-university
M2: Malleable Metal as a Service

Existing bare-metal cloud services that provide users with physical servers have a number of serious disadvantages over their virtual alternatives, …

, , boston-university northeastern-university
Caching in the Multiverse

To get good performance for data stored in Object storage services like S3, data analysis clusters need to cache data …

, boston-university northeastern-university
A Secure Cloud with Minimal Provider Trust

Bolted is a new architecture for a bare metal cloud with the goal of providing security-sensitive customers of a cloud …

, , boston-university northeastern-university
Supporting Security Sensitive Tenants in a Bare-Metal Cloud

SecCloud is a new architecture for bare-metal clouds that enables tenants to control tradeoffs between security, price, and performance. It …

, , boston-university northeastern-university
A fork() in the road

The received wisdom suggests that Unix’s unusual combination of fork() and exec() for process creation was an inspired design. In …

boston-university
Unikernels: The Next Stage of Linux’s Dominance

Unikernels have demonstrated enormous advantages over Linux in many important domains, causing some to propose that the days of Linux’s …

boston-university
SEUSS: Rapid serverless deployment using environment snapshots

Modern FaaS systems perform well in the case of repeat executions when function working sets stay small. However, these platforms …

, boston-university
D3N: A multi-layer cache for the rest of us

Current caching methods for improving the performance of big-data jobs assume high (e.g., full bi-section) bandwidth; however many enterprise data …

, boston-university northeastern-university
SEUSS: skip redundant paths to make serverless fast

This paper presents a system-level method for achieving the rapid deployment and high-density caching of serverless functions in a FaaS …

, boston-university
Efficient Adaptive Detection of Complex Event Patterns

Complex event processing (CEP) is widely employed to detect occurrences of predefined combinations (patterns) of events in massive data streams.

technion
Join Query Optimization Techniques for Complex Event Processing Applications

Complex event processing (CEP) is a prominent technology used in many modern applications for monitoring and tracking events of interest in massive data streams.

technion
Beyond Binary Correctness: Classification of Students’ Answers in Learning Systems

Additive Factors Model is a widely used student model, which is primarily used for refining knowledge component models (Q-matrices).

masaryk-university
Towards Non-Intrusive Software Introspection and Beyond

Continuous verification and security analysis of software systems are of paramount importance to many organizations. The state-of-the-art for such operations …

, boston-university northeastern-university
Role-Based Ecosystem for the Design, Development, and Deployment of Secure Multi-Party Data Analytics Applications

Software applications that employ secure multi-party computation (MPC) can empower individuals and organizations to benefit from privacy-preserving data analyses when …

boston-university
Tutorial: Deploying Secure Multi-Party Computation on the Web Using JIFF

Secure multi-party computation (MPC) enables joint computation over private data sets contributed by multiple entities. Using MPC in real-world software …

boston-university
Exploration of the Robustness and Generalizability of the Additive Factors Model

Additive Factors Model is a widely used student model, which is primarily used for refining knowledge component models (Q-matrices).

masaryk-university
Real-Time Multi-Pattern Detection over Event Streams

In this paper, we present a novel framework for real-timemulti-pattern complex event processing.

technion
Using Off-the-Shelf Exception Support Components in C++ Verification

An important step toward adoption of formal methods in software development is support for mainstream programming languages. Unfortunately, these languages …

masaryk-university
Context-Switch-Directed Verification in DIVINE

In model checking of real-life C and C++ programs, both search efficiency and counterexample readability are very important. In this …

masaryk-university
DiVinE 3.0 – An Explicit-State Model Checker for Multithreaded C & C++ Programs

We present a new release of the parallel and distributed LTL model checker DiVinE. The major improvement in this new release …

masaryk-university
DiVinE: Parallel Distributed Model Checker

Model checking became a standard method of analyzing complex systems in many application domains. No doubt, a number of applications …

masaryk-university
Fast, Dynamically-Sized Concurrent Hash Table

We present a new design and a C++ implementation of a high-performance, cache-efficient hash table suitable for use in implementation …

masaryk-university
Improved State Space Reductions for LTL Model Checking of C & C++ Programs

In this paper, we present substantial improvements in efficiency of explicit-state LTL model checking of C & C++ programs, building …

masaryk-university
Improved State Space Reductions for LTL Model Checking of C & C++ Programs

In this paper, we present substantial improvements in efficiency of explicit-state LTL model checking of C & C++ programs, building …

masaryk-university
Model Checking C++ with Exceptions

We present an extension of the DIVINE software model checker to support programs with exception handling. The extension consists of …

masaryk-university
Model Checking of C and C++ with DIVINE 4

Abstract: The fourth version of the DIVINE model checker provides a modular platform for verification of real-world programs. It is …

masaryk-university
Weak Memory Models as LLVM-to-LLVM Transformations

Data races are among the most difficult software bugs to discover. They arise from multiple threads accessing the same memory …

masaryk-university
Selecting a New Key Derivation Function for Disk Encryption

Many full disk encryption applications rely on a strong password-based key derivation function to process a passphrase. This article defines …

masaryk-university
The TrueCrypt On-Disk Format—An Independent View

Full disk encryption (FDE) is a common way to prevent unauthorized use of data by encrypting the whole storage device. …

masaryk-university
Extending Full Disk Encryption for the Future

Full Disk Encryption (FDE) provides confidentiality of a data-at-rest stored on persistent devices like disk or solid state drives (SSD). …

masaryk-university
Why Johnny the Developer Can’t Work with Public Key Certificates

Research cooperation of CRoCS, Faculty of Informatics, Masaryk University and Red Hat. Authors: Martin Ukrop and Vashek Matyas Conference: RSA Cryptographers’ Track 2018 Paper details: Pge …

masaryk-university
Reflective Diary for Professional Development of Novice Teachers

Many starting teachers of computer science have great professional skill but often lack pedagogical training. Since providing expert mentorship directly …

masaryk-university
Will You Trust This TLS Certificate? Perceptions of People Working in IT

Flawed TLS certificates are not uncommon on the Internet. While they signal a potential issue, in most cases they have benign causes (e.g., misconfiguration or even deliberate deployment). This adds fuzziness to the decision on whether to trust a connection or not. Little is known about perceptions of flawed certificates by IT professionals, even though their decisions impact high numbers of end users. Moreover, it is unclear how much does the content of error messages and documentation influence these perceptions.

masaryk-university
The eXpress Data Path: Fast Programmable Packet Processing in the Operating System Kernel

Programmable packet processing is increasingly implemented using kernel bypass  techniques, where a userspace application takes complete control of the  networking …

String Abstraction for Model Checking of C Programs

In this paper, we elaborate an abstract domain for C strings, that is, null-terminated arrays of characters. We describe the abstract semantics of basic string operations and prove their soundness with regards to previously established concrete semantics of those operations.

masaryk-university
Extending DIVINE with Symbolic Verification Using SMT

DIVINE is an LLVM-based verification tool focusing on anal- ysis of real-world C and C++ programs. Such programs often interact with their environment, for example via inputs from users or network. When these programs are analyzed, it is desirable that the verification tool can deal with inputs symbolically and analyze runs for all inputs. In DIVINE, it is now possible to deal with input data via symbolic computa- tion instrumented into the original program at the level of LLVM bitcode.

masaryk-university
Symbolic Computation via Program Transformation

Symbolic computation is an important approach in automated program analysis. Most state-of-the-art tools perform symbolic computation as interpreters and directly maintain symbolic data. In this paper, we show that it is feasible, and in fact practical, to use a compiler-based strategy instead.

masaryk-university