IFIP

Working Conference on "The Quality of Numerical Software: Assessment and Enhancement"

A working conference on "The Quality of Numerical Software: Assessment and Enhancement", was arranged 8 - 12 July 1996, in Oxford, England. This was the seventh working conference organized by the IFIP Working Group on Numerical Software (WG 2.5) on behalf of the IFIP Technical Committee on Software: Theory and Practice (TC 2).

Information on the city Oxford is available.

The program committee consisted of

For further information you are invited to contact the Program Committee co-chairs:

or the conference secretariat ifip96@nag.co.uk

The proceedings were published by the IFIP publisher Chapman & Hall and were edited by Ronald Boisvert, National Institute of Standards and Technology, USA.

Proceedings

A list of contents for the proceedings is now available.

The publishers page for the proceedings is available.

Tentative conference program

Rationale

Numerical software is central to our computerized society, it is used to design airplanes and bridges, to operate manufacturing lines, to control power plants and refineries, to analyze future options for financial markets and the economy. It is essential that it be of high quality; efficient, accurate, reliable, robust, easy to use, easy to maintain and easily adapted to new conditions of use. Quality control of numerical software faces all the challenges of software in general; it can be large and complex, expensive to produce, difficult to maintain and hard to use. Numerical software has two characteristics that distinguish it from general software. First, much of it is built upon a long established foundation of mathematical and computational knowledge. Second, it routinely solves problems of types where it is known that these cannot be generally reliable solution algorithms. Another characteristic of numerical software of a less fundamental, but still disturbing nature, is that much of it uses algorithms that are known to be neither fast nor accurate nor reliable.

This conference considers eight somewhat independent components or aspects of software quality:

  1. EFFICIENCY
    This component measures the consumption of computer resources: processor time, memory used, network bandwidth utilization, and similar resources.
  2. ACCURACY
    This measures the quality of the solution. Since achieving a prescribed accuracy is rarely easy in numerical computations, the importance of this component of quality is often under weighted.
  3. RELIABILITY
    Since prescribed accuracies are not always achieved, one measures how ``often'' the software fails. Robustness is a related criterion that measures how ``gracefully'' software fails.
  4. ADAPTABILITY
    This criterion measures the ease with which the software can adapt, or be ported, to new computing environments.
  5. MAINTAINABILITY
    This criterion measures how easy software is to maintain, covering purposes such as fixing bugs, making enhancements, and combining it with other software.
  6. EASE-OF-USE
    In addition to the usual human engineering aspects of software, this criterion measures the number of user inputs required and the difficulty of providing good values.
  7. COST
    The expense of developing, buying, maintaining and using software.
  8. HUMAN FACTORS
    Show to plan the development of software; how best to organize a team to work together; how best should developers, testers and users interact.
It is not easy to objectively measure some of the components of software quality. It is difficult to evaluate the trade-offs between the components. Nevertheless, it is important that, wherever possible, meaningful rating information be available which is appropriate for users, for software developers, and for researchers.

The problem domains particularly important for this conference are:

There are also software methodologies that are applicable to many or all problem domains. Those particularly important to this conference are: It is well known that no single algorithm provides the best quality for any large class of numerical problems. The polyalgorithm idea expresses the fact that ``at run time'' one can choose between algorithms. Similarly, the algorithm selection techniques based on problem features (i.e., expert systems for choosing software modules) reflect this fact. For many numerical areas the identification of the best software for a specific problem or a small class of problems is a complex task well beyond the capabilities of most users. The conference will address the following questions about this situation:

Last modified: 16 March 2005
boein@nsc.liu.se