English
Related papers

Related papers: Static Analysis of Lockless Microcontroller C Prog…

200 papers

Static analysis is a method of analyzing source code without executing it. It is widely used to find bugs and code smells in industrial software. Besides other methods, the most important techniques are those based on the abstract syntax…

Software Engineering · Computer Science 2024-08-13 Gabor Horvath , Reka Kovacs , Richard Szalay , Zoltan Porkolab

Choosing the best memory layout for each hardware architecture is increasingly important as more and more programs become memory bound. For portable codes that run across heterogeneous hardware architectures, the choice of the memory layout…

Performance · Computer Science 2024-04-15 Bernhard Manfred Gruber

Static code analysis is a powerful approach to detect quality deficiencies such as performance bottlenecks, safety violations or security vulnerabilities already during a software system's implementation. Yet, as current software systems…

Software Engineering · Computer Science 2017-10-23 Eric Bodden

In this paper, coded slotted ALOHA (CSA) is introduced as a powerful random access scheme to the MAC frame. In CSA, the burst a generic user wishes to transmit in the MAC frame is first split into segments, and these segments are then…

Information Theory · Computer Science 2016-11-18 Enrico Paolini , Gianluigi Liva , Marco Chiani

This paper presents a microkernel architecture for constraint programming organized around a number of small number of core functionalities and minimal interfaces. The architecture contrasts with the monolithic nature of many…

Artificial Intelligence · Computer Science 2014-01-22 Laurent Michel , Pascal Van Hentenryck

For nonlinear discrete time systems satisfying a controllability condition, we present a stability condition for model predictive control without stabilizing terminal constraints or costs. The condition is given in terms of an analytical…

Optimization and Control · Mathematics 2012-04-02 Lars Grüne , Jürgen Pannek , Martin Seehafer , Karl Worthmann

In areas such as computer software and hardware, manufacturing systems, and transportation, engineers encounter networks with arbitrarily large numbers of isomorphic subprocesses. Parameterized systems provide a framework for modeling such…

Formal Languages and Automata Theory · Computer Science 2016-10-03 M. H. Zibaeenejad , J. G. Thistle

Memory-management support for lock-free data structures is well known to be a tough problem. Recent work has successfully reduced the overhead of such schemes. However, applying memory-management support to a data structure remains complex…

Programming Languages · Computer Science 2018-08-21 Nachshon Cohen

In this paper, we study a fault-tolerant control for systems consisting of multiple homogeneous components such as parallel processing machines. This type of system is often more robust to uncertainty compared to those with a single…

Optimization and Control · Mathematics 2020-12-03 Jalal Arabneydi , Amir G. Aghdam

Dynamic memory management requires special attention in programming. It should be fast and secure at the same time. This paper proposes a new randomized dynamic memory management algorithm designed to meet these requirements. Randomization…

Data Structures and Algorithms · Computer Science 2021-08-25 Irina Aleksandrovna Astrakhantseva , Roman Gennadevich Astrakhantsev , Arseny Viktorovich Mitin

We present algorithms for checking and enforcing robustness of concurrent programs against the Total Store Ordering (TSO) memory model. A program is robust if all its TSO computations correspond to computations under the Sequential…

Programming Languages · Computer Science 2012-10-30 Ahmed Bouajjani , Egor Derevenetc , Roland Meyer

The ability to understand how a scientific application is executed on a large HPC system is of great importance in allocating resources within the HPC data center. In this paper, we describe how we used system performance data to identify:…

Distributed, Parallel, and Cluster Computing · Computer Science 2020-09-15 David Brayford , Christoph Bernau , Wolfram Hesse , Carla Guillen

The analysis of source code through machine learning techniques is an increasingly explored research topic aiming at increasing smartness in the software toolchain to exploit modern architectures in the best possible way. In the case of…

Machine Learning · Computer Science 2020-12-15 Emanuele Parisi , Francesco Barchi , Andrea Bartolini , Giuseppe Tagliavini , Andrea Acquaviva

Automated driving functions at high levels of autonomy operate without driver supervision. The system itself must provide suitable responses in case of hardware element failures. This requires fault-tolerant approaches using domain ECUs and…

Computers and Society · Computer Science 2022-10-11 Tim Maurice Julitz , Antoine Tordeux , Manuel Löwer

The verification of multithreaded software is still a challenge. This comes mainly from the fact that the number of thread interleavings grows exponentially in the number of threads. The idea that thread interleavings can be studied with a…

Logic in Computer Science · Computer Science 2011-09-27 Robert Mittermayr , Johann Blieberger

CPU registers are small discrete storage units, used to hold temporary data and instructions within the CPU. Registers are not addressable in the same way memory is, which makes them immune from memory attacks and manipulation by other…

Cryptography and Security · Computer Science 2021-10-22 Munir Geden , Kasper Rasmussen

Microarchitectural code analyzers, i.e., tools that estimate the throughput of machine code basic blocks, are important utensils in the tool belt of performance engineers. Recent tools like llvm-mca, uiCA, and Ithemal use a variety of…

Software Engineering · Computer Science 2022-09-20 Fabian Ritter , Sebastian Hack

Verification of concurrent data structures is one of the most challenging tasks in software verification. The topic has received considerable attention over the course of the last decade. Nevertheless, human-driven techniques remain…

Programming Languages · Computer Science 2018-11-12 Roland Meyer , Sebastian Wolff

Multi-core architectures can be leveraged to allow independent processes to run in parallel. However, due to resources shared across cores, such as caches, distinct processes may interfere with one another, e.g. affecting execution time.…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-09-17 Dan Iorga , Tyler Sorensen , Alastair F. Donaldson

This paper develops an operational semantics for a release-acquire fragment of the C11 memory model with relaxed accesses. We show that the semantics is both sound and complete with respect to the axiomatic model. The semantics relies on a…

Programming Languages · Computer Science 2018-11-26 Simon Doherty , Brijesh Dongol , Heike Wehrheim , John Derrick