Font Size: a A A

Research&Implementation Of The Static Checking&Automated Path Testing Tools For Embedded Software

Posted on:2013-02-12Degree:MasterType:Thesis
Country:ChinaCandidate:J X LiuFull Text:PDF
GTID:2248330374475854Subject:Computer software and theory
Abstract/Summary:PDF Full Text Request
With the increasing growth of the national economy and continuing improvement ofpeople’s life, as well as the unceasing development of embedded soft/hardware technique,embedded software product gradually becomes a basic element of people’s daily life. Alongwith this development is the increasing demand on embedded software. As a result, qualityassurance of such embedded software has its practical significance.Early detections of defects in embedding software source code in developing period helpsdevelopers locate the problematic executing path and fix the bugs at the early stage, hence itcan improve develop efficiency and reduce maintenance cost. Static detection technique candetect some underlying problems in the source code by simply analyzing the structures of theprogram without any execution. However, there are bugs couldn’t be detected until realexecution. Combinations of static and dynamic testing will better assure the quality ofembedded software. Traditionally in dynamic testing, test cases and test drivers are derived bytesters in hand, which is error-prone and time-consuming, automated path testing tries toimprove this by the automated generation of test cases that covers all the execution path of thetested program. Both static and dynamic testing requires analysis of the source code structure,which is supported by the GCC compiler, who even supports plug-in extension.In this paper, after the investigation of the current state of art and endeavor on itsimprovement, the author implements a static checking tool and an automated path testing toolfor embedded software, and integration of which to the GDIX Embedded Software TestingPlatform is also done, here is the main work:(1) Thorough investigation of current techniques in static checking and automated pathtesting is carried out, and drawbacks of which are listed;(2) Studies on the GDIX Embedded Software Testing Platform is performed, including itsframework, exiting components, and functions to be extended; the afore-mentionedinvestigation is summarized and research points are given.(3) In-depth research on the GCC framework and its corresponding plug-in framework,discussions on GCC plug-in developing process, and illustration of data structures generatedby each pass of GCC compiling are presented, which lie foundations for the GCC developing plug-in that parse source codes for the up-coming static checking and automated path testingtools. To ease the use of the testing tools, a GCC visible developing plug-in are alsoimplemented, which realizes the real-time line mapping from source code to internal datastructure.(4) Static checking technique, or analyzing technique, is thoroughly studied, along withGCC’s generated structure for control flow and data flow, as well as its customized checkingrules, based on which a static checking tool is implemented to complete the checking processby combining information from the control flow and data flow. This tool fixes the drawbacksof the related ones, and saves the violated execution path information in a unified format,which makes convenience for the automated path testing tools to reuse the path information.(5) Perform research on automated path testing and symbolic execution technique, anddiscuss the deficiency of current symbolic execution technique in detail, by the introductionof time slice mechanism and alternate detecting policy, symbolic execution technique isimproved to help realization of automated path testing tool.(6) Functional test and correctness test are carried out on the GCC visible developingplug-in, static checking tool and automated path testing tool, the result shows that they havereached the goal of this paper.
Keywords/Search Tags:visible plug-in develop, real-time line mapping, static detection, automated pathtesting, quality assurance
PDF Full Text Request
Related items