Performing engineering software analysis techniques
Overview
This standard identifies the competences you need to analyse software, in accordance with approved procedures, in order to demonstrate that the software is free from structural defects. You will be given a detailed brief on specific analysis techniques, and will be required to perform and report on the specific software analysis. You will need to select the appropriate software analytical method to use, based on the type and complexity of the software functions. You will be expected to use current British, European, international and company standards to analyse the software.
Your responsibilities will require you to comply with organisational policy and procedures for working in the software development team. You will be required to report any problems with the computer hardware, software or procedures that you cannot personally resolve, or that are outside your permitted authority, to the relevant people. You will be expected to work to verbal/written instructions and draft specifications, with a minimum of supervision, taking personal responsibility for your own actions and for the quality and accuracy of the work that you carry out.
Your underpinning knowledge will provide a good understanding of your work, and will provide an informed approach to applying software analysis procedures. You will understand the computer system and software used, and its application, and will know, in adequate depth, about the various tools and techniques used to analyse the software.
You will understand the safety precautions required when working in the software development team. You will be required to demonstrate safe working practices throughout, and will understand the responsibility you owe to yourself and others in the workplace.
Performance criteria
You must be able to:
- work safely at all times, complying with health and safety legislation, regulations, directives and other relevant guidelines
- plan and prepare the software analysis activities before you start them
- use appropriate sources to obtain the required information for the analysis activity
- access and use the correct software analysis tool
- use references that follow the required conventions
- perform the software analysis
- check the output from the review
- save and store the software analysis results as the appropriate file type and in the correct location
- review and report your findings on the software analysis performed
- deal promptly and effectively with problems within your control, and seek help and guidance from the relevant people if you have problems that you cannot resolve
Knowledge and Understanding
You need to know and understand:
- the specific safety precautions to be taken when working with software development environment hardware (to include such items as safety guidance relating to the use of visual display unit (VDU) equipment and work station environment; repetitive strain injury (RSI); the dangers of trailing leads and cables; how to spot faulty or dangerous electrical leads, plugs and connections)
- how to return the work area to a safe and useable condition (such as cleaning down work surfaces; putting media, manuals and unwanted items of equipment into safe storage; leaving the work area in a safe and tidy condition)
- the relevant sources and methods for obtaining any required technical information relevant to the software analysis (such as new model brief/request, drawing briefs, specification sheets, request for changes or modifications to code; technical publications; calculations; software requirements)
- software analysis methodologies, and national, international and relevant company software analysis procedures (such as software analysis tool, code review, manual analysis)
- identification of the correct version of the software analysis tool, and the various techniques that are supported by the tool
- the application and use of the software analysis tools
- how to use and configure the software analysis tool
- how to access the specific code to be analysed
- how to analyse software code using the correct tools/methods
- how to access, recognise and use a wide range of standard components and symbol libraries from the tools
- the need for configuration control on all artefacts (such as ensuring that completed results are approved, labelled and stored on a suitable storage device)
- why it is necessary to be able to recall previous issues of analysis results
- when to act on your own initiative and when to seek help and advice from others
Scope/range
- Prepare for the software analysis, by carrying out all of the following:
- check that the working environment is in a safe and appropriate condition and that all working equipment is in a safe, tested and usable condition (such as cables undamaged, correctly connected, safely routed)
- start the appropriate software analysis tool
- set up the analysis environment and select a suitable template/folder
- identify relevant software to be analysed
- identify the required standards and all relevant sources (such as software requirements, design and software coding standards)
- Use two of the following to obtain the necessary data to analyse correctly the software code:
- technical publications
- standards reference documents
- calculations
- specifications
- software requirements
- regulations
- quality requirements
- software design
- technical notes (such as meetings/discussions, e-mail)
- other specific available data
- Carry out all of the following before performing the software analysis:
- ensure that the data and information you have is complete and accurate
- analyse the data and information to identify requirements of the analysis to be preformed
- recognise and deal with problems (such as technical issues and lack of information, or incorrect information)
- Configure the software analysis tools to analyse the code, using three of the following:
- data flow
- metrics analysis
- execution time measurement
- control flow
- information flow
- execution time analysis
- code language subsets
- semantic analysis
- test coverage analysis
- Perform the software analysis using one of the following:
- software analysis tool
- code review
- manual analysis
- Check the analysis results for both of the following:
- completeness
- completion
- Save and store the results in appropriate locations, to include carrying out all of the following:
- check that the results are correctly titled, referenced and annotated
- ensure that the results have been checked and comply with organisational procedures
- save the results to an appropriate location (such as storage device, configuration database)
- register and store the results in the appropriate company information system (where appropriate)
- ensure that a separate backup copy is created and placed in safe storage
- Review the findings of the analysis, using one of the following:
- formal report
- software quality report
- metrics report
- vendor software assessment
- analysis tool generated report