Xylok Documentation
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Automatic Analysis

Automatic Analysis (AA) within Xylok is a key part of increasing analysis speed. To run AA on imported data, click the “Auto Analyze” button while viewing a scan, acknowledge the message, and wait for confirmation that automatic analysis has completed.

Automatic analysis start button

Automatic Analysis data is added to and updated behind the scenes any time your organization manually changes the compliance status of a check during analysis. The first time you analyze a new machine or family of machines, AA will likely not mark many items—this is expected. Subsequent AA rounds on on the same machine will typically mark a majority of checks based on the previous markings, assuming the data didn’t change. Automatic Analysis also applies any post-processing recommendations.

Data Pools

There are three levels or “pools” of automatic analysis data within Xylok:

  1. Machine
  2. Family
  3. Universal

When a user manually assigns a compliance status within Xylok be clicking a button, an AA entry is created and/or updated for each pool. When AA is applied, the pools are prioritized in the order shown. If no AA entries apply, Xylok will use the check’s Post-Processing recommendation, assuming one exists.

Managing AA Pools

There are two ways to manage the application of AA data:

  • For temporary purposes, the AA confirmation form allows the selection of which data pools to use. Click the “Auto Analyze” button on a scan and deselect any AA pool you do not want to use:

    AA pool selection

  • More permanently, machine and family data pools can be deleted from their respective details pages. Note that the universal AA pool will still exist after taking either of these actions. There’s currently not a way to fully wipe the universal AA pool.

    AA pool deletion

AA Application Example

Say we have a brand new Xylok installation and created a client with the following machines:

Machine Family
M1 -
M2 Workstations
M3 -
M4 Workstations

For the sake of this example, all of these machines use a single benchmark with these checks:

Check Has PP w/ Recommendations?
EX-01 No
EX-02 Yes
EX-03 No

We then run the Xylok script against all the machines and import the results. Before doing anything besides the import, our scan data and compliance status look like the table below. For simplicity we won’t display comments here, but they work exactly the same as the compliance status. The “Data” columns below are examples of the command output text displayed within Xylok.

EX-01 EX-02 EX-03
Machine Data Status Data Status Data Status
M1 aaa Unreviewed bbb Unreviewed ccc Unreviewed
M2 aaa Unreviewed bbb Unreviewed xxx Unreviewed
M3 aaa Unreviewed bbb Unreviewed xxx Unreviewed
M4 aaa Unreviewed bbb Unreviewed ccc Unreviewed
In the tables below, we italicize and bold new and updated entries.

Analyzing M1

M1 is not in a family

We want to begin analysis on M1, so we go into the scan and click “Auto Analyze.” Our results look like this:

EX-01 EX-02 EX-03
Machine Data Status Data Status Data Status
M1 aaa Unreviewed bbb Compliant ccc Unreviewed
M2 aaa Unreviewed bbb Unreviewed xxx Unreviewed
M3 aaa Unreviewed bbb Unreviewed xxx Unreviewed
M4 aaa Unreviewed bbb Unreviewed ccc Unreviewed

Only one item got automatically marked, EX-02, because that was the only check with post-processing recommendations that automatic analysis could use.

Now, we manually go through and mark the other two checks for this machine. Our analysis now looks like this:

EX-01 EX-02 EX-03
Machine Data Status Data Status Data Status
M1 aaa Compliant bbb Compliant ccc Non-Compliant
M2 aaa Unreviewed bbb Unreviewed xxx Unreviewed
M3 aaa Unreviewed bbb Unreviewed xxx Unreviewed
M4 aaa Unreviewed bbb Unreviewed ccc Unreviewed

Manually assigning statuses has created AA entries in the appropriate pools, which we’ll be using as we go down our list of machines. The previously-empty AA database now has these entries:

Check Pool Value Status
EX-01 Machine: M1 aaa Compliant
EX-01 Universal aaa Compliant
EX-03 Machine: M1 ccc Non-Compliant
EX-03 Universal ccc Non-Compliant

Because M1 isn’t in a family, we only created entries for M1 itself and the universal pool. Note that the recommendation PP gave us didn’t create an entry in this table; only manually-assigned statuses create or update entries.

Analyzing M2

M2 is in the “Workstations” family

Now we go to analyze M2, starting as before by clicking “Auto Analyze.” The results:

EX-01 EX-02 EX-03
Machine Data Status Data Status Data Status
M1 aaa Compliant bbb Compliant ccc Non-Compliant
M2 aaa Compliant bbb Compliant xxx Unreviewed
M3 aaa Unreviewed bbb Unreviewed xxx Unreviewed
M4 aaa Unreviewed bbb Unreviewed ccc Unreviewed
  • EX-01 was automatically marked as compliant, because we have matching data in the Universal pool.
  • EX-02 was once again marked compliant by PP recommendation.
  • EX-03 was left untouched because the data for the check did not match an existing entry in the AA table.

