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 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.
There are three levels or “pools” of automatic analysis data within Xylok:
- Machine
- Family
- 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.
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:
-
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.
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.
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.
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.
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.
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.
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.