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

Nafi Diallo

dblp:167/0207 · DBLP profile ↗
← Back
6ranked-venue papers
1as first author
1since 2021 · last 2026
—ORCID · none

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

Software engineering, systems software and programming languages · 5 · 1 first-author · 1 since 2021Theory of computation · 2 · 1 since 2021Artificial intelligence and machine learning · 1

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.

Theoretical computer science
1 paper
Automated reasoning and model checking · 100%
Software engineering, system software, and programming languages
1 paper
Program verification · 62% Debugging and program repair · 19% Software testing · 19%
Artificial intelligence
1 paper
Language models and text generation · 100%

Topics — the 4 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Automated reasoning and model checking › automated reasoning › mathematical reasoning
autoformalization
1.012026
A Neurosymbolic Approach to Natural Language Formalization and Verification · CAV (2) 2026
Natural language and speech › Language models and text generation › large language model safety
LLM guardrail
0.312026
A Neurosymbolic Approach to Natural Language Formalization and Verification · CAV (2) 2026
Debugging and program repair
fault localization
0.112015
Correctness and Relative Correctness · ICSE (2) 2015
Software testing
test oracle
0.112015
Correctness and Relative Correctness · ICSE (2) 2015

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

large language model · 2.0automated reasoning · 2.0formal specification · 0.2
YearPublicationVenuePosition
2026 A Neurosymbolic Approach to Natural Language Formalization and Verification
abstract
Abstract Large Language Models perform well at natural language interpretation and reasoning, but their lack of formal correctness guarantees limits their adoption in regulated industries like finance and healthcare that operate under strict policies. To address this limitation, we launched Automated Reasoning checks (ARc) : a public service that (1) uses LLMs with optional human guidance to formalize natural language policies, allowing fine-grained control of the formalization process, and (2) uses inference-time autoformalization to validate logical correctness of natural language statements against those policies. ARc performs multiple redundant formalization steps at inference time, checking the formalizations for semantic equivalence. Our benchmarks show that ARc exceeds 99% soundness and achieves a near-zero false positive rate in identifying logical validity. Our approach produces auditable artifacts that substantiate the verification outcomes and can be used to improve the original text. ARc is the first commercial offering from a major cloud provider to integrate automated reasoning into a generative AI guardrail.
Chenyang An, Sam Bayless, Stefano Buliani, Darion Cassel, Byron Cook, Duncan Clough, Rémi Delmas, Nafi Diallo, Ferhat Erata, Nick Feng, Dimitra Giannakopoulou, Aman Goel, Aditya Gokhale, Joe Hendrix, Victor Heorhiadi, Marc Hudak, Dejan Jovanovic, Andrew M. Kent, Benjamin Kiesl-Reiter, Jeffrey J. Kuna, Nadia Labai, Joe Lilien, Divya Raghunathan, Zvonimir Rakamaric, Niloofar Razavi, Michael Tautschnig, Ali Torkamani, Nathaniel Weir, Michael W. Whalen, Jianan Yao
CAV (2)8
2017 Projecting programs on specifications: Definition and implications
Jules Desharnais, Nafi Diallo, Wided Ghardallou, Ali Mili 0001
Sci. Comput. Program.2
2016 Debugging without Testing
abstract
It is so inconceivable to debug a program without testing it that these two words are used nearly interchangeably. Yet we argue that using the concept of relative correctness we can indeed remove a fault from a program and prove that the fault has been removed, by proving that the new program is more correct than the original. This is a departure from the traditional roles of proving and testing methods, whereby static proof methods are applied to a correct program to prove its correctness, and dynamic testing methods are applied to an incorrect program to expose its faults.
Wided Ghardallou, Nafi Diallo, Ali Mili 0001, Marcelo F. Frias
ICST2
2016 Software Evolution by Correctness Enhancement
abstract
Relative correctness is the property of a program to be more-correct than another with respect to a specification; this property enables us to rank candidate programs in a partial ordering structure whose maximal elements are the correct programs.Whereas traditionally we think of program derivation as a process of successive correctnesspreserving transformations (using refinement) starting from the specification, we argue that it is possible to derive programs by successive correctness-enhancing transformations (using relative correctness) starting from abort.One of the attributes of our approach is that it captures in the same mathematical model, not only the derivation of programs from scratch, but also most (if not all) of the activities that arise in software evolution.Given that most software is developed nowadays by evolving existing products rather than from scratch, any advance in the technology of program transformation by correctness enhancement stands to yield significant practical benefits.
Wided Ghardallou, Nafi Diallo, Ali Mili 0001
SEKE2
2015 Relational Mathematics for Relative Correctness
Jules Desharnais, Nafi Diallo, Wided Ghardallou, Marcelo F. Frias, Ali Jaoua, Ali Mili 0001
RAMiCS2
2015 Correctness and Relative Correctness
abstract
In the process of trying to define what is a software fault, we have foundthat to formally define software faults we need to introduce the conceptof relative correctness, i.e. the property of a program to be more-correctthan another with respect to a given specification. A feature of a programis a fault (for a given specification)only because there exists an alternative to it that would makethe program more-correct with respect to the specification.In this paper, we explore applications of the concept of relative correctness in programtesting, program repair, and program design.Specifically, we argue that in many situations of software testing,fault removal and program repair, testing for relative correctnessrather than absolute correctness leads to clearer conclusions andbetter outcomes. Also, we find that designing programs by stepwisecorrectness-enhancing transformations rather than by stepwise correctness-preserving refinements leads to simpler programs and is more tolerant of designer mistakes.
Nafi Diallo, Wided Ghardallou, Ali Mili 0001
ICSE (2)1