CSS Prepare

optional · CSS study notes

I.18 Major Software Issues

⬆️ Back to: P-I.I. Introduction to Computing

🧭

Page Outline — click a heading to jump. No subpages.

📜

Syllabus item: "Major Software Issues" (FPSC CS Paper-I, Section-A, Topic I)

🧠

Key points — 30-second recap

  • Software fails more often from bad requirements than from bad code.
  • Big issues: quality and bugs, security, cost and schedule overrun, maintenance, compatibility, usability, licensing and piracy.
  • Bugs get costlier the later they are found (cheap at design, expensive after release).
  • Most of a system's lifetime cost is maintenance, not first development.
  • Famous failures: Ariane 5 (1996), Therac-25 (1985–87), Y2K, CrowdStrike outage (July 2024).
  • Verdict: software issues are management and engineering issues together, not only programming ones.

1. In simple words

  • Think of NADRA's online ID renewal. If the form crashes, leaks data, takes three years longer to build than planned, or stops working after a browser update, those are all "software issues".
  • The code may be only one part of the story. Unclear needs, rushed deadlines and weak testing cause most problems.

2. What counts as a major software issue

2.1 Quality and reliability (bugs)

  • Bug: a fault in code that makes software behave wrongly.
  • Why it matters: in safety systems a bug can kill. Therac-25, a radiation machine, overdosed patients in 1985–87 because of a race condition in its software.
  • Ariane 5 (1996): a 64-bit to 16-bit number conversion overflowed and the rocket destroyed itself about 40 seconds after launch.

2.2 Security vulnerabilities

  • Weak input checks, unpatched libraries and poor passwords open the door to attacks.
  • Example: WannaCry (2017) spread through an unpatched Windows flaw.
  • Open-source components with known holes are a supply-chain risk (asked as an MCQ in 2026).

2.3 Cost and schedule overrun

  • Projects often cost more and take longer than planned because requirements keep changing (scope creep).
  • Brooks's Law (Fred Brooks, The Mythical Man-Month, 1975): adding people to a late project makes it later.

2.4 Maintenance and legacy software

  • Most of the money in a system's life goes into fixing, adapting and extending it after release.
  • Old systems (for example COBOL in banks) are risky to replace and hard to keep.
  • Y2K problem: two-digit years risked dates rolling from 99 to 00.

2.5 Compatibility and portability

  • Software that works on one OS, browser or device version may break on another.
  • Updates can break older features or drivers.

2.6 Usability

  • A correct system can still fail if people find it confusing. Good user interface design is part of software quality.

2.7 Licensing, piracy and IP

  • Using software outside its licence is illegal and exposes users to malware hidden in cracked copies.
  • Copyleft licences (GPL) can force a product's source to be published.

2.8 Update and deployment risk

  • A single faulty update can spread worldwide in hours. The CrowdStrike update of 19 July 2024 crashed millions of Windows machines, grounding flights and disrupting banks.

3. Comparison: issue vs main remedy

IssueMain causeMain remedy
BugsWeak testing, complexityCode review, unit and integration testing
Security holesUnpatched code, weak input checksSecure coding, patching, audits
OverrunUnclear or changing requirementsClear requirements, agile delivery
Maintenance burdenPoor design and documentationModular design, documentation
CompatibilityPlatform changesStandards, testing on many platforms
PiracyCost, weak enforcementLicensing awareness, open-source options

🧠 Formula: right requirements + testing + patching = fewer software issues.

4. 🇵🇰 Pakistan perspective

  • Piracy: high use of unlicensed software has long been a trade irritant; the Copyright Ordinance 1962 and IPO-Pakistan govern it.
  • E-government systems: FBR's IRIS and NADRA services show both the gains and the pain of large public software (downtime around filing deadlines is a recurring complaint) [verify specific incidents before quoting].
  • Skills gap: weak testing culture in small software houses is a known quality issue for IT exports.

5. Way forward

  • Write clear, signed-off requirements before coding.
  • Make automated testing and code review mandatory.
  • Patch on a schedule and track third-party libraries.
  • Roll out updates in stages (canary releases) so one bad update cannot hit everyone.
  • Prefer open-source where licences allow, to cut piracy and cost.

6. 🔗 Integration

  • P-I.V Software Engineering: SDLC, testing, maintenance types.
  • I.29 Information Security / I.33 Viruses: security vulnerabilities.
  • I.35 Intellectual Property Rights: licensing and piracy.
  • Essay / Current Affairs: digital governance and IT exports.

7. 🧠 Memory aid

  • "B-SCaM-CUP": Bugs, Security, Cost overrun, Maintenance, Compatibility, Usability, Piracy.

8. ✍️ Outline bank

  • Q. Discuss the major issues faced in software development and use.
    • I. Introduction: software everywhere; failures costly
    • II. Major issues
      • A. Quality and bugs (Ariane 5)
      • B. Security (WannaCry)
      • C. Cost and schedule overrun (Brooks's Law)
      • D. Maintenance and legacy (Y2K)
      • E. Compatibility and updates (CrowdStrike 2024)
      • F. Usability
      • G. Licensing and piracy
    • III. Pakistan angle
    • IV. Way forward
    • V. Conclusion

9. 📌 Past paper questions

  • No direct question on this item in 2016–2026.
  • Related: 2026 MCQ Q20 (open-source components with vulnerabilities) — see I.29 Information Security.

🎯

Exam pattern: not asked directly 2016–2026. Keep one 10-mark answer ready (outline above); it can also feed answers on software engineering and security.

10. 🎯 CSS Exam Perspective

  • How to score: define "software issue", list 6–7 issues with one real case each, add the Pakistan angle, end with a specific way forward.
  • ⚠️ Common mistake: listing only bugs and viruses. Examiners expect cost, maintenance and licensing too.
  • Examiner expects: named failures (Ariane 5, Therac-25, CrowdStrike) instead of vague claims.