Goldsmiths - University of London

Image bar

Department of Computing Seminars 1998/1999

Dependence Analysis of Concurrent Programs and Systems
Tuesday 1st September 1998 - Professor Jingde Cheng, Kyushu University, Japan:
In this talk, I survey the program dependence analysis technique for concurrent programs and its applications from the viewpoint of software engineering. I present various primary program dependences which may exist in a concurrent program, a general approach to define, analyze, and represent these program dependences formally, and applications of an explicit program dependence representation for concurrent programs in various software engineering activities. I also suggest some research problems on dependence analysis of concurrent systems.

Algebraic Specifications: Assessing their Quality and their Effectiveness in Specification-based Testing
Tuesday 29th September 1998 - Dr Martin Woodward, Liverpool University:
There is an increasing trend towards more formality in the development of specifications of software systems in order to reduce the likelihood of errors as early as possible in the development process. The algebraic approach to specification, with its equational form, leads to the added advantage of executability via the process of term-rewriting. Nevertheless, algebraic specifications themselves may be developed which are erroneous or simply of poor quality. This talk will focus on pragmatic techniques and tools to test algebraic specifications and to assess their structural quality. Also, brief mention will be made of some empirical work to assess the effectiveness of test data that is automatically generated from algebraic specifications for testing equivalent procedural implementations.

Predicting Test Effectiveness
Tuesday 20th October 1998 - Dr Marc Roper, Strathclyde University:
Testing is an essential component of the software development process, but also one which is difficult to control. It is well understood that testing techniques are not guaranteed to detect all faults, but more frustrating is that after the application of a testing technique, the tester has no knowledge of how many faults might still be left undiscovered. Recently, capture-recapture models have been applied to software inspection data to predict the number of defects remaining in a document after inspection. However, there are significant differences between the inspection and testing processes and so it is not safe to assume that such techniques will be as successful in the testing domain. This talk investigates the applicability of capture-recapture models to testing by taking into consideration the characteristics of the testing process and comparing the performance of the various existing models. The models are evaluated with empirical data from studies which compared the relative merits of different testing techniques, and the factors effecting the accuracy of the models are analysed.

When are Hard Problems Genuinely Hard? An Introduction to Phase-transition Phenomena and the Implications for Efficient Algorithms
Tuesday 27th October 1998 - Dr Paul Dunne, Liverpool University:
All of the classical examples of computational problems for which only inefficient and infeasible algorithms are known, seem to reduce to the general problem of searching a given structure, such as a graph, in order to decide if the structure possesses a particular property of interest, e.g. does a graph contain a path which visits each graph vertex exactly once? The major weakness of the known methods for addressing certain important search problems of this type is that they effectively come down to considering all possible candidate solutions in turn until it can be decided that either an appropriate solution exists or that no solution is possible. Thus, in the path example, the best known methods must, in the worst-case, consider about n! candidate paths in deciding if an n-vertex graph possesses a path of the required form. This, however, does not mean that every n- vertex graph requires such inordinate search times: clearly a graph with no edges at all cannot have an appropriate path; equally a graph in which every possible edge is present, trivially, has such a path. The phenomenon of search problems, known as a phase- transition, deals with these two extreme behaviours in a rather more sophisticated way: informally, it is clear that the existence or non-existence of a suitable path is partly determined by whether the graph has or does not have `enough' edges. In fact, it turns out that we can very precisely characterise the threshold which determines the meaning of `enough', i.e. for a `typical' n-vertex graph with m edges it is known that if mf(n) then the graph `almost certainly' has a suitable path: furthermore, for this particular problem, the function f(n) is known exactly. Knowledge concerning how a `typical' graph behaves has turned out, in several cases, to be sufficient to allow the construction of algorithmic solutions which, although not always efficient, are provably fast `on average' for appropriate inputs. Similar behaviours have been observed for a very wide range of hard combinatorial search problems (not just for graphs). In this talk an introduction to the concept of phase- transition phenomena is given. After a brief review of some classical results, some approaches to studying and applying such phenomena will be presented together with a survey of a number of open issues in the field. Several of these are the object of study of an EPSRC. Research Grant awarded under the MathfIT initiative to a team in the Department of Computer Science at Liverpool.

