Trustworthy Systems for Today & Tomorrow Larry Bernstein (lbernste@stevens.edu)  Stevens Institute of Technology Castle Point, Hoboken, NJ 07030
Trustworthy Software is: Safe: Does no harm Reliable: No crash or hang. Secure: No Hacking Possible
Airbus  320 Troubles In three crashes each pilot claimed the plane was higher than indicated. Altitude read 67ft before the wheels had even left the ground!  The fly-by-wire system could ignore pilot actions.
Poor Designs in A320 Programmed landing maneuvers with a bug in altitude calculation Warning system alerts only seconds before accident with no time to react Flight path angle and vertical speed indicator have the same display format; confuses pilots.
Untrustworthy  Software Buggy software  Pilots either frantic or  bored. Error and warning messages are often numerous or indecipherable, so pilots ignore them.
Two Software Aging Processes Development Shelf-life Multiple releases Environmental changes Execution Launch-to-Crash State & Data focus
Software ages like fish,  not like wine
Trustworthy Characteristics Quantitative Specifications Designed for reliability, safety and security Bounded execution domains Certified against requirements Certified against problem Reliability tested Stress tested Diabolically tested Defined Development and Config. Process Trusted
Software Yesterday and Today Software execution is chaotic and always repeatable but may not be stable. Professionals untrained in analysis Debugging is detective work Software products are often complex and untrustworthy Crashes and hangs expected Bugs or Glitches are common
Execution-Aging Latent faults causes gradual deterioration of software  with respect to the use of some resource resulting in a crash or hang.
Conditions That Cause Instability Memory Leaks  Poor Algorithms Missing Deadlines Roundoff Error Amplification Broken Pointers Register Misuse- Extinct bug reappears in multi-core machines
Rejuvenation Concept Periodic preemptive rollback prevents future failures. Gracefully terminating an application at a known point  allows restarting at a fixed and carefully tested initial state .
Pragmatic Software Rejuvenation   Instead of running a system for a year, run it  one day 365 times Prevents many future failures. Restarts at a known and clean internal state.
History  1960’s: Anti-missile “On-Interrupt” Code 1970’s: Store and Forward  1980s: Billing Data Collector
1980s: Billing Data Collector Snap shots of switch call records 600 switches/ system Daily rejuvenation Crash-free & Hang-free
History  1960’s: Anti-missile “On-Interrupt” Code 1970’s: Store and Forward  1980s: Billing Data Collector 1990’s: R&D emerges from Bell Labs and Duke with industrial use State-of-the-Practice: Scenario, regression and automatic testing State-of-the-Art: Agility & Software Failure Prevention
Case Study: Network Management System System monitors network equipment. Messages are trigger by network events I/O Buffer Sharing reduces memory required.
Customer Complaint It crashed again!!!
Failure Analysis Latent Fault in Buffer Flow Control. Software does not return ‘buffer full’ signal. Messages are written to full buffers. Messages are accepted,acknowleged and then partially dropped. Application waits and waits for a complete message.
Solution Fix the bug by returning appropriate indicator, or Rejuvenate: Re-launch message handler and avoid the problem: When buffers are half full. Periodically. After hang is detected.
Programmer Resistance to Rejuvenation  Culture? Skepticism? Management? “Is the limited use of known good methods of software engineering a consequence of poor training?”  National Research Council 1997
Perspectives on the Profession Software Engineering is the 4 th  Fastest Growing Occupation in 2009 Top-notch players remained employed Software Engineering/Project Managers continue to get raises Beware of ‘off-shoring’ a risky way to  reduce costs by 20-30%.
Ethics from IEEE & ACM Understand the problem  Analyze safety and risks Humanize tasks Read & study  Respect property rights and privacy Ship systems that work crash-free and hang-free Stand up and be counted.
Re-engineer Your Career with a Stevens Software Engineering Graduate Certificate One year 4 courses  (www.stevens.edu)   Modular Format or WebCampus March 9-13:  SSW533 with Laird May 14-15,18-20 SSW540 with Cohen August 24-28: SSW564/SYS625 with Barrese Jan 4 –8: SSW 565 with Cohen

