Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Meng Wu 0001

dblp:19/5921-1 · DBLP profile ↗
← Back
7ranked-venue papers
4as first author
0since 2021 · last 2019
0000-0002-9841-5962ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 6 · 3 first-authorTheory of computation · 2 · 1 first-authorSystems, architecture and hardware · 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.

Computer architecture, parallel and distributed computing, and storage systems
3 papers
Embedded and real-time systems · 57% Processor architecture and microarchitecture · 21% Distributed systems · 16%
Software engineering, system software, and programming languages
4 papers
Program analysis · 65% Debugging and program repair · 22% Compilers and program optimization · 6%
Network and information security
4 papers
Hardware security and side channels · 100%

Topics — the 18 heaviest of 19, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program analysis
symbolic execution
0.622018
Adversarial symbolic execution for detecting concurrency-related cache timing leaks · ESEC/SIGSOFT FSE 2018
Symbolic execution of programmable logic controller code · ESEC/SIGSOFT FSE 2017
Program analysis › static analysis
abstract interpretation
0.412019
Abstract interpretation under speculative execution · PLDI 2019
Processor architecture and microarchitecture
speculative execution
0.412019
Abstract interpretation under speculative execution · PLDI 2019
Hardware security and side channels › cache side channel
cache timing side channel
0.312018
Adversarial symbolic execution for detecting concurrency-related cache timing leaks · ESEC/SIGSOFT FSE 2018
Hardware security and side channels
side-channel attack
0.312018
Eliminating timing side-channel leaks using program repair · ISSTA 2018
Hardware security and side channels › side-channel attack
timing side channel
0.312018
Eliminating timing side-channel leaks using program repair · ISSTA 2018
Debugging and program repair
automated program repair
0.312018
Eliminating timing side-channel leaks using program repair · ISSTA 2018
Embedded and real-time systems
cyber-physical systems
0.312017
Safety Guard: Runtime Enforcement for Safety-Critical Cyber-Physical Systems: Invited · DAC 2017
Distributed systems
fault tolerance
0.312017
Safety Guard: Runtime Enforcement for Safety-Critical Cyber-Physical Systems: Invited · DAC 2017
Embedded and real-time systems
runtime enforcement
0.312017
Safety Guard: Runtime Enforcement for Safety-Critical Cyber-Physical Systems: Invited · DAC 2017
Embedded and real-time systems › critical systems
safety-critical systems
0.312017
Safety Guard: Runtime Enforcement for Safety-Critical Cyber-Physical Systems: Invited · DAC 2017
Hardware security and side channels
fault attack countermeasure
0.212016
Synthesis of Fault-Attack Countermeasures for Cryptographic Circuits · CAV (2) 2016
Hardware security and side channels › hardware attack detection
side-channel detection
0.112019
Abstract interpretation under speculative execution · PLDI 2019
Performance modeling and evaluation › performance prediction
execution time prediction
0.112019
Abstract interpretation under speculative execution · PLDI 2019
Concurrent programming
concurrency bug detection
0.112018
Adversarial symbolic execution for detecting concurrency-related cache timing leaks · ESEC/SIGSOFT FSE 2018
Compilers and program optimization
program transformation
0.112018
Eliminating timing side-channel leaks using program repair · ISSTA 2018
Embedded and real-time systems
cyber-physical system platforms
0.112017
Symbolic execution of programmable logic controller code · ESEC/SIGSOFT FSE 2017
Embedded and real-time systems › cyber-physical system platforms
programmable logic controllers
0.112017
Symbolic execution of programmable logic controller code · ESEC/SIGSOFT FSE 2017

Methods — techniques the papers use, named apart from their topics

