[Abstract] This paper discusses the software quality requirements, on this basis, the article discusses LOGISCOPE software development quality assurance work.How do the various stages in software development using these tools to ensure that the development of software reliability and maintainability.The rational use of LOGISCOPE will help the development team through the ISO9001 certification, but also enhance the development team to facilitate the CMM levels.SCADE Logiscope and design tools will be used in combination to make the software meet the RTCA/DO-178B, IEC1508, IEC880, and GJB-2786 safety - critical systems software quality requirements.
1. Software quality requirements
Software, a big important part of the system; embedded software, refers to the software as part of the system embedded in the system, as part of the system using software that the most critical requirement is the safety and reliability.In particular, especially in the military field.
Therefore, we must use effective methods and software tools to support and meet the embedded software development, software testing and evaluation, and other units to ensure that they conduct software quality assurance activities.That is, have the appropriate software tools to support developers in order to ensure in the shortest possible time, with the least cost, the development of high-quality software to meet customer needs, while reducing maintenance costs after product delivery.
Statistics on the actual project, you will find in the different stages of discovery and change the cost of a mistake is different, the following table shows the specific data [1].
Software development phase
Coding Phase
Testing
Maintenance Phase
The costs of discovery and change the error
1 times
4 times
16 times
On the other hand, statistics show that a project, 80% of errors are often caused by the 20% of the program's.Therefore, how to effectively recognize and identify the 20% of the parts is very important.
Experience also tells us that the error many procedures, its structure, algorithm, program style is often very complex.
The following table is in various stages of software development activities (evaluation and testing) found that the case of error [1]:
Errors found activities
1000 lines per number of errors found
SRR
2.5
Design Review
5.0
Code review
10.0
Integration Testing
3.0
Acceptance Test
2.0
Software products with other industrial products, its quality depends on the software development process for quality control.To improve the quality of a good software, must be controlled at all stages.
LOGISCOPE is a set of tools.It runs through the software development, code review, unit / integration testing, system testing, and software maintenance phase.
LOGISCOPE is the source code for the work.LOGISCOPE for coding, testing and maintenance.Therefore, LOGISCOPE focus is to help code review (Review) and dynamic coverage test (Testing).
2 LOGISCOPE for the development phase
2.1 The definition of quality model
Attention to the quality of software development companies, programmers programming rules should be defined [2] and quality assessment model.Developed by the company to ensure the stability of the source code, easy maintenance, high reliability and portability.
RuleChecker 50 predefined rules of programming:
* Name of convention (such as: local variables in lower case, etc.);
* Said the convention (such as: instruction per line);
* Restrictions (such as: can not use GOTO statements can not be modified in the loop counter, etc.);
Users can choose from these rules, you can also use Tcl, scripting and programming languages to define new rules.
It also provides for the safety of 50 - critical systems programming rules.
Audit to ISO9126 [3] model as a basis for quality evaluation model.Quality evaluation model describes from Halstend, McCabe's measure the quality of science and methodology VERILOG in the introduction of the quality factors (maintainability, reusability, etc.) and quality criteria (testability, readability, etc.).
Project leader or may be based on criteria of quality management, application life cycle, contract requirements, etc., selection and adoption of project requirements for the quality of models.
2.2 verification, review and improve the code
RuleChecker with the rules of the selected source code verification.Programming rules that do not meet all of the code, and made the source code to improve the interpretation and recommendations.RulrChecker through a text editor to directly access the source code and the need to correct the position.
Audit will be evaluating the quality of the software requirements model and compared graphically displayed the level of software quality, therefore, the quality of staff can focus the need to modify the code section.Measure the quality of model elements and to explain inconsistencies and to propose corrective methods.
A detailed analysis of software quality, Audit can be a variety of graphical representation:
* The application system architecture - call graph shows the relationship between process and function.The design review application;
* Each process and function of the logical structure - control flow diagram shows the logical path algorithm.With a graphical representation of the complexity of the evaluation function;
* Consistency and quality of the model - Kiviat diagram and pie chart so that the selected quality level and consistency between the reference is more visual.
3 LOGISCOPE for testing
3.1 The definition of testing criteria
In the software testing phase, the most important is to ensure that all code paths have been fully covered [4,5].Only those, fully tested software is reliable.Especially high reliability software.
To ensure the validity of the test must be defined objectively quantifiable criteria and strategies to determine when to end the test phase.
LOGISCOPE recommended for instruction (IB), the logical path (DDP) and the call path (PPP) of the coverage test.In addition to the safety - critical software also provides MC / DC coverage testing [5].
3.2 The validity of the test
TestChecker generate information for each test and cumulative test coverage information.Coverage ratio histogram display and test operation under real-time online changes.Shows the new test at any time the test reflected in coverage.
TestChecker allow all the tests effectiveness based on its management.Users can reduce those used for non-regression testing test.
3.3 Optimization of the test
The first step in the testing phase, the implementation of the test is functional (black box) testing.The aim is to check whether the desired function has been achieved.In early testing, coverage will rapidly increase.Generally decent test coverage of 70%.However, to improve this ratio is very difficult.Mainly due to the test test case covering the same path.At this time, you need to make some changes to the test strategy.Implementation of structural (white box) testing, that is, not carried out to detect the logical path, the definition of new test cases covering these paths.
In the implementation of the test period, when the testing strategy changes, comprehensive detection of key factors in the use of TestChecker to improve efficiency.TestChecker used in conjunction with the Audit will help users to analyze untested code.
Users can display the code of interest, and not covered by the implementation of the path of the observed related information.Information graphics (control flow graph) and text (pseudo-code and source files) in a form, and navigation in the meantime established association.
TestChecker declared the new test management system to produce the relevant documents, custom boot commands, and automatic execution.
4 LOGISCOPE for the maintenance phase
Widespread understanding of the application system maintenance and development costs are almost equal.Experience has shown that 50% of the software maintenance of time in the structure, logic and understanding of running.
LOGISCOPE can greatly reduce the system's understanding of the unknown time required.
Audit framework of the application form of a document (the relationship between parts of documents) and call graph of the form (the relationship between functions and procedures) visualization.
The logical structure of the function to control the flow graph displayed.Selected on the control flow graph node, you can get the corresponding code.
Line analysis, the navigation between the different levels to promote understanding of the whole.
5 on the support of the embedded space
LOGISCOPE support a variety of testing methods.Especially in the field of embedded software support.
Is well known that the testing of embedded system software is the most difficult.Because its development is cross-compiled manner.On the target machine (Target), and not have the extra space record test information.Must be tested in real-time information through the network cable / serial port reached the host (Host) on, and real-time online display.Therefore, the source code instrumentation and collection of information on the target machine and return the key to a problem.
LOGISCOPE a good solution to these technologies, a leader in the embedded field test tools.It supports a variety of real-time operating system (RTOS) on the application test, the test also support the logic of the system.Its working method is as follows:
Logiscope provides VxWorks, pSOS, VRTX real-time operating system, the test library.
6 on the aviation / aerospace / defense / support of the field of nuclear power plants
In the aviation / aerospace industry, safety is the most critical issue.Therefore, the European and American aviation / aerospace manufacturers and users jointly developed RTCA/DO-178B [5].LOGISCOPE on "Reviews and Analysis of the Source Code" and "Structural Coverage Analysis" software developed to enable RTCA/DO-178B standard A, B, C three system level.
LOGISCOPE is the first to provide MC / DC (Modified Condition / Decision Coverage) testing tool.
VERILOG SCADE is another product the company fully supports RTCA/DO-178B, IEC1508 [6], IEC880 [7] tool.SCADE and LOGISCOPE configured the production line to ensure that aviation / aerospace safety-critical system software safety and reliability.
7. Software documentation and automatic generation of test documentation
Logiscope provides automatic documentation generation tool.Users can review the results of the code and dynamic testing requirements of the situation in real time to generate the documents that a faithful record of the case code, and dynamic test results.Document format can be customized according to the needs of users, such as, GJB-438A [8].Therefore:
1) to avoid inconsistencies in the code and documentation;
2) test results and test report to avoid inconsistencies;
3) to reduce the developers and testers write the document work.
8 Summary
LOGISCOPE use in the shortest possible time, improve quality and efficiency of soft.
LOGISCOPE in the development stage, the search can look for potential errors.
In the code review stage, LOGISCOPE positioning errors that have 80% of the program modules.
Not test the code by location, LOGISCOPE help find hidden flaws in the code is not tested.
Project leaders and quality engineers to check regularly with LOGISCOPE the quality of the software.
Used at each stage LOGISCOPE, improve the practice of software engineering, training programmers write good code and test activities to ensure the system easy to maintain, reduce risk.
In a contractual relationship, the contractor can use LOGISCOPE defined quality levels and implementation of acceptance testing.Cheng Zhifang can LOGISCOPE demonstrate the quality of their software.
LOGISCOPE for ISO/IEC9126 defined "Quality Characteristics";
LOGISCOPE for the ISO-9001 [9] provide the requirements (test acceptance criteria and qulity records);
LOGISCOPE provides developers with SEI / CMM [10] at level 2 (Repeatable) follow the required software quality requirements of the key practices, and promote the development organization as quickly as possible SEI / SMM of the three.