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

David Menendez

dblp:121/8925 · DBLP profile ↗
← Back
12ranked-venue papers
7as first author
5since 2021 · last 2025
—ORCID · none

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

Artificial intelligence and machine learning · 8 · 4 first-author · 5 since 2021Applied, interdisciplinary, general and emerging computing · 8 · 4 first-author · 5 since 2021Software engineering, systems software and programming languages · 4 · 3 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
3 papers
Compilers and program optimization · 69% Program analysis · 15% Program verification · 13%

Topics — the 8 heaviest of 9, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization › compiler optimization › local optimization
peephole optimization
0.522017
Alive-Infer: data-driven precondition inference for peephole optimizations in LLVM · PLDI 2017
Termination-checking for LLVM peephole optimizations · ICSE 2016
Compilers and program optimization
compiler correctness
0.312017
Alive-Infer: data-driven precondition inference for peephole optimizations in LLVM · PLDI 2017
Program analysis › specification mining
precondition inference
0.312017
Alive-Infer: data-driven precondition inference for peephole optimizations in LLVM · PLDI 2017
Compilers and program optimization › compiler correctness
compiler optimization correctness
0.212016
Termination-checking for LLVM peephole optimizations · ICSE 2016
Program verification
termination analysis
0.212016
Termination-checking for LLVM peephole optimizations · ICSE 2016
Compilers and program optimization
verified compilation
0.212015
Provably correct peephole optimizations with alive · PLDI 2015
Compilers and program optimization › compiler infrastructure
LLVM
0.112016
Termination-checking for LLVM peephole optimizations · ICSE 2016
Programming languages and type systems › language semantics
undefined behavior
0.112015
Provably correct peephole optimizations with alive · PLDI 2015

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

domain-specific language · 0.5predicate enumeration · 0.3example generation · 0.3data-driven learning · 0.3automated verification · 0.2counterexample generation · 0.2SMT solving · 0.2
YearPublicationVenuePosition
2025 Cognition in Action: The relation between physical and mental paper folding in young children
David Menendez, Samuel Halama, Taylor Johnson, Karl S. Rosengren
CogSci1
2025 U.S. adults' beliefs and explanations about health disparities
David Menendez, Danielle Labotka, Valerie A. Umscheid, Susan A. Gelman
CogSci1
2025 Once Upon a Goodbye: Exploring How Animated Films Spark Child-Caregiver Conversations About Death
David Menendez
CogSci2
2023 Teacher Attitudes on Inheritance Diagram Features
Olympia N. Mathiaparanam, Andrea Donovan, David Menendez, Collin Jones, Seung Heon Yoo, Martha W. Alibali, Charles W. Kalish, Karl S. Rosengren
CogSci3
2022 Perceptual Features in Visual Representations: A Content Analysis of Inheritance Diagrams
Olympia N. Mathiaparanam, Andrea Donovan, David Menendez, Collin Jones, Seung Heon Yoo, Martha W. Alibali, Charles W. Kalish, Karl S. Rosengren
CogSci3
2020 Characteristics of Visualizations and Texts in Elementary School Biology Books
David Menendez, Taylor Johnson, Ryan Hassett, Ashley Haut, Olympia N. Mathiaparanam, Martha W. Alibali, Karl S. Rosengren
CogSci1
2018 How do people evaluate problem-solving strategies? Efficiency and intuitiveness matter
Sarah A. Brown, David Menendez, Martha W. Alibali
CogSci2
2018 Effects of priming variability on adults learning about metamorphosis
David Menendez, Martha W. Alibali, Karl S. Rosengren
CogSci1
2017 Alive-Infer: data-driven precondition inference for peephole optimizations in LLVM
abstract
Peephole optimizations are a common source of compiler bugs. Compiler developers typically transform an incorrect peephole optimization into a valid one by strengthening the precondition. This process is challenging and tedious. This paper proposes Alive-Infer, a data-driven approach that infers preconditions for peephole optimizations expressed in Alive. Alive-Infer generates positive and negative examples for an optimization, enumerates predicates on-demand, and learns a set of predicates that separate the positive and negative examples. Alive-Infer repeats this process until it finds a precondition that ensures the validity of the optimization. Alive-Infer reports both a weakest precondition and a set of succinct partial preconditions to the developer. Our prototype generates preconditions that are weaker than LLVM’s preconditions for 73 optimizations in the Alive suite. We also demonstrate the applicability of this technique to generalize 54 optimization patterns generated by Souper, an LLVM IR–based superoptimizer.
David Menendez, Santosh Nagarakatte
PLDI1
2016 Termination-checking for LLVM peephole optimizations
abstract
Mainstream compilers contain a large number of peephole optimizations, which perform algebraic simplification of the input program with local rewriting of the code. These optimizations are a persistent source of bugs. Our recent research on Alive, a domain-specific language for expressing peephole optimizations in LLVM, addresses a part of the problem by automatically verifying the correctness of these optimizations and generating C++ code for use with LLVM.
David Menendez, Santosh Nagarakatte
ICSE1
2016 Alive-FP: Automated Verification of Floating Point Based Peephole Optimizations in LLVM
David Menendez, Santosh Nagarakatte, Aarti Gupta
SAS1
2015 Provably correct peephole optimizations with alive
abstract
Compilers should not miscompile. Our work addresses problems in developing peephole optimizations that perform local rewriting to improve the efficiency of LLVM code. These optimizations are individually difficult to get right, particularly in the presence of undefined behavior; taken together they represent a persistent source of bugs. This paper presents Alive, a domain-specific language for writing optimizations and for automatically either proving them correct or else generating counterexamples. Furthermore, Alive can be automatically translated into C++ code that is suitable for inclusion in an LLVM optimization pass. Alive is based on an attempt to balance usability and formal methods; for example, it captures---but largely hides---the detailed semantics of three different kinds of undefined behavior in LLVM. We have translated more than 300 LLVM optimizations into Alive and, in the process, found that eight of them were wrong.
Nuno P. Lopes, David Menendez, Santosh Nagarakatte, John Regehr
PLDI2