mdh.sePublications
Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Deterministic replay debugging of embedded real-time systems using standard components
Mälardalen University, Department of Computer Science and Engineering.ORCID iD: 0000-0002-5032-2310
2004 (English)Licentiate thesis, comprehensive summary (Other scientific)
Abstract [en]

Men and women make mistakes. They always have and they alwayswill. Naturally, software engineers are no exception to thisrule. When software engineers make their mistakes, these manifest inthe form of buggy software. Luckily, men and women often strive tocorrect the mistakes they make. In software engineering, this processis called debugging.In simple sequential software, debugging is fairly easy. However, inthe realm of embedded real-time software, debugging is madesignificantly harder by factors such as dependency of an externalcontext, pseudoparallelism or true parallelism, and other real-timeproperties. These factors lead to problems with execution behaviorreproducibility. When a failure is discovered, we need to be able toreproduce this failure in order to examine what went wrong. If theerroneous behavior cannot be reproduced, we will not be able toexamine the process leading to the failure.Previous work has proposed the use of execution replay debugging inorder to solve this problem. Execution replay is a general term for aset of methods to record system behavior during execution and to usethese recordings in order to reproduce this behavior during debuggingsessions. This way, we may achieve a reproducable execution behaviorfor non-deterministic systems. Historically, many replay methods havebeen highly platform-dependent, craving specialized hardware,operating system or compilers.In this thesis, we describe a replay method, called DeterministicReplay, able to run on top of standard components. We also describethe Time Machine, which is the implementation of the DeterministicReplay method. Further, we give an in-depth description of the methodfor pinpointing interrupts used by the Time Machine. In addition, wepresent results from two case studies where the Deterministic Replaymethod was incorporated into two full-scale industrial real-timesystems. These results show that our method of debuggingmulti-tasking real-time systems not only is applicable in industrialapplications, but also that it can be introduced with little effortand small costs regarding application performance.

Place, publisher, year, edition, pages
Institutionen för Datavetenskap , 2004. , 116 p.
Series
Mälardalen University Press Licentiate Theses, ISSN 1651-9256 ; 24
National Category
Engineering and Technology
Identifiers
URN: urn:nbn:se:mdh:diva-117ISBN: 91-88834-35-2 (print)OAI: oai:DiVA.org:mdh-117DiVA: diva2:120472
Available from: 2006-02-14 Created: 2006-02-14 Last updated: 2013-12-03Bibliographically approved

Open Access in DiVA

No full text

Search in DiVA

By author/editor
Daniel, Sundmark
By organisation
Department of Computer Science and Engineering
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar

Total: 82 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf