Download a usable demo version to try on your own files here now!
Pixref Pro is a lightweight but powerful tool for automating project specific traceability checking. Traceability is a requirement of major software development quality standards covering all industries. It is also a particular focus of AutomotiveSPICE, mandated by all the major European OEMs for systems and software development.
PixRef facilitates the tracing of functional requirements right through the development life cycle at the required level of detail. It can verify that all requirements have been implemented and tested, in addition to ensuring that obsolete requirements are removed. It automatically generates a requirements traceability matrix (RTM) from current project files as part of a detailed HTML report. Click for example report.
The tool is particularly effective at scanning through large numbers of files extracted from a standard version control system and works with many file types, including text files, Microsoft® Office and MATLAB® SimulinkTM.
In contrast, requirements management tools based on a database tend to conflict with the need to keep development files under proper version and configuration control.
PixRef can also automate the traceability of process requirements right back to international, industry specific or customer specific standards, removing the need for managers to hold the myriad of requirements in their heads. New process models and standards are easily added as inputs to the tool.
*PixRef Pro is not intended for use where its failure could result in a safety hazard or high commercial costs. Pi Innovo accepts no liability for its use. The complete licence agreement is available during installation.
What is Requirements Traceability?
On any engineering development project, there will be a list of requirements which will change with time. Showing that all of those requirements have been implemented in the finished product, and linking their implementation to the original requirements, is to achieve requirements traceability. This applies equally to tests (have we tested that the product succeeds in meeting all of its requirements?). A traceability matrix shows how each requirement is implemented or tested somewhere.
The idea is that if the implementation is demonstrably related to the requirements, we can be sure that:
- no required functionality has been left out;
- no unwanted functionality has been left in.
PixRef and other tools
Pi Innovo has used a number of methods to track requirements on different projects for different customers, including successful use of the database products DOORS and Caliber.
The advantages of PixRef are:
- it can be applied to many file types of interest (including Word documents, Simulink models, source code, HTML etc) without modification;
- those files can be maintained as usual in whatever version control system you prefer;
- it is easy to apply PixRef to different configuration managment branches or old versions by pointing it at different folders;
- it provides traceability and measurable coverage right down into detailed implementation files.
PixRef does not by itself provide requirements management, e.g. by recording change history or ownership information (this is left to you and your version control system).
What PixRef Does
Briefly, PixRef simply scans specified specification and implementation files, recursively descending directories as required, searching for all cross-reference marks. Here is an example fragment of a requirements or specification document (perhaps Word, HTML or even a DOORS export file with its own prefixed ID numbers):
[XX 27]: The value 3.0 is output at all times on Tuesdays. (Source: Fred Bloggs)
This can be referenced in C source code thus, here using the ‘[XX 27]’ cross-reference mark:
if (TUESDAY == day)
/* It is Tuesday so output 3.0 [XX 27] */
PixRef will find this cross-reference between the specification text and C code, and all others like it, in any number of files. This is in part similar to a combination of the Unix utilities grep and find. It then summarises all such mappings to allow requirements or other tokens to be traced between specification and implementation in both directions. It provides a full HTML report with tables listing:
- a summary of those tags which were defined in the specification but nowhere implemented (unreferenced);
- a summary of those tags which were found in implementation files but not defined (obsolete);
- a summary of those tags which were both specified and implemented (correct). This is the traceability matrix.
The format of the reference tags is likely to be project-specific and is not constrained by PixRef. Instead it is defined by a regular expression, a standard flexible method of matching text patterns. This allows great freedom in how references are made on different projects, and gives PixRef scope to help with problems unrelated to requirements traceability.
The text adjacent to each tag is captured and displayed in the output (a kind of concordance). This provides human-readable context in the resulting traceability matrix so that it can be sensibly read without necessarily having to refer back to the files from which it is automatically derived. You can control how much context to capture: for example, the whole paragraph for each requirement, and two lines on either side of the tag in source code.
We are interested in hearing from you.
Tell us what challenges you are facing