Towards Target-Level Testing and Debugging Tools For Embedded SoftwarePowerPoint PresentationIntroductionSoftware Testing and Debugging ProcessEmbedded SystemsSoftware TestingTesting Concurrent SystemsEmbedded TestingCurrent SolutionsProblems with Embedded TestingIncreasing Target FunctionalityModel Debugging SystemThe model debugging system continued..Architectural AdditionsArchitectural Additions Continued…Run-Time System AdditionsRun-Time System Additions continued..ConclusionsStrengthsWeaknessTowards Target-Level Testing and Debugging Towards Target-Level Testing and Debugging Tools For Embedded SoftwareTools For Embedded SoftwareHarry Koehnemann, Arizona State UniversityHarry Koehnemann, Arizona State UniversityDr. Timothy Lindquist, Arizona State UniversityDr. Timothy Lindquist, Arizona State UniversityPresented by:Presented by:Soubhagya Kumar DashSoubhagya Kumar DashGoal: Identify the problems associated Goal: Identify the problems associated with test case execution for Embedded with test case execution for Embedded SystemsSystemsTo propose solutions for making To propose solutions for making embedded testing more effective at embedded testing more effective at revealing errors.revealing errors.IntroductionIntroductionCurrently: Testing and Debugging of Embedded Real Time Currently: Testing and Debugging of Embedded Real Time Software: A “black art” - ad hoc methods and techniques.Software: A “black art” - ad hoc methods and techniques.- Ineffective and inadequate.- Ineffective and inadequate.Huge costs associated with validation of embedded Huge costs associated with validation of embedded applications. Despite this, most difficult errors are applications. Despite this, most difficult errors are discovered extremely late in the testing process, making discovered extremely late in the testing process, making them even more costly to repair.them even more costly to repair.Requirement: Formal methods, development of architectural Requirement: Formal methods, development of architectural and software capabilities which support testing and and software capabilities which support testing and debugging with minimal intrusion on the executing debugging with minimal intrusion on the executing system. This is critical for testing Embedded applications. system. This is critical for testing Embedded applications. Test cases must take care of the real time and environmental Test cases must take care of the real time and environmental factors as well. Not just check for correct input-output factors as well. Not just check for correct input-output (functional behavior) mapping.(functional behavior) mapping.Software Testing and Debugging ProcessSoftware Testing and Debugging ProcessTesting: Executing a piece of software in order to Testing: Executing a piece of software in order to reveal errors- A substantial portion of the reveal errors- A substantial portion of the validation process. validation process. -Development of test procedures, generation and Development of test procedures, generation and execution of test cases.execution of test cases.Debugging: This is concerned with locating and Debugging: This is concerned with locating and correcting the cause of an error once it has been correcting the cause of an error once it has been revealed.revealed.-Developer must recreate exact execution Developer must recreate exact execution scenario.scenario.-Same instruction sequencesSame instruction sequences-All environmental variants must be accounted for.All environmental variants must be accounted for.Embedded SystemsEmbedded SystemsCorrect execution of embedded applications Correct execution of embedded applications absolutely critical.absolutely critical.Testing and Debugging: Greatly restricted by Testing and Debugging: Greatly restricted by embedded systems, with constraints such as:embedded systems, with constraints such as:-Concurrent DesignsConcurrent Designs-Real-time constraintsReal-time constraints-Embedded target environmentsEmbedded target environments-Distributed hardware architecturesDistributed hardware architectures-Device control dependenciesDevice control dependenciesThese restrict execution visibility and control.These restrict execution visibility and control.Target environment: grossly inadequate Target environment: grossly inadequate computing resources.computing resources.Software TestingSoftware TestingSoftware testing for embedded systems:4 basic Software testing for embedded systems:4 basic stagesstages1.1.Module level testingModule level testing2.2.Integration testingIntegration testing3.3.System testingSystem testing4.4.Hardware/Software Integration testing – Hardware/Software Integration testing – This is unique to embedded systems.This is unique to embedded systems.Techniques of particular interest to us:Techniques of particular interest to us:-Testing Concurrent SystemsTesting Concurrent Systems-Non-intrusive testingNon-intrusive testingTesting Concurrent SystemsTesting Concurrent SystemsConcurrency increases the difficulty of s/w testing.Concurrency increases the difficulty of s/w testing.-Unmanageably large set of legal execution -Unmanageably large set of legal execution sequences that a concurrent program may take.sequences that a concurrent program may take.-Subsequent execution could lead to different-yet -Subsequent execution could lead to different-yet correct results.correct results.-Dealing with abstraction-Dealing with abstraction-Static and Dynamic testing -Static and Dynamic testing Non-intrusive testingNon-intrusive testingFor host based- intrusion is acceptable.For host based- intrusion is acceptable.Embedded applications have strict timing Embedded applications have strict timing requirements. Absolutely imperative that there requirements. Absolutely imperative that there be no intrusions on a test execution.be no intrusions on a test execution.Embedded tools: ROM/Bus monitors, EmulatorsEmbedded tools: ROM/Bus monitors, EmulatorsEmbedded TestingEmbedded TestingEmbedded systems have critical issues/concerns Embedded systems have critical issues/concerns as discussed on an earlier slide.as discussed on an earlier slide.-Typically developed on custom h/w -Typically developed on custom h/w configurations, each would require own set of configurations, each would require own set of tools and techniques.tools and techniques.Errors discovered during H/S integration testing Errors discovered during H/S integration
View Full Document