Formal engineering methods are changing the way that software systems are developed.
With language and tool support, they are being used for automatic code
generation, and for the automatic abstraction and checking of implementations.
In the future, they will be used at every stage of development: requirements,
specification, design, implementation, testing, and documentation.
The ICFEM series of conferences aims to bring together those interested in
the application of formal engineering methods to computer systems. Researchers
and practitioners, from industry, academia, and government, are encouraged to
attend, and to help advance the state of the art. Authors are strongly encouraged
to make their ideas as accessible as possible, and there is a clear emphasis upon
work that promises to bring practical, tangible benefit: reports of case studies
should have a conceptual message, theory papers should have a clear link to
application, and papers describing tools should have an account of results.
ICFEM 2004 was the sixth conference in the series, and the first to be held in
North America. Previous conferences were held in Singapore, China, UK, Australia,
and Japan. The Programme Committee received 110 papers and selected
30 for presentation. The final versions of those papers are included here, together
with 2-page abstracts for the 5 accepted tutorials, and shorter abstracts for the
4 invited talks.
We would like to thank: Dines Bjørner, for his work in organizing speakers
and sponsors; Jin Song Dong and Jim Woodcock, for an excellent handover from
ICFEM 2003; Joxan Jaffar, J Strother Moore, Peter Neumann, and Amitabh
Srivastava, for agreeing to address the conference; the authors, for submitting
their work; the Programme Committee, and their colleagues, for their reviews;
and Springer, for their help with publication.
ICFEM 2004 was organized by Microsoft Research in Seattle, with additional
support and sponsorship from the University of Oxford, the United Nations
University, Formal Methods Europe, NASA, and ORA Canada.