Upload
muhammad-saim
View
114
Download
0
Embed Size (px)
Citation preview
MUHAMMAD SAIMBSCS/S13/0104PROFESSIONAL PRACTICES
Software failure
Failure
Definition:
Failure is the state or condition of not meeting a desirable or intended objective, and may be viewed as the opposite of success.
In software jargon:
Faults or bugs in a software component cause errors. An error is defined as that part of the system which is liable to lead to subsequent failure, and an error affecting the service is an indication that a failure occurs or has occurred.
The Truth
Hundreds of thousands of software projects fail everyday
Software companies, not eager to share disaster stories
Reducing the number of software failures is one of the most challenging problems of software production.
THE KNIGHT FALL
HOW BAD CAN AN ALGORITHM BE???• A look at the worst software testing day ever
• Knight Capital’s worst day in IT started Wednesday morning with a test run of its new trading software.
• the company set up the software to work with only a few stocks
The MATHS
• On every stock exchange, there is a "bid" and an "ask" price.
• bid is buy• ask is sell
• Knight Capital’s software went out and bought at the "market"
Example
• electric utility Exelon, had a bid/ask spread of 15 cents
• Knight Capital was trading blocks of Exelon common stock at a rate as high as 40 trades per second
• each trade costs 15 cents
Example
40 Times a second
2,400 times a minute
You now have a system that’s very efficient at burning money
HOW BAD CAN AN ALGORITHM BE???• As the program continued its ill-fated test run
• Knight’s fast buys and sells moved prices up and attracted more action from other trading programs.
• ONLY 45 mins
• LOSS of $440m
$440,000,000
9777777.78 $/min
Blame Game
The culprit was a combination of:
ISV software bugs
bad documentation
human error from Knight Capital