mdh.sePublications
Change search
Refine search result
1 - 9 of 9
CiteExportLink to result list
Permanent 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
Rows per page
  • 5
  • 10
  • 20
  • 50
  • 100
  • 250
Sort
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
  • Standard (Relevance)
  • Author A-Ö
  • Author Ö-A
  • Title A-Ö
  • Title Ö-A
  • Publication type A-Ö
  • Publication type Ö-A
  • Issued (Oldest first)
  • Issued (Newest first)
  • Created (Oldest first)
  • Created (Newest first)
  • Last updated (Oldest first)
  • Last updated (Newest first)
  • Disputation date (earliest first)
  • Disputation date (latest first)
Select
The maximal number of hits you can export is 250. When you want to export more records please use the Create feeds function.
  • 1.
    Ekman, M.
    et al.
    Bombardier Transportation, Västerås.
    Thane, Henrik
    Mälardalen University, Department of Computer Science and Electronics.
    Real-time dynamic relinking2008In: IPDPS Miami 2008 - Proceedings of the 22nd IEEE International Parallel and Distributed Processing Symposium, Program and CD-ROM, 2008, p. Article number 4536570-Conference paper (Refereed)
    Abstract [en]

    In this paper we present a method for automatically, on demand, linking entire functions into statically linked running embedded multi-tasking real-time applications. The purpose is to facilitate dynamic instrumentation of deployed systems. The method makes it possible to dynamically instrument the target in run-time, without preparing the source code. Code segments that are modified are substituted on the function level by the introduction of a dynamic relink method. The actual modification of the execution binary is performed in a safe and controlled manner by a low interference task. An algorithm is introduced for reusing memory from obsolete functions.

  • 2.
    Ekman, Mathias
    et al.
    Bombardier Transportation, 721 73 Västerås, Sweden .
    Thane, Henrik
    Mälardalen University, Department of Computer Science and Electronics.
    Dynamic Patching of Embedded Software2007In: Proceedings of the 13th IEEE Real Time and Embedded Technology and Applications Symposium, 2007, p. 337-346Conference paper (Refereed)
    Abstract [en]

    In this paper, we present a method for patching embedded multitasking real-time systems applications during runtime, for instrumentation purposes. The method uses binary modification techniques and automates the entire patch process. The method makes it possible to insert and remove instrumentation code without preparing the original source code. The method makes it possible to invoke code patches during run-time, without having to rely on dynamic linking of object files, or predeployment prepared dormant code. The actual modification of the executing target binary is performed in a safe and controlled manner by a dedicated low interference mutation task.

  • 3.
    Ekman, Mathias
    et al.
    Bombardier Sweden AB.
    Thane, Henrik
    Safety Integrity AB.
    Software Instrumentation of Safety Critical Embedded Systems: A Problem Statement2012In: System, Software, SoC and Silicon Debug Conference IEEE S4D, 2012., 2012Conference paper (Refereed)
    Abstract [en]

    The ever-increasing complexity of embedded computer software also increases the difficulty to debug and verify the correctness of the real-world execution. In addition, today the development process must often be proved to fulfill a large number of safety requirements stated in a standard or regulation. One common way to perform verification and debugging is by facilitating some method of online-monitoring, like software instrumentation. However, in safety related systems, it is not obvious that traditional software instrumentation techniques can be applied. In this article, we will elaborate on several aspects when applying software instrumentation into safety-related systems. Problems that need to be considered will be identified, but also consequences to the problems will be analyzed.

  • 4.
    Lisova, Elena
    et al.
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Causevic, Aida
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Hänninen, Kaj
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Thane, Henrik
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    Hansson, Hans
    Mälardalen University, School of Innovation, Design and Engineering, Embedded Systems.
    A Systematic Way to Incorporate Security in Safety Analysis2018In: Proceedings - 48th Annual IEEE/IFIP International Conference on Dependable Systems and Networks Workshops, DSN-W 2018, Luxembourg, Luxemburg, 2018, p. 166-171Conference paper (Refereed)
    Abstract [en]

    Today's systems are being built to connect to public or semi-public networks, are able to communicate with other systems, e.g., in the context of Internet-of-Things (IoT), involve multiple stakeholders, have dynamic system reconfigurations, and operate in increasingly unpredictable environments. In such complex systems, assuring safety and security in a continuous and joint effort is a major challenge, not the least due to the increasing number of attack surfaces arising from the increased connectivity. In this paper we present an approach that aims to bridge the gap between safety and security engineering. The potential of the approach is illustrated on the example of E-gas system, discussing the cases when unintentional faults as well as malicious attacks are taken into consideration when assuring safety of the described system. 

  • 5.
    Pettersson, Anders
    et al.
    Mälardalen University, Department of Computer Science and Electronics.
    Sundmark, Daniel
    Mälardalen University, Department of Computer Science and Electronics.
    Thane, Henrik
    Mälardalen University, Department of Computer Science and Electronics.
    Nyström, Dag
    Mälardalen University, Department of Computer Science and Electronics.
    Shared Data Analysis for Multi-Tasking Real-Time System Testing2007In: 2007 Symposium on Industrial Embedded Systems Proceeedings, SIES'2007, 2007, p. 110-117Conference paper (Refereed)
    Abstract [en]

    Memory corruption due to program faults is one of the most common failures in computer software. For software running in a sequential manner and for multi-tasking software with synchronized data accesses, it has been shown that program faults causing memory corruption can be detected by analyzing the relations between defines and uses of variables (DU coverage-based testing). However, using such methods in testing for memory corruption where globally shared data is accessed through asynchronous events will not be sufficient since they lack the possibility to analyse the cases where preemption of tasks may lead to interleaving failures. In this paper, we propose the use of a system level shared variable DU analysis of multi-tasking realtime software. By analyzing the temporal attributes of each access to globally shared data, our method handles asynchronous data accesses. When used in system-level testing, the result from the analysis can discover failures such as ordering, synchronization and interleaving failures. The result can also serve a as measure for coverage and complexity in data dependency at system level.

  • 6.
    Sundmark, Daniel
    et al.
    Mälardalen University, Department of Computer Science and Electronics.
    Pettersson, Anders
    Mälardalen University, Department of Computer Science and Electronics.
    Sandberg, Christer
    Mälardalen University, Department of Computer Science and Electronics.
    Ermedahl, Andreas
    Mälardalen University, Department of Computer Science and Electronics.
    Thane, Henrik
    Mälardalen University, Department of Computer Science and Electronics.
    Finding DU-Paths for Testing of Multi-Tasking Real-Time Systems using WCET Analysis2007Report (Other academic)
    Abstract [en]

    Memory corruption is one of the most common software failures. For sequential software and multitasking software with synchronized data accesses, it has been shown that program faults causing memory corruption can be detected by analyzing the relations between defines and uses of variables (DU-based testing). However, such methods are insufficient in preemptive systems, since they lack the ability to detect inter-task shared variable dependencies. In this paper, we propose the use of a system level shared variable DU analysis of preemptive multi-tasking real-time software. By deriving temporal attributes of each access to shared data using WCET analysis, and combining this information with the real-time schedule information, our method also detects inter-task shared variable dependencies

  • 7.
    Sundmark, Daniel
    et al.
    Mälardalen University, Department of Computer Science and Electronics.
    Pettersson, Anders
    Mälardalen University, Department of Computer Science and Electronics.
    Sandberg, Christer
    Mälardalen University, Department of Computer Science and Electronics.
    Ermedahl, Andreas
    Mälardalen University, Department of Computer Science and Electronics.
    Thane, Henrik
    Mälardalen University, Department of Computer Science and Electronics.
    Finding DU-Paths for Testing of Multi-Tasking Real-Time Systems using WCET Analysis2007In: OpenAccess Series in Informatics, Volume 6, 2007Conference paper (Refereed)
    Abstract [en]

    Memory corruption is one of the most common software failures. For sequential software and multi-tasking software with synchronized data accesses, it has been shown that program faults causing memory corruption can be detected by analyzing the relations between defines and uses of variables (DU-based testing). However, such methods are insufficient in preemptive systems, since they lack the ability to detect inter-task shared variable dependencies. In this paper, we propose the use of a system level shared variable DU analysis of preemptive multi-tasking real-time software. By deriving temporal attributes of each access to shared data using WCET analysis, and combining this information with the real-time schedule information, our method also detects inter-task shared variable dependencies.

  • 8.
    Sundmark, Daniel
    et al.
    Mälardalen University, School of Innovation, Design and Engineering.
    Thane, Henrik
    Mälardalen University, School of Innovation, Design and Engineering.
    Pinpointing Interrupts in Embedded Real-Time Systems using Context Checksums2008In: Proceedings of the 13th International Conference on Emerging Technologies and Factory Automation (ETFA-2008), Hamburg, Germany, 2008, p. 774-781Conference paper (Refereed)
    Abstract [en]

    When trying to track down bugs using cyclic debugging, the ability to correctly reproduce executions is imperative. In sequential, deterministic, non-real-time software, this reproducibility is inherent. However when the execution is affected by preemptive interrupts, this will have severe effects on the ability, to reproduce program behaviors deterministically, since a reproduction requires the interrupts to hit the program at the exact same instructions. In previous methods, this problem has been solved using different kinds of instruction counters, that induce large execution time perturbations, demand for specialized hardware, or provide inexact results. This makes them highly unfit for resource-constrained embedded real-time systems. In this paper we propose an alternative method for pinpointing interrupts in embedded real-time systems rising context checksums, which is not dependent on specific hardware features or special compilers - but which rather can be applied to any system. Although context checksums in sortie cases also prove inexact or ambiguous, we will show that they serve as a practical method for pinpointing and reproducing interrupts in embedded real-time systems. Furthermore, our method performs perfectly well with standard development tools and operating systems, requires no additional hardware support and, according to preliminary results, consumes merely a tenth of the execution time of existing software-based methods for pinpointing interrupts. 

  • 9.
    Thane, Henrik
    Mälardalen University, Department of Computer Science and Electronics.
    Monitoring, Testing and Debugging of Distributed Real-Time Systems2000Doctoral thesis, monograph (Other scientific)
    Abstract [en]

    Abstract Testing is an important part of any software development project, and can typically surpass more than half of the development cost. For safety-critical computer based systems, testing is even more important due to stringent reliability and safety requirements. However, most safety-critical computer based systems are real-time systems, and the majority of current testing and debugging techniques have been developed for sequential (non real-time) programs. These techniques are not directly applicable to real-time systems, since they disregard issues of timing and concurrency. This means that existing techniques for reproducible testing and debugging cannot be used. Reproducibility is essential for regression testing and cyclic debugging, where the same test cases are run repeatedly with the intention of verifying modified program code or to track down errors. The current trend of consumer and industrial applications goes from single micro-controllers to sets of distributed micro-controllers, which are even more challenging than handling real-time per-see, since multiple loci of observation and control additionally must be considered. In this thesis we try to remedy these problems by presenting an integrated approach to monitoring, testing, and debugging of distributed real-time systems. For monitoring, we present a method for deterministic observations of single tasking, multi-tasking, and distributed real-time systems. This includes a description of what to observe, how to eliminate the disturbances caused by the actual act of observing, how to correlate observations, and how to reproduce them. For debugging, we present a software-based method, which uses deterministic replay to achieve reproducible debugging of single tasking, multi-tasking, and distributed real-time systems. Program executions are deterministically reproduced off-line, using information concerning interrupts, task-switches, timing, data accesses, etc., recorded at runtime. For testing, we introduce a method for deterministic testing of multitasking and distributed real-time systems. This method derives, given a set of tasks and a schedule, all execution orderings that can occur at run-time. Each such ordering is regarded as a sequential program, and by identifying which ordering is actually executed during testing, techniques for testing of sequential software can be applied. For system development, we show the benefits of considering monitoring, debugging, and testing early in the design of real-time system software, and we give examples illustrating how to monitor, test, and debug distributed real-time systems.

1 - 9 of 9
CiteExportLink to result list
Permanent 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