More Related Content

PPTX
Secure develpment 2014
PPTX
Protect Your Airspace. You control your wireless space. Not others.
PDF
Vulnerability , Malware and Risk
PDF
Vulnerability Malware And Risk
PDF
OSB120 Beat Ransomware
PDF
CIO Technical Series - Solving Scan Gun Performance Issues
PPTX
Cutting the Cord
PDF
Applying principles of chaos engineering to Serverless
Secure develpment 2014
Protect Your Airspace. You control your wireless space. Not others.
Vulnerability , Malware and Risk
Vulnerability Malware And Risk
OSB120 Beat Ransomware
CIO Technical Series - Solving Scan Gun Performance Issues
Cutting the Cord
Applying principles of chaos engineering to Serverless

What's hot (8)

PPT
Viruses And Their Cures
PDF
KAE028 - Kaizen -RL- Handheld Device Tool
PPT
Bank One App Sec Training
PDF
Why Static Analysis is mandatory for IoT device software
PPTX
Reflexion rtc
PPTX
451 and Endgame - Zero breach Tolerance: Earliest protection across the attac...
PPT
eG Overview
PPTX
Computer viruses and removal techniques
Viruses And Their Cures
KAE028 - Kaizen -RL- Handheld Device Tool
Bank One App Sec Training
Why Static Analysis is mandatory for IoT device software
Reflexion rtc
451 and Endgame - Zero breach Tolerance: Earliest protection across the attac...
eG Overview
Computer viruses and removal techniques
Ad

Viewers also liked (18)

PPT
Cs 568 Spring 10 Lecture 5 Estimation
PPT
Sergeants
PPT
Medical Treatment Of Enem
PPTX
Aula 1 básico 1
PDF
How To Catch A Lobster
PDF
Indhraprasta mailer2
PDF
Antone Media's Effective Presentations Resource Page
PDF
Indhraprasta mailer2
PDF
Rightability Overview
 
PPT
PPTX
Get The Skinny on Skinny Cow Marketing Plan - Intro to Marketing Course
PPT
Epw Handling
PDF
Health Care Reform
PPT
Animated Powerpoint Test
PDF
Herman Work
PPTX
Social Media Marketing Strategy - Final Project- Munchery
PPT
Enemy Prisoner Of War
PPT
Dhwms Company Project Presntation Nov 8, 2007
Cs 568 Spring 10 Lecture 5 Estimation
Sergeants
Medical Treatment Of Enem
Aula 1 básico 1
How To Catch A Lobster
Indhraprasta mailer2
Antone Media's Effective Presentations Resource Page
Indhraprasta mailer2
Rightability Overview
 
Get The Skinny on Skinny Cow Marketing Plan - Intro to Marketing Course
Epw Handling
Health Care Reform
Animated Powerpoint Test
Herman Work
Social Media Marketing Strategy - Final Project- Munchery
Enemy Prisoner Of War
Dhwms Company Project Presntation Nov 8, 2007
Ad

Similar to Web Ex2 28 Jan09 (20)

