DocumentCode
1487996
Title
Software´s invisible users
Author
Whittaker, James A.
Author_Institution
Dept. of Comput. Sci., Florida Tech., Melbourne, FL, USA
Volume
18
Issue
3
fYear
2001
fDate
5/1/2001 12:00:00 AM
Firstpage
84
Lastpage
88
Abstract
Software is deterministic. Given a starting state and a fixed series of inputs, software will produce the exact same output every single time those inputs are applied. In fact, many of the technologies we apply during development (reviews, formal proofs, testing, and so forth) rely on this determinism; they would not work otherwise. But if software is deterministic, why do weird things happen? Why is it that we can apply a sequence of inputs and observe a failure and then be unable to reproduce that failure? Why does software work on one machine and fail on another? How is it that you can return from lunch and find your Web browser has crashed when it wasn´t being used? The answer is, of course, that modern software processes an enormous number of inputs and only a small percentage of these inputs originate from human users. When testers can´t reproduce failures, the reason is that they are only resubmitting the human input without sufficient regard to the operating system return codes and input from runtime libraries. When software fails on a new computer after running successfully on another, the reason can only be that the new system is supplying input that differs in content from the old one. And the browser that crashes when you are at lunch is responding to input from a nonhuman external resource
Keywords
operating systems (computers); software reliability; system recovery; Web browser; deterministic software; human input; human users; input processing; invisible software users; nonhuman external resource; operating system return codes; runtime libraries; software failure; Application software; Computer interfaces; Event detection; Humans; Kernel; Libraries; Software systems; Software testing; Software tools; Watches;
fLanguage
English
Journal_Title
Software, IEEE
Publisher
ieee
ISSN
0740-7459
Type
jour
DOI
10.1109/52.922730
Filename
922730
Link To Document