About the Symposium
Important Dates

Symposium Members
Sponsors and Exhibits
Registration
Hotel and Flight Information
About Boca Raton
Home


Program: Tutorials

Developing More Reliable Software Faster and Cheaper
John D. Musa (Author and Independent Consultant)

Abstract: This tutorial will quickly and efficiently teach you step by step the essentials of how to apply the standard, proven, widespread best practice of Software Reliability Engineering (SRE) to your project. SRE helps you develop and test more reliable software faster and cheaper. It requires no previous knowledge other than general experience with software development. It is therefore an excellent introduction to SRE for software testers, software developers, systems engineers, quality assurance engineers, reliability engineers, project managers, and other interested parties. You will learn about the major activities of SRE in considerable detail: defining "necessary" reliability, developing operational profiles, preparing for testing, executing tests, and applying failure data to guide decisions.

Outline: Define the "just right" reliability, develop operational profiles, prepare for testing using SRE, execute tests using SRE, and apply failure data to guide process changes and release decisions.



Software Reliability and Risk Measurement: Techniques and Tools
Allen Nikora (Jet Propulsion Laboratory- California Institute of Technology) and Michael Lyu(The Chinese University of Hong-Kong)

Abstract: This tutorial will present models for software reliability measurement and estimation during testing and earlier phases. It will discuss the practical applications and evaluation of reliability models, show ways to improve models' accuracy via linear combination and calibration, and show a number of tools that facilitate the use of reliability engineering techniques.

Outline: Models for software reliability during testing and earlier phases, use and evaluation of reliability models, improvement of models' accuracy via linear combination and calibration, and tools




Testing Object-Oriented Software
David Kung and Pei. Hsia (University of Texas at Arlington)

Abstract: Software testing is an important software quality assurance activity. Its objective is to uncover as many errors as possible with a minimum cost. A successful test should show that a program contains bugs rather than that it works fine. Since software testing consumes 40%-80% of the development costs, how to reduce its cost and improve its quality has always been a big challenge to the software engineering community. OO software testing has to deal with new problems introduced by the powerful new features of OO languages. OO features (such as encapsulation, inheritance, polymorphism, and dynamic binding) provide visible benefits in software design and programming. However, these new features also raise challenging problems in the software testing and maintenance phases. In order to ensure that the benefits of OO programming are fully realized, we need to uncover new OO testing techniques and processes. The objectives of this tutorial are to study of the state of the art and the state of the practice of OO software testing. The tutorial is aimed at introducing the participants the field and expose them the OO software testing problems, effective and efficient OO software testing approaches, models, methods, techniques and tools. The participants will practice some of the techniques to typical OO programs.

Outline: Software quality assurance, software testing, the OO paradigm, why OO testing?, OO testing problems, OO test models & methods, Object state behavior testing, OO test criteria & metrics, test case & test data generation, OO regression testing, OO test tools



Architecture-Based Performance and Reliability Analysis of Software Systems
S. Gokhale (University of California, Riverside), K. Trivedi (NC State), E. Wong (Bellcore)

Abstract: This tutorial is particularly intended for practitioners and managers interested in applying techniques to analyze the performance and reliability of software systems based on their architecture. These approaches will aid in evaluating competing architectural alternatives as well as assessing the impact of individual components on the overall reliability and performance of the application in the design phase. They can also be instrumental in identifying performance and reliability bottlenecks in the design and operational phase of the software. The background is elementary probability and statistics.

Outline: Models for architecture based performance and reliability assessment of software, parametrization of analytical models characterizing the system behavior.