CS447 Lecture Notes - Lecture 6: Call Graph, Subsequence, Code Review

49 views8 pages
21 Apr 2015
Course
Professor

Document Summary

Why software fail: segmentation fault (incorrect memory usage), deadlocks, wrong implementation, memory leaks, regression to past bugs. Avoiding software failures: test the software (in-house, externally), code review, better design ( write better code! ), include fewer features. Coping with an imperfect world: disclaim liability, release patches, backup user data, Fault: (or bug) a static defect in the software (incorrect lines of code) Error: an incorrect internal state (unobserved)(dynamic concept-while running) Failure: external, incorrect behavior with respect to the expected behavior (observed) (something doesn"t meet the requirement) Test failure: execution that results in a failure. Debugging: the process of finding a fault given a failure. Static testing (at compile time: static analysis, review. Dynamic testing (at run time) focus of the course: black-box testing. Deriving tests from external descriptions of software: specifications, requirements, designs; anything but the code: white-box testing. Deriving tests from the source code, e. g. branches, conditions, statements.

Get access

Grade+
$40 USD/m
Billed monthly
Grade+
Homework Help
Study Guides
Textbook Solutions
Class Notes
Textbook Notes
Booster Class
10 Verified Answers
Class+
$30 USD/m
Billed monthly
Class+
Homework Help
Study Guides
Textbook Solutions
Class Notes
Textbook Notes
Booster Class
7 Verified Answers

Related Documents