Tuesday 10 January 2017

Remote Code Analysis in ATC – Working with Baseline to suppress findings in old legacy code

Working with Baseline – Live Demo

If you are interested in the live demonstration of working with baseline watch this YouTube Video on abap channel


Baseline concept – Focus on new or recently changed code

This problem knows almost everybody, who takes care of code quality in the SAP system landscape. At the latest you get in touch with this problem as soon as you run ATC for your whole custom code. Then you will namely get very many findings especially if you apply all standard checks like naming conventions, SLIN checks, performance checks, security checks and so on:

Remote Code Analysis in ATC – Working with Baseline to suppress findings in old legacy code

Remote Code Analysis in ATC – Working with Baseline to suppress findings in old legacy code

What to do with this long list of findings? Actually you have a lot of legacy custom code in your landscape and want now to focus your quality assurance efforts only on the new or recently changed code.

The baseline concept (available with SAP NetWeaver AS for ABAP 7.51 innovation package) offers you a solution. With baseline you can exclude after the first ATC run your well-known or legacy findings from the ATC result list (add the ATC results to the baseline) so that at the second ATC run they will be treated as a special kind of exemption and will not appear in your ATC result list. Of course you can anytime change the scope of the baseline (add or remove findings) and in this way you can always very flexible decide which findings you want to take care of.

The setup of the baseline is quite simple. You need to logon to the ATC system as administrator. In the transaction ATC under ATC Administration -> Runs double-click the Manage Results entry. In the ATC: Browse Results screen you can specify the query for ATC run series and visibility of results and press Execute button or F8. The ATC result list displays the results according to your specified query settings.

Now you can add (or remove) findings to baseline after selecting the relevant finding from the results (Baseline -> Add to Baseline to…) and by choosing the appropriate option for it (suppress, exempt, assign low priority).

Remote Code Analysis in ATC – Working with Baseline to suppress findings in old legacy code

After this the ATC check result gets added to the baseline (this is indicated by column Is in Baseline):

Remote Code Analysis in ATC – Working with Baseline to suppress findings in old legacy code

After this you can schedule a new ATC check run, and you will see, that the ATC result contains no findings (double-click the result to see the findings list):

Remote Code Analysis in ATC – Working with Baseline to suppress findings in old legacy code

Remote Code Analysis in ATC – Working with Baseline to suppress findings in old legacy code

Optionally you can still display the suppressed findings (findings which are now in the baseline):

Remote Code Analysis in ATC – Working with Baseline to suppress findings in old legacy code

If you now for example change the source code and schedule the ATC check run again, the new ATC result will contain only the new findings:

Remote Code Analysis in ATC – Working with Baseline to suppress findings in old legacy code

No comments:

Post a Comment