Using Real Paper To Communicate with Computers
Tuesday 10th November 1998 - Professor Heather Brown, University of Kent at Canterbury:
This talk covers two novel methods of using paper to communicate with computers. Both are designed to allow paper to become an active part of a computer system. The first method involves the use of a computer-enhanced desk known as a DigitalDesk. The DigitalDesk can recognise pages placed on the desktop and can match them up with corresponding electronic versions. This allows users to access or manipulate information in the electronic version via natural actions such as pointing at text on the page. I shall describe the `Active Alice' project which used a DigitalDesk to turn a normal paperback version of `Alice's Adventures in Wonderland' into an integral part of a grammar lesson for students. The second method uses Xerox's `intelligent paper'. This looks like ordinary paper but contains invisible information that can be detected by a special pointer device. I shall outline the mechanisms used for intelligent paper and describe some potential applications.

Linking informal and formal requirements: a tool based on the B-Toolkit and DOORS.
Tuesday 1st December 1998 - Dr Jeremy Dick, Quality Systems & Software Ltd, Oxford:

On the rank of random matrices over finite fields
Tuesday 8th December 1998 - Dr Colin Cooper, University of North London:

Topological Design Theory
Tuesday 26th January 1999 - Professor Mike Grannell, Open University:
Embedding a graph in a surface produces faces. These faces may be regarded as the blocks of a combinatorial design. Given the general difficulty of effecting such embeddings, it is perhaps not surprising that the design-theoretical aspect seems to have hitherto attracted little attention. In his book on the solution of the Heawood conjecture (\textit{Map Color Theorem}, Springer-Verlag, 1974), Gerhard Ringel describes embeddings of the complete graph $K_n$ in orientable surfaces of minimal genus. It was recently shown that his solution for $n\equiv 3$ (mod 12) produces a face 2-colourable triangulation of $K_n$ whose faces (in each colour) correspond to the well-known Bose construction for Steiner triple systems. Again, until recently, very few nonisomorphic minimal genus embeddings of $K_n$ were known for each $n$ (I think three was the record for orientable surfaces). In this talk I will describe some recursive constructions for topological embeddings which correspond to known recursive constructions for block designs. They facilitate the construction of large numbers ($2^{O(n^2)}$) of nonisomorphic minimal genus embeddings of $K_n$ for $n$ lying in certain residue classes. I will then discuss work in progress, some open problems and some conjectures which have arisen. This is joint work with Geoff Bennett, Paul Bonnington, Terry Griggs and Jozef \v Sir\' a\v n.

Testing Refinements of State-based Formal Specifications
Tuesday 2nd February 1999 - Dr John Derrick, University of Kent at Canterbury:
A specification provides a concise description of a system, and can be used as both the benchmark against which any implementation is tested, and also as a means to generate tests. Formal specifications have potential advantages over informal descriptions because they offer the possibility of reducing the costs of testing by automating part of the testing process. This observation has led to considerable interest in developing test generation techniques from formal specifications, and a number of different methods have been derived for state based formalisms such as Z, B and VDM. However, after tests have been derived from a formal specification, the specification might be refined further before its implementation, and therefore a mechanism is needed to relate the abstract tests to the refined implementation. This talk describes such a method by exploring the relationship between testing and refinement. The test generation model we use constructs a finite state machine (FSM) from a Z specification by using a DNF partition analysis of the state and operations. The finite state machine is then used to derive suitable test suites. We describe a way of calculating a FSM for a refinement from an abstract FSM together with the information about the refinement embodied in the retrieve relation. This means that it is possible to test an implementation by generating a new concrete finite state machine from a set of abstract tests.

Hierarchies of program schemes
Tuesday 9th February 1999 - Professor Iain Stewart, Leicester University:
Finite model theory, that is, the study of the expressive power of logics on finite structures, is a thriving research area mid-way between mathematics and computer science. Descriptive complexity theory is one aspect of finite model theory dealing explicitly with the relationship between computational complexity theory and finite model theory. Typical results in descriptive complexity theory are Fagin's Theorem that NP is the class of problems definable by sentences of existential second-order logic, and the Immerman-Vardi theorem that P is the class of problems on ordered structures definable by the sentences of least-fixed point logic. It is unknown whether there exists a logical characterization of any complexity class "below" NP on the class of all finite structures (and not just the class of ordered structures). In this talk I shall introduce simple classes of program schemes and relate these program schemes with well-known logics in descriptive complexity theory (these program schemes are actually just extended while-programs taking finite structures as input). I will prove that there are proper infinite hierarchies within these classes of program schemes which translate to corresponding logical hierarchies on the class of all finite structures (even when we restrict the class of problems to problems only involving trees). The talk will be suitable for non-experts in the field.


