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

Mohammad Nikouei

dblp:190/7505 · DBLP profile ↗
← Back
3ranked-venue papers
0as first author
1since 2021 · last 2022
0000-0001-5744-2609ORCID · corroborated

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

Software engineering, systems software and programming languages · 2 · 1 since 2021Theory of computation · 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.

Software engineering, system software, and programming languages
2 papers
Program verification · 72% Programming languages and type systems · 28%

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

TopicWeightPapersLastEvidence papers
Program verification
modular verification
0.922022
A Relational Program Logic with Data Abstraction and Dynamic Framing · ACM Trans. Program. Lang. Syst. 2022
A Logical Analysis of Framing for Specifications with Pure Method Calls · ACM Trans. Program. Lang. Syst. 2018
Program verification › program logic
relational hoare logic
0.612022
A Relational Program Logic with Data Abstraction and Dynamic Framing · ACM Trans. Program. Lang. Syst. 2022
Programming languages and type systems › program equivalence
representation independence
0.612022
A Relational Program Logic with Data Abstraction and Dynamic Framing · ACM Trans. Program. Lang. Syst. 2022
Program verification › program logic
frame conditions
0.312018
A Logical Analysis of Framing for Specifications with Pure Method Calls · ACM Trans. Program. Lang. Syst. 2018
Program verification
program logic
0.312018
A Logical Analysis of Framing for Specifications with Pure Method Calls · ACM Trans. Program. Lang. Syst. 2018
Programming languages and type systems
abstract data types
0.212022
A Relational Program Logic with Data Abstraction and Dynamic Framing · ACM Trans. Program. Lang. Syst. 2022
Programming languages and type systems › language semantics › formal semantics
axiomatic semantics
0.112018
A Logical Analysis of Framing for Specifications with Pure Method Calls · ACM Trans. Program. Lang. Syst. 2018

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

SMT solving · 0.9
YearPublicationVenuePosition
2022 A Relational Program Logic with Data Abstraction and Dynamic Framing
abstract
Dedicated to Tony Hoare. In a paper published in 1972, Hoare articulated the fundamental notions of hiding invariants and simulations. Hiding: invariants on encapsulated data representations need not be mentioned in specifications that comprise the API of a module. Simulation: correctness of a new data representation and implementation can be established by proving simulation between the old and new implementations using a coupling relation defined on the encapsulated state. These results were formalized semantically and for a simple model of state, though the paper claimed this could be extended to encompass dynamically allocated objects. In recent years, progress has been made toward formalizing the claim, for simulation, though mainly in semantic developments. In this article, hiding and simulation are combined with the idea in Hoare’s 1969 paper: a logic of programs. For an object-based language with dynamic allocation, we introduce a relational Hoare logic with stateful frame conditions that formalizes encapsulation, hiding of invariants, and couplings that relate two implementations. Relations and other assertions are expressed in first-order logic. Specifications can express a wide range of relational properties such as conditional equivalence and noninterference with declassification. The proof rules facilitate relational reasoning by means of convenient alignments and are shown sound with respect to a conventional operational semantics. A derived proof rule for equivalence of linked programs directly embodies representation independence. Applicability to representative examples is demonstrated using an SMT-based implementation.
Anindya Banerjee 0001, Ramana Nagasamudram, David A. Naumann, Mohammad Nikouei
ACM Trans. Program. Lang. Syst.4
2018 A Logical Analysis of Framing for Specifications with Pure Method Calls
abstract
For specifying and reasoning about object-based programs, it is often attractive for contracts to be expressed using calls to pure methods. It is useful for pure methods to have contracts, including read effects, to support local reasoning based on frame conditions. This leads to puzzles such as the use of a pure method in its own contract. These ideas have been explored in connection with verification tools based on axiomatic semantics, guided by the need to avoid logical inconsistency, and focusing on encodings that cater for first-order automated provers. This article adds pure methods and read effects to region logic, a first-order program logic that features frame-based local reasoning and provides modular reasoning principles for end-to-end correctness. Modular reasoning is embodied in a proof rule for linking a module’s method implementations with a client that relies on the method contracts. Soundness is proved with respect to conventional operational semantics and uses an extensional (i.e, relational) interpretation of read effects. Applicability to tools based on SMT solvers is demonstrated through machine-checked verification of examples. The developments in this article can guide the implementations of linking as used in modular verifiers and serve as a basis for studying observationally pure methods and encapsulation.
Anindya Banerjee 0001, David A. Naumann, Mohammad Nikouei
ACM Trans. Program. Lang. Syst.3
2016 Relational Logic with Framing and Hypotheses
abstract
Relational properties arise in many settings: relating two versions of a program that use different data representations, noninterference properties for security, etc. The main ingredient of relational verification, relating aligned pairs of intermediate steps, has been used in numerous guises, but existing relational program logics are narrow in scope. This paper introduces a logic based on novel syntax that weaves together product programs to express alignment of control flow points at which relational formulas are asserted. Correctness judgments feature hypotheses with relational specifications, discharged by a rule for the linking of procedure implementations. The logic supports reasoning about program-pairs containing both similar and dissimilar control and data structures. Reasoning about dynamically allocated objects is supported by a frame rule based on frame conditions amenable to SMT provers. We prove soundness and sketch how the logic can be used for data abstraction, loop optimizations, and secure information flow.
Anindya Banerjee 0001, David A. Naumann, Mohammad Nikouei
FSTTCS3