Testing Enbredded Software
Test processes in software product evolution: a qualitative survey on the state of practice
Journal of Software Maintenance: Research and Practice - Special issue: Process diversity
Understanding the Linux Kernel, Second Edition
Understanding the Linux Kernel, Second Edition
Testing in resource constrained execution environments
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Low overhead program monitoring and profiling
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
A survey of systems for detecting serial run-time errors: Research Articles
Concurrency and Computation: Practice & Experience
Using Valgrind to detect undefined value errors with bit-precision
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Valgrind: a framework for heavyweight dynamic binary instrumentation
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
How to shadow every byte of memory used by a program
Proceedings of the 3rd international conference on Virtual execution environments
Effective memory protection using dynamic tainting
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Windows Embedded CE 6.0 Fundamentals
Windows Embedded CE 6.0 Fundamentals
Journal of Systems and Software
Hi-index | 0.00 |
Context: An operational test means a system test that examines whether or not all software or hardware components comply with the requirements given to a system which is deployed in an operational environment. Objective: It is a necessary lightweight-profiling method for embedded systems with severe resource restrictions to conduct operational testing. Method: We focus on the Process Control Block as the optimal location to monitor the execution of all processes. We propose a profiling method to collect the runtime execution information of the processes without interrupting the system's operational environment by hacking the Process Control Block information. Based on the proposed method applied to detect runtime memory faults, we develop the operational testing tool AMOS v1.0 which is currently being used in the automobile industry. Results: An industrial field study on 23 models of car-infotainment systems revealed a total of 519 memory faults while only slowing down the system by 0.084-0.132x. We conducted a comparative analysis on representative runtime memory fault detection tools. This analysis result shows our proposed method that has relatively low overhead meets the requirements for operational testing, while other methods failed to satisfy the operational test conditions. Conclusion: We conclude that a lightweight-profiling method for embedded system operational testing can be built around the Process Control Block.