Analyzing Software Failures Activity

Overview

Software failures can have severe consequences, ranging from minor inconveniences to catastrophic system failures. In this activity, students will analyze historical and contemporary software failures, assess their root causes, and explore ways to mitigate such failures in future software designs.

In addition to independent research, students will use AI tools (e.g., ChatGPT, Copilot, and automated analysis tools) to identify other possible contributing factors, industry insights, and preventive strategies.


Objectives

  • Identify and classify real-world software failures.
  • Analyze failures based on their technical, human, and systemic causes.
  • Use AI tools to enhance analysis, refine findings, and explore alternative perspectives.
  • Propose software engineering best practices to prevent similar failures.

Activity Steps

Step 1: Initial Research and Failure Selection

Break into teams based on the following failures:

Each team will select a significant software failure from the provided list.


Step 2: Manual Root Cause Analysis

For the chosen failure, analyze the following:

  1. What was the failure?
  2. What was the impact? (e.g., financial, human safety, security)
  3. What were the technical causes? (e.g., race conditions, memory leaks, poor error handling)
  4. What were the human factors? (e.g., bad UI/UX, lack of testing, poor requirements analysis)
  5. What could have been done differently? (Prevention strategies)

Step 3: AI-Assisted Analysis

After conducting the manual analysis, students will use AI tools to enhance their findings:

  • ChatGPT / Copilot for Root Cause Expansion
    • Ask AI to suggest additional technical explanations for the failure.
    • Example Prompt: “Explain how integer overflow led to the Ariane 5 failure and suggest alternative design approaches.”
  • AI for Industry Insights & Prevention Strategies
    • Use AI to find modern best practices in software engineering that could have prevented the failure.
    • Example Prompt: “How do modern aerospace companies prevent software failures in guidance systems?”
  • AI for Comparative Analysis
    • Compare the selected failure to another software failure to find patterns in failure causes.
    • Example Prompt: “Compare Therac-25 to other medical device software failures.”

Step 4: Present Findings

Each team will present:

  • A summary of their selected failure.
  • Key insights from their manual analysis.
  • New insights gained from AI-assisted research.
  • Proposed best practices to prevent similar failures.

Assessment Criteria

  • Thoroughness of root cause analysis (30%)
  • Use of AI to expand insights and compare failures (25%)
  • Quality of proposed solutions and prevention strategies (25%)
  • Clarity and engagement of presentation (20%)

Scroll to Top