virtual control flow · 1.1static cache analysis · 1.1abstract interpretation · 1.1program transformation · 0.7program analysis · 0.7adversarial symbolic execution · 0.7SMT solving · 0.7symbolic execution · 0.6partial order reduction · 0.6runtime enforcer synthesis · 0.3program synthesis · 0.2
YearPublicationVenuePosition
2019 Shield Synthesis for Real: Enforcing Safety in Cyber-Physical Systems
abstract
Cyber-physical systems are often safety-critical in that violations of safety properties may lead to catastrophes. We propose a method to enforce the safety of systems with real-valued signals by synthesizing a runtime enforcer called the shield. Whenever the system violates a property, the shield, composed with the system, makes correction instantaneously to ensure that no erroneous output is generated by the combined system. While techniques for synthesizing Boolean shields are well understood, they do not handle real-valued signals ubiquitous in cyber-physical systems, meaning their corrections may be either unrealizable or inefficient to compute in the real domain. We solve the realizability and efficiency problems by analyzing the compatibility of predicates defined over real-valued signals, and using the analysis result to constrain a two-player safety game used to synthesize the shield. We demonstrate the effectiveness of this method on a variety of applications, including an automotive powertrain control system.
Meng Wu 0001, Jingbo Wang 0006, Jyotirmoy V. Deshmukh, Chao Wang 0001
FMCAD1
2019 Abstract interpretation under speculative execution
abstract
Analyzing the behavior of a program running on a processor that supports speculative execution is crucial for applications such as execution time estimation and side channel detection. Unfortunately, existing static analysis techniques based on abstract interpretation do not model speculative execution since they focus on functional properties of a program while speculative execution does not change the functionality. To fill the gap, we propose a method to make abstract interpretation sound under speculative execution. There are two contributions. First, we introduce the notion of virtual control flow to augment instructions that may be speculatively executed and thus affect subsequent instructions. Second, to make the analysis efficient, we propose optimizations to handle merges and loops and to safely bound the speculative execution depth. We have implemented and evaluated the proposed method in a static cache analysis for execution time estimation and side channel detection. Our experiments show that the new method, while guaranteed to be sound under speculative execution, outperforms state-of-the-art abstract interpretation techniques that may be unsound.
Meng Wu 0001, Chao Wang 0001
PLDI1
2018 Eliminating timing side-channel leaks using program repair
abstract
We propose a method, based on program analysis and transformation, for eliminating timing side channels in software code that implements security-critical applications. Our method takes as input the original program together with a list of secret variables (e.g., cryptographic keys, security tokens, or passwords) and returns the transformed program as output. The transformed program is guaranteed to be functionally equivalent to the original program and free of both instruction- and cache-timing side channels. Specifically, we ensure that the number of CPU cycles taken to execute any path is independent of the secret data, and the cache behavior of memory accesses, in terms of hits and misses, is independent of the secret data. We have implemented our method in LLVM and validated its effectiveness on a large set of applications, which are cryptographic libraries with 19,708 lines of C/C++ code in total. Our experiments show the method is both scalable for real applications and effective in eliminating timing side channels.
Meng Wu 0001, Shengjian Guo, Patrick Schaumont, Chao Wang 0001
ISSTA1
2018 Adversarial symbolic execution for detecting concurrency-related cache timing leaks
abstract
The timing characteristics of cache, a high-speed storage between the fast CPU and the slow memory, may reveal sensitive information of a program, thus allowing an adversary to conduct side-channel attacks. Existing methods for detecting timing leaks either ignore cache all together or focus only on passive leaks generated by the program itself, without considering leaks that are made possible by concurrently running some other threads. In this work, we show that timing-leak-freedom is not a compositional property: a program that is not leaky when running alone may become leaky when interleaved with other threads. Thus, we develop a new method, named adversarial symbolic execution, to detect such leaks. It systematically explores both the feasible program paths and their interleavings while modeling the cache, and leverages an SMT solver to decide if there are timing leaks. We have implemented our method in LLVM and evaluated it on a set of real-world ciphers with 14,455 lines of C code in total. Our experiments demonstrate both the efficiency of our method and its effectiveness in detecting side-channel leaks.
Shengjian Guo, Meng Wu 0001, Chao Wang 0001
ESEC/SIGSOFT FSE2
2017 Safety Guard: Runtime Enforcement for Safety-Critical Cyber-Physical Systems: Invited
abstract
Due to their safety-critical nature, cyber-physical systems (CPS) must tolerate faults and security attacks to remain fail-operational. However, conventional techniques for improving safety, such as testing and validation, do not meet this requirement, as shown by many of the real-world system failures in recent years, often with major economic and public-safety implications. We aim to improve the safety of critical CPS through synthesis of runtime enforcers, named safety guards, which are reactive components attached to the original systems to protect them against catastrophic failures. That is, even if the system occasionally malfunctions due to unknown defects, transient errors, or malicious attacks, the guard always reacts instantaneously to ensure that the combined system satisfies a predefined set of safety properties, and the deviation from the original system is kept at minimum. We illustrate the main ideas of this approach with examples, discuss the advantages compared to existing approaches, and point out some research challenges.
Meng Wu 0001, Haibo Zeng 0001, Chao Wang 0001, Huafeng Yu
DAC1
2017 Symbolic execution of programmable logic controller code
abstract
Programmable logic controllers (PLCs) are specialized computers for automating a wide range of cyber-physical systems. Since these systems are often safety-critical, software running on PLCs need to be free of programming errors. However, automated tools for testing PLC software are lacking despite the pervasive use of PLCs in industry. We propose a symbolic execution based method, named SymPLC, for automatically testing PLC software written in programming languages specified in the IEC 61131-3 standard. SymPLC takes the PLC source code as input and translates it into C before applying symbolic execution, to systematically generate test inputs that cover both paths in each periodic task and interleavings of these tasks. Toward this end, we propose a number of PLC-specific reduction techniques for identifying and eliminating redundant interleavings. We have evaluated SymPLC on a large set of benchmark programs with both single and multiple tasks. Our experiments show that SymPLC can handle these programs efficiently, and for multi-task PLC programs, our new reduction techniques outperform the state-of-the-art partial order reduction technique by more than two orders of magnitude.
Shengjian Guo, Meng Wu 0001, Chao Wang 0001
ESEC/SIGSOFT FSE2
2016 Synthesis of Fault-Attack Countermeasures for Cryptographic Circuits
Hassan Eldib, Meng Wu 0001, Chao Wang 0001
CAV (2)2