To complete our manual analysis, we have decided EX-01 and EX-03 aren’t applicable to this machine and Workstations in general. After manually marking those items, our results table have the following statuses:

EX-01 EX-02 EX-03
Machine Data Status Data Status Data Status
M1 aaa Compliant bbb Compliant ccc Non-Compliant
M2 aaa Not Applicable bbb Compliant xxx Not Applicable
M3 aaa Unreviewed bbb Unreviewed xxx Unreviewed
M4 aaa Unreviewed bbb Unreviewed ccc Unreviewed

Our manual markings have created/or updated our AA entries:

Check Pool Value Status
EX-01 Machine: M1 aaa Compliant
EX-01 Machine: M2 aaa Not Applicable
EX-01 Family: Workstations aaa Not Applicable
EX-01 Universal aaa Compliant
EX-03 Machine: M1 ccc Non-Compliant
EX-03 Machine: M2 xxx Not Applicable
EX-03 Family: Workstations xxx Not Applicable
EX-03 Universal ccc Non-Compliant

Note that because M2 is in the “Workstations” family, a family pool entry was made in the table, rather than a universal entry. While Universal data will be used when running AA on a machine in a family, manually analyzing that same machine will not create new Universal entries. As a consequence of this, it may be more efficient to to analyze non-family machines first to allow Universal data to help when analyzing family machines.

Analyzing M3

M3 is not in a family

As before, we go in and run auto analysis on the scan for M3. M3 is not in a family, so it will be relying on machine-specific AA entries (there aren’t any) and universal entries, resulting in:

EX-01 EX-02 EX-03
Machine Data Status Data Status Data Status
M1 aaa Compliant bbb Compliant ccc Non-Compliant
M2 aaa Not Applicable bbb Compliant xxx Not Applicable
M3 aaa Compliant bbb Compliant xxx Unreviewed
M4 aaa Unreviewed bbb Unreviewed ccc Unreviewed
  • EX-01 get marked compliant because the Universal entry matches the data.
  • EX-02 once again received a Compliant status from AA.
  • EX-03 did not get automatically marked because the matching data (for xxx) is only in a family pool, not the universal pool.

We’re going to make two more manual changes:

  • EX-02 will be marked as Non-Compliant—perhaps the PP recommendation was incorrect for this particular system.
  • EX-03 will be marked as Compliant

Our new table:

EX-01 EX-02 EX-03
Machine Data Status Data Status Data Status
M1 aaa Compliant bbb Compliant ccc Non-Compliant
M2 aaa Not Applicable bbb Compliant xxx Not Applicable
M3 aaa Compliant bbb Non-Compliant xxx Compliant
M4 aaa Unreviewed bbb Unreviewed ccc Unreviewed

Our AA data table now contains the following entries:

Check Pool Value Status
EX-01 Machine: M1 aaa Compliant
EX-01 Machine: M2 aaa Not Applicable
EX-01 Family: Workstations aaa Not Applicable
EX-01 Universal aaa Compliant
EX-02 Machine: M3 bbb Non-Compliant
EX-02 Universal bbb Non-Compliant
EX-03 Machine: M1 ccc Non-Compliant
EX-03 Machine: M2 xxx Not Applicable
EX-03 Machine: M3 xxx Compliant
EX-03 Family: Workstations xxx Not Applicable
EX-03 Universal ccc Non-Compliant
EX-03 Universal xxx Compliant

Note that we now have an AA entry for EX-02, which is normally analyzed with Post-Processing recommendations. Going forward, this AA entry will take priority over PP, assuming the data matches.

Analyzing M4

M4 is in the “Workstations” family

Finally, we will analyze the final machine in our client. M4 is in the Workstations family and will rely on, in order, the machine-specific, family, and Universal datasets. The initial AA request leaves us with this:

EX-01 EX-02 EX-03
Machine Data Status Data Status Data Status
M1 aaa Compliant bbb Compliant ccc Non-Compliant
M2 aaa Not Applicable bbb Compliant xxx Not Applicable
M3 aaa Compliant bbb Non-Compliant xxx Compliant
M4 aaa Not Applicable bbb Non-Compliant ccc Non-Compliant
  • EX-01 was marked Not Applicable because there is a matching family entry, created earlier when we manually analyzed M2. There is also a matching Universal entry, but Family data always takes precedence.
  • EX-02 is marked as Not Compliant because there there is a matching Universal entry and the AA entry overrides the PP recommendation.
  • EX-03 was marked as Non Compliant because there is a matching Universal entry. There’s a family entry for the same check, but the data is different.

Technical Details and Limitations

Xylok does AA based off the text of the result excluding white space. If post-processed data is available it uses that, otherwise it uses the raw results. For commands that have frequently changing values like dates or process IDs, this means AA rarely produces a result. If your organization has check(s) which would benefit from better processing/AA support, please contact support and we can help you get better results in the future.