Design for test
Tuesday 16th February 1999 - Professor Mike Holcombe, Sheffield University:

Re-engineering: One approach to Coping with Constant Software Changes
Tuesday 9th March 1999 - Dr Hongji Yang, De Montfort University:
With the advent of new architectures, the need to introduce new functionalities and the improvement in design techniques, there is a strong need to re-engineer existing software systems maintaining their continuity of use.
By re-engineering, we adopt the view of examining and altering an existing subject system to reconstitute it in a new form. This process encompasses a combination of various sub-processes, mainly reverse engineering and forward engineering.
Our recent research in the Software Research Technology Laboratory aims to develop an integrated and practical approach that handles compositional analysis and the constant change in system requirements. Issues addressed include program transformation for restructuring, abstraction for reverse engineering, componentising reusable code, formalising an Object-Oriented development approach, migration to CORBA and measuring reverse engineering. Our views to above issues are discussed in the seminar.

Optimisation Based Approaches to the Synthesis of Hard Real Time Systems
Tuesday 16th March 1999 - John Clark, York University:
Developing safety critical real-time systems is hard – very hard. Most design techniques and methods of refinement deal predominantly with (so-called) functional requirements. Safety critical systems also have to satisfy crucial non-functional properties, e.g. hard time constraints. One would like to be able to generate designs at various levels that make best use of available components (or intended components with postulated properties) taking into account required system reliability, the ability to meet all deadlines and costs of development/maintenance etc. In this talk, some recent work by Nicholson, Burns and Clark on the EPSRC-funded DESSERTS project is reported which uses heuristic optimisation techniques to generate putative solutions to system design problems. The work encompasses various levels: architectural synthesis and task allocation over available processors, and fuses the facilities of best available quantitative reliability modelling tools (SHARPE) and schedulability analysis developed at York by the Real Time Systems Group.

Tuesday 23rd March 1999 - Richard Pearce, Wye College:

Jordan approach to representations of the Lorentz group
Tuesday 30th March 1999 - Professor Bernie Russo, University of California:

Engineering and re-engineering software for change
Tuesday 27th April 1999 - Professor Keith Bennett, Durham University:
I'd like to present results from a 10 year research project on the application of formal methods to the reverse engineering of industrial scale software. We have used a transformation-based system to obtain design abstractions from real source code, written in languages such as Assembler and Jovial! This work has stimultated many theoretical problems as well as practical issues in developing good tool support. At the heart of the research is an imperative wide spectrum language, WSL. In my talk, I'd like to focus on the design of practical transformation tools, and show results we have obtained. To conclude, I would like to put together some thoughts on what we have learned about building software that can easily and reliably be changed to meet evolving requirements. Some very recent results from a new research project will be included. The talk will be aimed at the general Computer Scientist; by the end of the talk, I hope to convince the audience that formal methods can indeed be used successfully on large-scale heavily maintained software.

Potts Models, Chromatic Polynomials, and All That
Tuesday 3rd August 1999 - Professor Alan Sokal (New York University):
The q-state Potts model is a statistical-mechanical model that generalizes the well-known Ising model. It can be defined on an arbitrary finite graph G, and its partition function is a polynomial that encodes much important information about G (including its chromatic polynomial and its reliability polynomial). The complex zeros of the Potts-model partition function are of interest both to statistical mechanicians (in connection with the Lee-Yang picture of phase transitions) and to combinatorists. I begin by giving an introduction to all these problems. I then sketch two recent (and as yet unpublished) results: (a) Proof of a universal upper bound on the q-plane zeros of the chromatic polynomial (or, more generally, antiferromagnetic Potts-model partition function) in terms of the graph's maximum degree (maximum number of nearest neighbors to any vertex). (b) Construction of a countable family of planar graphs whose chromatic zeros are dense in the whole complex q-plane except possibly for the disc |q-1| < 1. This talk is intended to be understandable to both mathematicians and physicists; no prior knowledge of either graph theory or statistical mechanics is required.