Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Kenneth MacKenzie is active.

Publication


Featured researches published by Kenneth MacKenzie.


Electronic Notes in Theoretical Computer Science | 2003

Grail: a functional form for imperative mobile code

Lennart Beringer; Kenneth MacKenzie; Ian Stark

In Robert Louis Stevenson’s novel [31], Dr Jekyll is a well-regarded member of polite society, while his alter ego Mr Hyde shares the same physical form but roams abroad communing with the lowest elements. In this paper we present Grail, a well-behaved first-order functional language that is the target for an ML-like compiler; while also being a wholly imperative language of assignments that travels and executes as Java classfiles. We use this dual identity in the Mobile Resource Guarantees project, where Grail serves as proof-carrying code to provide assurances of time and space performance, thereby supporting secure and reliable global computing.


trustworthy global computing | 2010

Symbolic and analytic techniques for resource analysis of java bytecode

David Aspinall; Robert Atkey; Kenneth MacKenzie; Donald Sannella

Recent work in resource analysis has translated the idea of amortised resource analysis to imperative languages using a program logic that allows mixing of assertions about heap shapes, in the tradition of separation logic, and assertions about consumable resources. Separately, polyhedral methods have been used to calculate bounds on numbers of iterations in loop-based programs. We are attempting to combine these ideas to deal with Java programs involving both data structures and loops, focusing on the bytecode level rather than on source code.


international conference on construction and analysis of safe secure and interoperable smart devices | 2005

Mobile resource guarantees and policies

David Aspinall; Kenneth MacKenzie

This paper introduces notions of resource policy for mobile code to be run on smart devices, to integrate with the proof-carrying code architecture of the Mobile Resource Guarantees (MRG) project. Two forms of policy are used: guaranteed policies which come with proofs and target policies which describe limits of the device. A guaranteed policy is expressed as a function of a methods input sizes, which determines a bound on consumption of some resource. A target policy is defined by a constant bound and input constraints for a method. A recipient of mobile code chooses whether to run methods by comparing between a guaranteed policy and the target policy. Since delivered code may use methods implemented on the target machine, guaranteed policies may also be provided by the platform; they appear symbolically as assumptions in delivered proofs. Guaranteed policies entail proof obligations that must be established from the proof certificate. Before proof, a policy checker ensures that the guaranteed policy refines the target policy; our policy format ensures that this step is tractable and does not require proof. Delivering policies thus mediates between arbitrary target requirements and the desirability to package code and certificate only once.


Electronic Notes in Theoretical Computer Science | 2011

Static Resource Analysis for Java Bytecode Using Amortisation and Separation Logic

Damon Fenacci; Kenneth MacKenzie

In this paper we describe a static analyser for Java bytecode which uses a combination of amortised analysis and Separation Logic due to Robert Atkey. With the help of Java annotations we are able to give precise resource utilisation constraints for Java methods which manipulate various heap-based data structures.


latin-american symposium on dependable computing | 2009

A Proof-Carrying-Code Infrastructure for Resources

Hans-Wolfgang Loidl; Kenneth MacKenzie; Steffen Jost; Lennart Beringer

This paper tackles the issue of increasing dependability of distributed systems in the presence of mobile code. To this end we present a complete Proof-carrying-code (PCC) infrastructure for independent and automatic certification of resource bounds of mobile JVM programs. This includes a certifying compiler for a high-level language, which produces a certificate of bounded heap consumption, and independent certificate validation, realised via proof-checking, on the code-consumer side. Thus, we are now in a position to automatically infer linear upper bounds on the heap consumption of a strict, first-order functional language, generate a certificate encoding a formal proof of such bounded heap consumption and independently validate this certificate at the consumer side by checking the certificate. This prevents mobile code from exhausting resources on the local machine.


Experimental Physiology | 1911

AN EXPERIMENTAL INVESTIGATION OF THE MECHANISM OF MILK SECRETION, WITH SPECIAL REFERENCE TO THE ACTION OF ANIMAL EXTRACTS

Kenneth MacKenzie


trends in functional programming | 2003

Camelot and Grail: resource-aware functional programming for the JVM.

Kenneth MacKenzie; Nicholas Wolverson


trends in functional programming | 2003

O'Camelot: adding objects to a resource-aware functional language.

Nicholas Wolverson; Kenneth MacKenzie


trends in functional programming | 2005

Mobile Resource Guarantees (project evaluation paper).

Donald Sannella; Martin Hofmann; David Aspinall; Stephen Gilmore; Ian Stark; Lennart Beringer; Hans-Wolfgang Loidl; Kenneth MacKenzie; Alberto Momigliano; Olha Shkaravska


Glasgow Mathematical Journal | 1994

Polycyclic group rings and unique factorisation rings

Kenneth MacKenzie

Collaboration


Dive into the Kenneth MacKenzie's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Ian Stark

University of Edinburgh

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Robert Atkey

University of Strathclyde

View shared research outputs
Top Co-Authors

Avatar

Steffen Jost

University of St Andrews

View shared research outputs
Researchain Logo
Decentralizing Knowledge