PPTX
MAINTAINING AND REPAIRING COMPUTER SYSTEMS AND NETWORKS 12.pptx
PDF
Top 5 best practice for delivering secure in-vehicle software
PPTX
Security Misconfiguration.pptx
PPT
Good Security Starts with Software Assurance - Software Assurance Market Plac...
PDF
Phil Koopman's ISSRE 2016 Keynote
PDF
Code and No-Code Journeys: The Coverage Overlook
PPTX
Defect Tracking Software Project Presentation
PPT
SOFWARE QUALITY, INTRODUCTION
PDF
"Can We Have Both Safety and Performance in AI for Autonomous Vehicles?," a P...
PPT
Survey Presentation About Application Security
PPTX
Application and Website Security -- Developer Edition: Introducing Security I...
PDF
Compliance as Code Everywhere
PPT
Testingfor Sw Security
PDF
Lanlogic IT White Paper
PPTX
Preparing your QA team for mobile testing
PPT
Introduction to principles of software engineeringWhy1and2
PPTX
Chapter 5
PPT
2011-05-02 - VU Amsterdam - Testing safety critical systems
PPTX
Presentation confoo optimization_sherifzaroubi
PDF
Shift Happens - Rapidly Rolling Forward During Production Failure
MAINTAINING AND REPAIRING COMPUTER SYSTEMS AND NETWORKS 12.pptx
Top 5 best practice for delivering secure in-vehicle software
Security Misconfiguration.pptx
Good Security Starts with Software Assurance - Software Assurance Market Plac...
Phil Koopman's ISSRE 2016 Keynote
Code and No-Code Journeys: The Coverage Overlook
Defect Tracking Software Project Presentation
SOFWARE QUALITY, INTRODUCTION
"Can We Have Both Safety and Performance in AI for Autonomous Vehicles?," a P...
Survey Presentation About Application Security
Application and Website Security -- Developer Edition: Introducing Security I...
Compliance as Code Everywhere
Testingfor Sw Security
Lanlogic IT White Paper
Preparing your QA team for mobile testing
Introduction to principles of software engineeringWhy1and2
Chapter 5
2011-05-02 - VU Amsterdam - Testing safety critical systems
Presentation confoo optimization_sherifzaroubi
Shift Happens - Rapidly Rolling Forward During Production Failure

Recently uploaded (20)

PDF
advance database management system book.pdf
PDF
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 1)
PPTX
20th Century Theater, Methods, History.pptx
PDF
AI-driven educational solutions for real-life interventions in the Philippine...
PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PPTX
TNA_Presentation-1-Final(SAVE)) (1).pptx
PDF
HVAC Specification 2024 according to central public works department
PDF
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
PDF
My India Quiz Book_20210205121199924.pdf
PDF
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf
PPTX
A powerpoint presentation on the Revised K-10 Science Shaping Paper
PDF
FORM 1 BIOLOGY MIND MAPS and their schemes
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PPTX
Introduction to pro and eukaryotes and differences.pptx
PDF
What if we spent less time fighting change, and more time building what’s rig...
PPTX
B.Sc. DS Unit 2 Software Engineering.pptx
PPTX
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
PPTX
CHAPTER IV. MAN AND BIOSPHERE AND ITS TOTALITY.pptx
PDF
Complications of Minimal Access-Surgery.pdf
PPTX
History, Philosophy and sociology of education (1).pptx
advance database management system book.pdf
BP 704 T. NOVEL DRUG DELIVERY SYSTEMS (UNIT 1)
20th Century Theater, Methods, History.pptx
AI-driven educational solutions for real-life interventions in the Philippine...
202450812 BayCHI UCSC-SV 20250812 v17.pptx
TNA_Presentation-1-Final(SAVE)) (1).pptx
HVAC Specification 2024 according to central public works department
احياء السادس العلمي - الفصل الثالث (التكاثر) منهج متميزين/كلية بغداد/موهوبين
My India Quiz Book_20210205121199924.pdf
1.3 FINAL REVISED K-10 PE and Health CG 2023 Grades 4-10 (1).pdf
A powerpoint presentation on the Revised K-10 Science Shaping Paper
FORM 1 BIOLOGY MIND MAPS and their schemes
Chinmaya Tiranga quiz Grand Finale.pdf
Introduction to pro and eukaryotes and differences.pptx
What if we spent less time fighting change, and more time building what’s rig...
B.Sc. DS Unit 2 Software Engineering.pptx
ELIAS-SEZIURE AND EPilepsy semmioan session.pptx
CHAPTER IV. MAN AND BIOSPHERE AND ITS TOTALITY.pptx
Complications of Minimal Access-Surgery.pdf
History, Philosophy and sociology of education (1).pptx

