• 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