Network


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

Hotspot


Dive into the research topics where Phil Cook is active.

Publication


Featured researches published by Phil Cook.


Software - Practice and Experience | 2001

Incremental parsing in language-based editors: user needs and how to meet them

Phil Cook; Jim Welsh

Incremental parsing has long been recognized as a technique of great utility in the construction of language‐based editors, and correspondingly, the area currently enjoys a mature theory. Unfortunately, many practical considerations have been largely overlooked in previously published algorithms. Many user requirements for an editing system necessarily impact on the design of its incremental parser, but most approaches focus only on one: response time. This paper details an incremental parser based on LR parsing techniques and designed for use in a modeless syntax recognition editor. The nature of this editor places significant demands on the structure and quality of the document representation it uses, and hence, on the parser. The strategy presented here is novel in that both the parser and the representation it constructs are tolerant of the inevitable and frequent syntax errors that arise during editing. This is achieved by a method that differs from conventional error repair techniques, and that is more appropriate for use in an interactive context. Furthermore, the parser aims to minimize disturbance to this representation, not only to ensure other system components can operate incrementally, but also to avoid unfortunate consequences for certain user‐oriented services. The algorithm is augmented with a limited form of predictive tree‐building, and a technique is presented for the determination of valid symbols for menu‐based insertion. Copyright


asia-pacific software engineering conference | 2005

Model checking interrupt-dependent software

Colin J. Fidge; Phil Cook

Embedded control programs are hard to analyse because their behaviour depends on how they interact with hardware devices. In particular, embedded code typically uses interrupts to respond to external events in a timely manner. Such asynchronous control constructs make static analysis difficult due to the potentially large number of alternative control-flow paths they allow. We show how model checking can be used to effectively analyse the behaviour of interrupt-dependent programs. This is done by developing an abstraction of the code that captures its essential timing and functional properties, including those related to external interrupts. The model is made efficient by grouping program instructions into basic blocks whose behaviour is atomic with respect to interrupts.


australian software engineering conference | 2006

Well-measuring programs

Phil Cook; Colin J. Fidge; David Hemer

Any program that measures quantities from its physical environment must compute using correct and consistent units of measurement. Such a program is described as well-measuring. In many systems, particularly embedded control software, paying inadequate attention to units of measurement can result in catastrophe. Unfortunately, current programming languages and tools provide little aid to the programmer attempting to establish or verify the well-measuring property. We present a program analysis technique for inferring and checking the units used within a program. The technique combines traditional Hindley-Milner-style type inference with the use of static single assignment (SSA) form to enable analysis of imperative programs.


Science & Engineering Faculty | 2005

Model Checking Interrupt-Dependent Software

Colin J. Fidge; Phil Cook


Archive | 2005

Building a Flexible Incremental Compiler Back-End

Phil Cook; Jim Welsh; Ian J. Hayes


Archive | 2002

Incremental Context-Sensitive Evaluation in Context

Phil Cook; Jim Welsh; Ian J. Hayes


Archive | 1999

Environment description language for UQ

Mark Toleman; David A. Carrington; Phil Cook; Anthony MacDonald; Jim Welsh


Archive | 2007

Stepwise refinement of interrupt-driven real-time programs

Phil Cook; Colin J. Fidge


Archive | 2005

Incremental Semantic Evaluation for Interactive Systems: Inertia, Pre-emption, and Relations

Phil Cook; Jim Welsh; Ian J. Hayes


Archive | 1999

An incremental LR parse strategy for language-based editors

Phil Cook; Jim Welsh

Collaboration


Dive into the Phil Cook's collaboration.

Top Co-Authors

Avatar

Jim Welsh

University of Queensland

View shared research outputs
Top Co-Authors

Avatar

Colin J. Fidge

Queensland University of Technology

View shared research outputs
Top Co-Authors

Avatar

Ian J. Hayes

University of Queensland

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

David Hemer

University of Queensland

View shared research outputs
Top Co-Authors

Avatar

Mark Toleman

University of Southern Queensland

View shared research outputs
Researchain Logo
Decentralizing Knowledge