Demo Data from EDBT 2026 / reviewers in the wild / expert
Ramy Medhat
dblp:133/8105
· DBLP profile ↗
8ranked-venue papers
6as first author
1since 2021 · last 2023
0000-0002-9385-5862ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 4 · 4 first-authorSoftware engineering, systems software and programming languages · 2 · 1 first-authorSecurity and privacy · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
2 papers |
Concurrent programming · 65% Program verification · 22% Program analysis · 6% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Energy-efficient computing · 64% Embedded and real-time systems · 28% GPUs and heterogeneous computing · 8% |
Topics — the 7 heaviest of 8, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Energy-efficient computing › energy-aware software
software energy efficiency |
0.4 | 1 | 2019 | Energy-Efficient Multiple Producer-Consumer · IEEE Trans. Parallel Distributed Syst. 2019 |
Program verification › dynamic verification
runtime verification |
0.2 | 1 | 2013 | RiTHM: a tool for enabling time-triggered runtime verification for C programs · ESEC/SIGSOFT FSE 2013 |
Embedded and real-time systems › runtime monitoring
runtime verification |
0.2 | 1 | 2013 | RiTHM: a tool for enabling time-triggered runtime verification for C programs · ESEC/SIGSOFT FSE 2013 |
Concurrent programming › synchronization
synchronization primitives |
0.1 | 1 | 2019 | Energy-Efficient Multiple Producer-Consumer · IEEE Trans. Parallel Distributed Syst. 2019 |
Compilers and program optimization › program instrumentation
instrumentation optimization |
0.0 | 1 | 2013 | RiTHM: a tool for enabling time-triggered runtime verification for C programs · ESEC/SIGSOFT FSE 2013 |
Program analysis
static analysis |
0.0 | 1 | 2013 | RiTHM: a tool for enabling time-triggered runtime verification for C programs · ESEC/SIGSOFT FSE 2013 |
GPUs and heterogeneous computing
GPU computing |
0.0 | 1 | 2013 | RiTHM: a tool for enabling time-triggered runtime verification for C programs · ESEC/SIGSOFT FSE 2013 |
Methods — techniques the papers use, named apart from their topics
learning-based prediction · 0.8dynamic scheduling · 0.8static analysis · 0.3control theory · 0.3LTL · 0.3
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Resource Optimization of Stream Processing in Layered Internet of ThingsabstractIoT (Internet of Things) applications often involve stream processing using multiple complex layers of processing nodes, where in each layer, data is received by the nodes, processed, and then transmitted to the nodes in subsequent layers. Such systems present a tradeoff between reliability and resource usage, including CPU power, energy, network band-width, memory, etc. Reducing the reliability at which a node processes inbound data in a layer can have repercussions on nodes in subsequent layers in the network that receive less reliable data, and in turn impact the reliability of the application as a whole. In this paper, we present a generalized model of streaming IoT applications as a layered network of producers and consumers. Our model captures trade-offs between reliability and resource usage of the system. We present an efficient algorithm using SMT constraint solvers to determine the optimal selection of processing quality for each node in the network, such that target system reliability is achieved while respecting the given resource bounds, and resource usage is minimized. In addition, we present a lightweight machine learning based solution to drastically improve our model in terms of run time. We have fully implemented our technique and report experimental results on a layered IoT network. Anik Momtaz, Ramy Medhat, Borzoo Bonakdarpour |
SRDS | 2 |
| 2019 | Energy-Efficient Multiple Producer-ConsumerabstractHardware energy efficiency has been one of the prominent objectives of system design in the last two decades. However, with the recent explosion in mobile computing and the increasing demand for green data centers, software energy efficiency has also risen to be an equally important factor. The majority of classic concurrency control algorithms were designed in an era when energy efficiency was not an important dimension in algorithm design. Concurrency control algorithms are applied to solve a wide range of problems from kernel-level primitives in operating systems to networking devices and web services. These primitives and services are constantly and heavily invoked in any computing system and by a larger scale in networking devices and data centers. Thus, even a small change in their energy spectrum can make a huge impact on overall energy consumption for long periods of time. This paper focuses on the classic producer-consumer problem. First, we study the energy profile of a set of existing producer-consumer algorithms. In particular, we present evidence that although these algorithms share the same functional goals, their behavior with respect to energy consumption are drastically different. Then, we present a dynamic algorithm for the multiple producer-consumer problem, where consumers in a multicore system use learning mechanisms to predict the rate of production, and effectively utilize this prediction to attempt to latch onto previously scheduled CPU wake-ups. Such group latching increases the idle time between consumer activations resulting in more CPU idle time and, hence, lower average CPU frequency. This in turn reduces energy consumption. We enable consumers to dynamically reserve more pre-allocated memory in cases where the production rate is too high. Consumers may compete for the extra space and dynamically release it when it is no longer needed. Our experiments show that our algorithm provides a 38 percent decrease in energy consumption compared to a mainstream semaphore-based producer-consumer implementation when running 10 parallel consumers. We validate the effectiveness of our algorithm with a set of thorough experiments on varying parameters of scalability. Finally, we present our recommendations on when our algorithm is most beneficial. Ramy Medhat, Borzoo Bonakdarpour, Sebastian Fischmeister |
IEEE Trans. Parallel Distributed Syst. | 1 |
| 2017 | Managing the Performance/Error Tradeoff of Floating-point Intensive ApplicationsabstractModern embedded systems are becoming more reliant on real-valued arithmetic as they employ mathematically complex vision algorithms and sensor signal processing. Double-precision floating point is the most commonly used precision in computer vision algorithm implementations. A single-precision floating point can provide a performance boost due to less memory transfers, less cache occupancy, and relatively faster mathematical operations on some architectures. However, adopting it can result in loss of accuracy. Identifying which parts of the program can run in single-precision floating point with low impact on error is a manual and tedious process. In this paper, we propose an automatic approach to identify parts of the program that have a low impact on error using shadow-value analysis. Our approach provides the user with a performance/error tradeoff, using which the user can decide how much accuracy can be sacrificed in return for performance improvement. We illustrate the impact of the approach using a well known implementation of Apriltag detection used in robotics vision. We demonstrate that an average 1.3x speedup can be achieved with no impact on tag detection, and a 1.7x speedup with only 4% false negatives. Ramy Medhat, Michael O. Lam, Barry Rountree, Borzoo Bonakdarpour, Sebastian Fischmeister |
ACM Trans. Embed. Comput. Syst. | 1 |
| 2016 | Accelerated Runtime Verification of LTL Specifications with Counting Semantics
Ramy Medhat, Borzoo Bonakdarpour, Sebastian Fischmeister, Yogi Joshi |
RV | 1 |
| 2015 | A framework for mining hybrid automata from input/output tracesabstractAutomata-based models of embedded systems are useful and attractive for many reasons: they are intuitive, precise, at a high level of abstraction, tool independent and can be simulated and analyzed. They also have the advantage of facilitating readability and system comprehension in the case of large systems. This paper proposes an approach for mining automata-based models from input/output execution traces of embedded control systems. The models mined by our approach are hybrid automata models, which capture discrete as well as continuous system behavior. Specifically this paper proposes a framework for analyzing multiple input/output traces by identifying steps like segmentation, clustering, generation of event traces, and automata inference. The framework is general enough to admit multiple techniques or future enhancements of these steps. We demonstrate the power of the framework by using some specific existing methods and tools in two case studies. Our initial results are encouraging and should spur further research in the domain. Ramy Medhat, Borzoo Bonakdarpour, Sebastian Fischmeister |
EMSOFT | 1 |
| 2015 | Runtime Monitoring of Cyber-Physical Systems Under Timing and Memory ConstraintsabstractThe goal of runtime monitoring is to inspect the well-being of a system by employing a monitor process that reads the state of the system during execution and evaluates a set of properties expressed in some specification language. The main challenge in runtime monitoring is dealing with the costs imposed in terms of resource utilization. In the context of cyber-physical systems, it is crucial for a software monitoring solution to be time predictable to improve scheduling, as well as support composition of monitoring solutions with an overall predictable behavior. Moreover, a small memory footprint is often required in components of cyber-physical systems, especially in deeply embedded systems. In this article, we propose a novel control-theoretic software monitoring solution for coordinating time predictability and memory utilization in runtime monitoring of systems that interact with the physical world. The controllers attempt to reduce monitoring jitter and maximize memory utilization while simultaneously ensuring the soundness of evaluation of properties. For systems where multiple properties are required to be monitored simultaneously, we construct a buffer sharing mechanism in which controllers dynamically share the memory space to negate the effect of bursts of environment actions, thus reducing jitter due to transient high loads. To validate our design choices, we present three case studies: (1) a Bluetooth mobile payment system, which shows a sporadic rate of events during peak hours; (2) a laser beam stabilizer for target tracking, and (3) a monitoring system for air/fuel ratio in a car engine exhaust and the CAM inlet position in the engine’s cylinders. The experimental results of the case studies demonstrate up to 40% improvement in time predictability of the monitoring solution when compared to a basic event-triggered approach. Moreover, memory utilization reaches an average of 90% when using our dynamic buffer resizing mechanism. Ramy Medhat, Borzoo Bonakdarpour, Sebastian Fischmeister |
ACM Trans. Embed. Comput. Syst. | 1 |
| 2014 | Power-Efficient Multiple Producer-ConsumerabstractPower efficiency has been one of the main objectives of hardware design in the last two decades. However, with the recent explosion of mobile computing and the increasing demand for green data centers, software power efficiency has also risen to be an equally important factor. We argue that most classic concurrency control algorithms were designed in an era when power efficiency was not an important dimension in algorithm design. Such algorithms are applied to solve a wide range of problems from kernel-level primitives in operating systems to networking devices and web services. These primitives and services are constantly and heavily invoked in any computer system and by larger scale in networking devices and data centers. Thus, even a small change in their power spectrum can make a huge impact on overall power consumption in long periods of time. This paper focuses on the classic producer-consumer problem. First, we study the power efficiency of different existing implementations of the producer-consumer problem. In particular, we present evidence that these implementations behave drastically differently with respect to power consumption. Secondly, we present a dynamic algorithm for the multiple producer-consumer problem, where consumers in a multicore system use learning mechanisms to predict the rate of production, and effectively utilize this prediction to attempt to latch onto previously scheduled CPU wake-ups. Such group latching results in minimizing the overall number of CPU wakeups and in effect, power consumption. We enable consumers to dynamically reserve more pre-allocated memory in cases where the production rate is too high. Consumers may compete for the extra space and dynamically release it when it is no longer needed. Our experiments show that our algorithm provides up to 40% decrease in the number of CPU wakeups, and 30% decrease in power consumption. We validate the scalability of our algorithm with an increasing number of consumers. Ramy Medhat, Borzoo Bonakdarpour, Sebastian Fischmeister |
IPDPS | 1 |
| 2013 | RiTHM: a tool for enabling time-triggered runtime verification for C programsabstractWe introduce the tool RiTHM (Runtime Time-triggered Heterogeneous Monitoring). RiTHM takes a C program under inspection and a set of LTL properties as input and generates an instrumented C program that is verified at run time by a time-triggered monitor. RiTHM provides two techniques based on static analysis and control theory to minimize instrumentation of the input C program and monitoring intervention. The monitor's verification decision procedure is sound and complete and exploits the GPU many-core technology to speedup and encapsulate monitoring tasks. Samaneh Navabpour, Yogi Joshi, Chun Wah Wallace Wu, Shay Berkovich, Ramy Medhat, Borzoo Bonakdarpour, Sebastian Fischmeister |
ESEC/SIGSOFT FSE | 5 |