FDD3459 Software Reliability 9.0 credits

Mjukvaru pålitlighet

The subject matter of this course concerns modern and practical techniques for software testing and reliability modeling, suitable for the working software engineer. Software testing concerns the problem of analyzing and evaluating software products to reach some conclusion about their fitness for use. For safety critical, mission critical and enterprise critical systems development it is nowadays essential to have some form of software quality assurance measures in place within an IT project. Quality assurance measures may involve both managerial and technical procedures.

However, the primary focus of this course will be on technical procedures to predict, discover and diagnose errors in software systems.

Performance on the course for individuals will be assessed by the grade awarded for lab work and a take-home examination. Successfully completed lab work gives a total of 3 points. The examination gives 4.5 points. The total number of points given by the course is 7.5 points.

In addition to the Masters level course which involves lab work 3 hp and an exam 4.5 hp, the graduate level version of this course requires an extra graduate level project for 1.5hp.

This will typically be based on a taking a research paper in software testing, implementing some practical aspects of it to perform testing experiments at an advanced level, and writing the results up in a written report.

Offering and execution

Course offering missing for current semester as well as for previous and coming semesters

Course information

Content and learning outcomes

Course contents *

The course will include the following topics:

software testing concepts according to the V-model different schools of testing white-box testing graph coverage models logic coverage models data flow coverage models black-box testing random testing pairwise testing boundary testing model-based testing statechart models specification-based testing graphical requirements modeling, including use-case modeling logical requirements modeling, including preconditions, postconditions and class invariants, JML, OCL temporal logic requirements modeling, including safety and liveness properties automated test case generation using model checkers advanced topics such as mutation testing. The theoretical subjects are supported by laboratories that are intended to deepen student understanding of important concepts.

Intended learning outcomes *

After the course the student shall be able to:

identify the basic activities needed for software testing, including requirements capture, test planning, test case generation, test case execution, fault diagnosis and fault correction, construct requirements models for different kinds of systems, including procedural, embedded and object-oriented systems, construct a test suite from a simple test requirement model, construct a state transition model for model-based testing, automatically generate test cases using a test-case generation (TCG) tool, assess the quality of a test suite according to a variety of coverage models.

Course Disposition

No information inserted

Literature and preparations

Specific prerequisites *

No information inserted

Recommended prerequisites

No information inserted

Equipment

No information inserted

Literature

No information inserted

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale *

P, F

Examination *

    Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

    The examiner may apply another examination format when re-examining individual students.

    Opportunity to complete the requirements via supplementary examination

    No information inserted

    Opportunity to raise an approved grade via renewed examination

    No information inserted

    Examiner

    Karl Meinke

    Ethical approach *

    • All members of a group are responsible for the group's work.
    • In any assessment, every student shall honestly disclose any help received and sources used.
    • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

    Further information

    Course web

    No information inserted

    Offered by

    EECS/Theoretical Computer Science

    Main field of study *

    No information inserted

    Education cycle *

    Third cycle

    Add-on studies

    No information inserted

    Contact

    Karl Meinke, e-post: karlm@kth.se

    Postgraduate course

    Postgraduate courses at EECS/Theoretical Computer Science