Reports and Papers Archive
XGobi: Interactive Dynamic Data Visualization in the X Window System
Designing Secure Software
This month Peter turns a jaundiced eye towars the sorry state of software development. Specifically what are the flaws that cause the industry to turn out program after program with security holes. What are Companies like Sun doing to correct the problem? What should they be doing? The answer: Peter’s own Software Development Security Design Methodology.
UNIX Computer Security Checklist
Aspect Oriented Programming
The Changing Environment for Security Protocols
Blocking JAVA Applets at the Firewall
This paper explores the problem of protecting a site on the internet against hostile external JAVA applets while allowing trusted internal applets to run . With careful implemnetation, a site can be made resistant to current JAVA security weaknesses as well as those yet to be discovered. In addtion, we describe a new attack on certain sophisticated firewalls that is most efeectively realized as a JAVA applet.
Taking Computers to Task
Inventing the Internet Again
Concept-Systems Catalogue
A Taxonomy for Key Escrow Encryption Systems
A Taxonomy of Software Development Methods
High Pressure Steam Engines and Computer Software
Medical Devices: The Therac-25
Rethinking the Taxonomy of Fault Detection Techniques
The convetional classification of software fault detection techniques as staticor dynamic analysis is inadequate as a basis for identifying useful relationships between techniques. A more useful distinction is between techniques that sample the space of possible new execuations, and techniques that fold the space. The new distinction provides better insight into the ways different techniques can interact. and is a basis for considering hybrid fault detection techniques including combinations of testing and formal verification.
The Case Against C
The programming language C has been in widespread use since the early 1970s, and is it probably the language most widely used by computer science professionals. The goal of this paper is to argue that it is time to retire C in favour of a more modern language. The choice of a programming langauge is often an emotional issue which is not the subject of rational discussion. Nevertheless it is hoped to show here that there are good objective reasons why C is not a good choice for large programming projects. These reasons are related primarily to the issues of software readability and programmer productivity.