Web Ex2 28 Jan09

  • 1. Trustworthy Systems for Today & Tomorrow Larry Bernstein (lbernste@stevens.edu) Stevens Institute of Technology Castle Point, Hoboken, NJ 07030
  • 2. Trustworthy Software is: Safe: Does no harm Reliable: No crash or hang. Secure: No Hacking Possible
  • 3. Airbus 320 Troubles In three crashes each pilot claimed the plane was higher than indicated. Altitude read 67ft before the wheels had even left the ground! The fly-by-wire system could ignore pilot actions.
  • 4. Poor Designs in A320 Programmed landing maneuvers with a bug in altitude calculation Warning system alerts only seconds before accident with no time to react Flight path angle and vertical speed indicator have the same display format; confuses pilots.
  • 5. Untrustworthy Software Buggy software Pilots either frantic or bored. Error and warning messages are often numerous or indecipherable, so pilots ignore them.
  • 6. Two Software Aging Processes Development Shelf-life Multiple releases Environmental changes Execution Launch-to-Crash State & Data focus
  • 7. Software ages like fish, not like wine
  • 8. Trustworthy Characteristics Quantitative Specifications Designed for reliability, safety and security Bounded execution domains Certified against requirements Certified against problem Reliability tested Stress tested Diabolically tested Defined Development and Config. Process Trusted
  • 9. Software Yesterday and Today Software execution is chaotic and always repeatable but may not be stable. Professionals untrained in analysis Debugging is detective work Software products are often complex and untrustworthy Crashes and hangs expected Bugs or Glitches are common
  • 10. Execution-Aging Latent faults causes gradual deterioration of software with respect to the use of some resource resulting in a crash or hang.
  • 11. Conditions That Cause Instability Memory Leaks Poor Algorithms Missing Deadlines Roundoff Error Amplification Broken Pointers Register Misuse- Extinct bug reappears in multi-core machines
  • 12. Rejuvenation Concept Periodic preemptive rollback prevents future failures. Gracefully terminating an application at a known point allows restarting at a fixed and carefully tested initial state .
  • 13. Pragmatic Software Rejuvenation Instead of running a system for a year, run it one day 365 times Prevents many future failures. Restarts at a known and clean internal state.
  • 14. History 1960’s: Anti-missile “On-Interrupt” Code 1970’s: Store and Forward 1980s: Billing Data Collector
  • 15. 1980s: Billing Data Collector Snap shots of switch call records 600 switches/ system Daily rejuvenation Crash-free & Hang-free
  • 16. History 1960’s: Anti-missile “On-Interrupt” Code 1970’s: Store and Forward 1980s: Billing Data Collector 1990’s: R&D emerges from Bell Labs and Duke with industrial use State-of-the-Practice: Scenario, regression and automatic testing State-of-the-Art: Agility & Software Failure Prevention
  • 17. Case Study: Network Management System System monitors network equipment. Messages are trigger by network events I/O Buffer Sharing reduces memory required.
  • 18. Customer Complaint It crashed again!!!
  • 19. Failure Analysis Latent Fault in Buffer Flow Control. Software does not return ‘buffer full’ signal. Messages are written to full buffers. Messages are accepted,acknowleged and then partially dropped. Application waits and waits for a complete message.
  • 20. Solution Fix the bug by returning appropriate indicator, or Rejuvenate: Re-launch message handler and avoid the problem: When buffers are half full. Periodically. After hang is detected.
  • 21. Programmer Resistance to Rejuvenation Culture? Skepticism? Management? “Is the limited use of known good methods of software engineering a consequence of poor training?” National Research Council 1997
  • 22. Perspectives on the Profession Software Engineering is the 4 th Fastest Growing Occupation in 2009 Top-notch players remained employed Software Engineering/Project Managers continue to get raises Beware of ‘off-shoring’ a risky way to reduce costs by 20-30%.
  • 23. Ethics from IEEE & ACM Understand the problem Analyze safety and risks Humanize tasks Read & study Respect property rights and privacy Ship systems that work crash-free and hang-free Stand up and be counted.
  • 24. Re-engineer Your Career with a Stevens Software Engineering Graduate Certificate One year 4 courses (www.stevens.edu) Modular Format or WebCampus March 9-13: SSW533 with Laird May 14-15,18-20 SSW540 with Cohen August 24-28: SSW564/SYS625 with Barrese Jan 4 –8: SSW 565 with Cohen