Software Errors. There’s a bug in our code [Probably] The first software bug Harvard Mark II – Electromechanical machine Moth found in relay Found by.

Slides:



Advertisements
Similar presentations
Copyright 2006 Mid-City Offices Systems. Busy people… How would your business be affected, if you suddenly lost all of your computer data? Rush through.
Advertisements

FORTRAN Short Course Week 1 Kate T-C February 17, 2008.
1. Software in our lives, then and now  Medical (processing and analysis, Computer Aided Surgery, other various equipment)  Financial and business (banking,
Race Conditions. Isolated & Non-Isolated Processes Isolated: Do not share state with other processes –The output of process is unaffected by run of other.
Cosc 4730 Installing IDEs And a note on carriers..
The Downside to DRM. What is DRM? “Digital Rights Management” Software used to control access to copyrighted material Protect company from piracy.
Debugging CPSC 315 – Programming Studio Fall 2008.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Sixth Edition by Tony Gaddis, Judy Walters,
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
Programming. Software is made by programmers Computers need all kinds of software, from operating systems to applications People learn how to tell the.
Chapter 1: Introduction To Computer | SCP1103 Programming Technique C | Jumail, FSKSM, UTM, 2005 | Last Updated: July 2005 Slide 1 Introduction To Computers.
1 Computer Security: Protect your PC and Protect Yourself.
Planning for SATE V Paul E. Black National Institute of Standards and Technology
Unit Testing & Defensive Programming. F-22 Raptor Fighter.
Chapter Introduction to Computers and Programming 1.
CSC 125 Introduction to C++ Programming Chapter 1 Introduction to Computers and Programming.
1 Programming and Problem Solving — Software Engineering (Read Chap. 2)
Programming and Problem Solving — Software Engineering (Read Chap. 2) 1.
Unit 2 - Hardware Computer Security.
2.2 Errors. Why Study Errors First? Nearly all our modeling is done on digital computers (aside: what would a non-digital analog computer look like?)
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
CLOUD COMPUTING  IT is a service provider which provides information.  IT allows the employees to work remotely  IT is a on demand network access.
Problem Analysis and Program Design
Group 06-From Lecture 06 Member 02 Presented by: Xu Wei iTunes B2C SUCCESS STORY&CONTROVERSIAL ISSUES.
Understanding Networks. What is a Network?  A network consists of two or more computers that are linked in order to share resources (such as printers.
Security Awareness: Applying Practical Security in Your World Chapter 1: Introduction to Security.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
CSI-E Computer Security Investigator – Enterprise.
Computer Arithmetic Programming in C++ Computer Science Dept Va Tech August, 2000 © Barnette ND, McQuain WD, Keenan MA 1 Independent Representation.
Software Testing Damian Gordon.
Module 7. Data Backups  Definitions: Protection vs. Backups vs. Archiving  Why plan for and execute data backups?  Considerations  Issues/Concerns.
 a crime committed on a computer network, esp. the Internet.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
CHAPTER FOUR COMPUTER SOFTWARE.
Software Essentials ICT 1 & 2. What is software?  software is the set of instructions stored inside a computer  These instructions tell the computer.
Program Development Life Cycle (PDLC)
INVARIANTS EEN 417 Fall When is a Design of a System “Correct”? A design is correct when it meets its specification (requirements) in its operating.
Chapter 5 Protecting Your PC from Viruses Prepared by: Khurram N. Shamsi.
Software Quality See accompanying Word file “Software quality 1”
System Security Chapter no 16. Computer Security Computer security is concerned with taking care of hardware, Software and data The cost of creating data.
Fundamental Programming: Fundamental Programming K.Chinnasarn, Ph.D.
Reliability and Recovery CS Introduction to Operating Systems.
WEP Presentation for non-IT Steps and roles in software development 2. Skills developed in 1 st year 3. What can do a student in 1 st internship.
Chapter 3: Assignment, Formatting, and Interactive Input.
The Relational Model1 Transaction Processing Units of Work.
CompSci 6 Programming Design and Analysis January 17, 2006 Prof. Rodger.
Lecture 19 Page 1 CS 236 Online Securing Your System CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
James A. Whittaker Software Architect Visual Studio Team Test Microsoft
Security Vulnerabilities in A Virtual Environment
Software Essentials ICT 1 & 2. What is software?  software is the set of instructions stored inside a computer  These instructions tell the computer.
S ECURE P ROGRAMMING 6. B UFFER O VERFLOW (S TRINGS AND I NTEGERS ) P ART 2 Chih Hung Wang Reference: 1. B. Chess and J. West, Secure Programming with.
Easy-to-Use RedFlag System Delivers Notifications via Phone, , Text, Social Media, and More to Improve Effectiveness of Your Communications COMPANY.
Security Attacks Tanenbaum & Bo, Modern Operating Systems:4th ed., (c) 2013 Prentice-Hall, Inc. All rights reserved.
Digital Rights Management Zach Milko. Overview Definition Why it exists DRM Today  Fairplay Opponents of DRM  DefectiveByDesign.org Future Conclusion.
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Eighth Edition by Tony Gaddis,
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
1 Chapter 1- Introduction How Bugs affect our lives What is a Bug? What software testers do?
OPERATING SYSTEMS (OS) By the end of this lesson you will be able to explain: 1. What an OS is 2. The relationship between the OS & application programs.
Computer Security Keeping you and your computer safe in the digital world.
Lecture 1 Page 1 CS 111 Summer 2013 Important OS Properties For real operating systems built and used by real people Differs depending on who you are talking.
Chapter 1: Introduction to Computers and Programming
Introducing ONYX Professional Services
Common Methods Used to Commit Computer Crimes
Putting It All Together
Putting It All Together
Apple TV Error. Check Here.
Module 3 Building a web app.
Scale of things : Big and Small
Presentation transcript:

Software Errors

There’s a bug in our code

[Probably] The first software bug Harvard Mark II – Electromechanical machine Moth found in relay Found by Grace HopperGrace Hopper

Type of Errors 3 that we’ll mention today – Compiler errors – Linking errors – Logic errors

Compiler Errors Can be frustrating Not a big issue – The errors are never released The compiler is your first round of testing Preventing compiler errors – Practice coding – You should be experts at solving these by now

Linking errors Can be frustrating – Especially on large projects The errors are usually not released – Issues if the software is environment dependent Preventing linking errors – Have protocols to organize dependencies Build tools – Coordinate the project build – Link necessary libraries

Logic Errors Scary! Today’s focus When everything looks fine and runs fine – but it’s terribly terribly broken Can be very difficult to detect – Often released Preventing logic errors – Extensive testing

Rest of Today Stories of logic errors

Mars Climate Orbiter Launched – December 11, 1998 Lost communication – September 23, 1999 Never studied Martian climate Large teams and contractors – Some used N s (Newton-second) – Others used lbf s (Pound-foot-second) – Conversions were never made Total cost: $327.6 million

On the Lighter Side int n = 5; int k = 7; System.out.println(“The sum is: “ + n + k); The sum is: 57

Representing Time Y2K – 2 digit year instead of 4 – What happens when it’s 1900 again? -nothing Many 32-bit UNIX-like systems – The epoch January 1, 0:00:00 UTC – Current time represent in seconds 32-bit signed int + epoch – What happens after 2 31 seconds? January 19, 3:14:07am UTC

Patriot Missile Needs to track time – 24-bit floating point variable – Store time to the tenth of a second – 1/10 is truncated in binary Truncations were accumulated over time Tested on short time intervals Deployed with bug – 100 hours of continuous operation – System failure – Missiles were off by ~1/2 km

Steam Bug Don’t move your install directory

DRM and Malware DRM (Digital Rights Management) – Ensure copyright protection for digital media – Takes many forms (always-on, activation codes, restrictive file formats) Sony BMG’s DRM Solution – Install rootkit alongside legitimate software – Don’t inform the user – Spy on them to look for illegal copying – If this wasn’t bad enough The rootkit had a bug Contained a backdoor that allowed anyone to control it Any attacker had access to your machine

Apple Error Send as a text to iPhone Causes seg fault Crashes current app Crashes entire phone if opened from the notification center

Stock Market Quants of Wall Street (quantitative analyst) Significant algorithmic trading Chicago-NYC arbitration – Different prices for the same commodity – Free money if you win the race Spread Networks – $300 million laying 827 miles of fiber – Cut round trip communication – From 14.5ms to 13ms

Stock Trading Errors The Flash Crash – May 6, 2010 – $1 trillion of market value vanished – Prices recovered quickly – Lasted about 36 minutes Knight – August 1, 2012 – Software made erratic trades – Loses of $440 million in ½ hour

Similar algorithms on Amazon