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

Nathaniel Charlton

dblp:30/2091 · DBLP profile ↗
← Back
8ranked-venue papers
6as first author
0since 2021 · last 2015
—ORCID · none

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

Theory of computation · 5 · 5 first-authorSoftware engineering, systems software and programming languages · 3 · 2 first-authorArtificial 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
Logic in computer science · 50% Automated reasoning and model checking · 50%
Software engineering, system software, and programming languages
1 paper
Program verification · 100%

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

TopicWeightPapersLastEvidence papers
Logic in computer science › program logic
separation logic
0.212013
Specification patterns for reasoning about recursion through the store · Inf. Comput. 2013
Automated reasoning and model checking › temporal logic specification
specification patterns
0.212013
Specification patterns for reasoning about recursion through the store · Inf. Comput. 2013
Program verification › model checking
software model checking
0.112007
Hector: Software Model Checking with Cooperating Analysis Plugins · CAV 2007

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

cooperating analysis plugins · 0.1
YearPublicationVenuePosition
2015 Symbolic Execution Proofs for Higher Order Store Programs
Bernhard Reus, Nathaniel Charlton, Ben Horsfall
J. Autom. Reason.2
2013 Specification patterns for reasoning about recursion through the store
Nathaniel Charlton, Bernhard Reus
Inf. Comput.1
2012 Verifying the reflective visitor pattern
abstract
Computational reflection allows a program to inspect and manipulate the structure or behaviour of itself at runtime. Often this means that it is possible to create more generic or adaptable programs in an elegant way. However, there is little support for specification and automatic verification of reflective programs. We address this problem by implementing, specifying, and verifying a reflective library using a Hoare-logic for a simple language with stored procedures. The latter is important since reflective metadata is modelled on the heap, thus method objects will be realised as stored procedures. We verify memory safety as well as functional correctness of an instance of the reflective visitor pattern, including the reflective library. The entire verification is carried out in our (semi-)automatic verification tool Crowfoot.
Ben Horsfall, Nathaniel Charlton, Bernhard Reus
FTfJP@ECOOP2
2012 Crowfoot: A Verifier for Higher-Order Store Programs
Nathaniel Charlton, Ben Horsfall, Bernhard Reus
VMCAI1
2011 Specification Patterns and Proofs for Recursion through the Store
Nathaniel Charlton, Bernhard Reus
FCT1
2011 Hoare Logic for Higher Order Store Using Simple Semantics
Nathaniel Charlton
WoLLIC1
2007 Hector: Software Model Checking with Cooperating Analysis Plugins
Nathaniel Charlton, Michael Huth 0001
CAV1
2007 Program verification with interacting analysis plugins
abstract
Abstract In this paper we propose and argue for a modular framework for interprocedural program analysis, where multiple program analysis tools are combined in order to exploit the particular advantages of each. This allows for “plugging together” such tools as required by each verification task and makes it easy to integrate new analyses. Our framework automates the sharing of information between plugins using a first order logic with transitive closure, in a way inspired by the open product of Cortesi et al. We describe a prototype implementation of our framework, which performs static assertion checking on a simple language for heap-manipulating programs. This implementation includes plugins for three existing approaches—predicate abstraction, 3-valued shape analysis and a decidable pointer analysis—and for a simple type system. We demonstrate through a detailed example the increase in precision that our approach can provide. Finally we discuss the design decisions we have taken, in particular the tradeoffs involved in the choice of language by which the plugins communicate, and identify some future directions for our work.
Nathaniel Charlton
Formal Aspects Comput.1