DocumentCode
969306
Title
Real-time and embedded systems - teaching reliability
Author
Regehr, John
Author_Institution
Sch. of Comput., Utah Univ., Salt Lake City, UT, USA
Volume
7
Issue
5
fYear
2006
fDate
5/1/2006 12:00:00 AM
Abstract
Computer science students routinely practice just-in-time software engineering that results in solutions to programming assignments that barely limp through the test cases. Worse, when they have access to the test suite used for grading, students who have reached an impasse will often resort to a kind of evolutionary programming where they incrementally tweak parts of a program, test the code, and repeat. This random walk through the program space can move programs away from correctness rather than toward it. Embedded systems, with their concurrency, resource limitations, flaky tools, and all-too-frequent debugging through LEDs and logic analyzers, provide the perfect environment for students to experience some truly difficult debugging. Embedded systems must be reliable, but computer science students aren´t in the habit of creating reliable software. It will be better, if we explicitly teach them techniques that can increase software reliability even though this reduces the amount of time we can spend on more traditional technical material.
Keywords
computer science education; embedded systems; program testing; software reliability; teaching; computer science students; embedded systems; just-in-time software engineering; real-time systems; software reliability; software testing; teaching; real-time and embedded systems; reliability;
fLanguage
English
Journal_Title
Distributed Systems Online, IEEE
Publisher
ieee
ISSN
1541-4922
Type
jour
DOI
10.1109/MDSO.2006.31
Filename
1642629
Link To Document