The Application Code Scan Utility (ACS)

The ACS tool tests applications to ensure that there will not be monitoring issues such as:

Each rule that ACS tests against is associated with a real problem that can take place when the monitored object does not pass the rule discovery scan. The scan is oriented towards finding signatures considered to be unsafe from a uX compatibility standpoint. If an application passes the tests, then it is likely that none of the problems above will occur and the application will be fully covered by monitoring.

ACS will check applications that are being added for monitoring, and can also be used to re-check monitored applications. If errors are found, users can view a Knowledge Base article which describes the problem, and choose to resolve the issue by applying filters to avoid encountering the issue while monitoring.

The ACS utility is accessible when either adding applications for monitoring or to analyze applications that have already been added:

Adding Applications for Monitoring

  • On the Application Server with the uX compatible Intercept Agent is installed:
  • Right-click the 'Web Applications' node
  • Choose 'Add Web Application' from the menu
  • The list of valid applications that are enabled for monitoring through the Intercept Management console will populate the list of available applications. If the list is long, enter any part of the name of the element to search for in the 'Search for Applications' field (search results will be highlighted   on the fly as you type). Select the application to monitor.
  • Click OK
  • A pop-up message will appear that notifies you that the application has been added for monitoring, and that the Application Code Scan utility will be launched. Please read the Application Code Scan utility section of this manual for more information.

Analyzing Applications

  • In the Application Server with the uX compatible Intercept Agent is installed:
  • Right-click any application in the list
  • Choose 'Analyze' from the menu
  • Click Yes on the confirmation pop-up that warns that the ACS processing may take some time to run.

The "Scan results" view at the top of the window shows the list of rules that were applied to the application. The "Scan results" view generalizes the results for each rule and determines the status for each rule:

For each rule that is applied, a View link is provided for viewing the associated Knowledgebase article that describes the problem that is being scanned for and how to manually correct the issue.

By clicking on any rule in the "Scan results" view, the "Incompatible resources" view at the bottom of the window will be populated with the scan results for that rule. These results provide the exact file and line number where the problem occurred.

If errors are found, they may be resolved by removing from monitoring those specific areas that have issues. Users may do any of the following to resolve issues:

The scan report may also be saved for future analysis in XML format via the Save scan report button.

 

Scan Rules Knowledge Base

Knowledgebase for rule: Client scripting code overrides standard objects/functions

The potential incompatibility issue found: "The Application client code contains override(s) of standard objects/functions"

Description: Overriding standard objects or methods may cause issues with uX compatibility
Severity level: Warning
Critical environments: N/A

Resolution/Mitigation options:

 General: It is highly recommended to review the application code that is considered to be incompatible.
    You have the option to disable uX Monitoring for the application to prevent the unexpected behavior caused by uX Monitoring incompatibility.
    uX Monitoring can be disabled via the Intercept uX Management Console or "Disable Application from uX Monitoring" button in the ACS Utility.
 The Rule Specific: There are 2 options for handling the potential incompatibility associated with this particular Rule.
    To begin with, you can manually apply a check - see option A, or you can resolve the potential issues by choosing option B.
    A. Manually check compatibility: In order to check if a page is compatible or not, please, do the following.
Produce the steps for first 5 .aspx pages considered to be incompatible. If no incompatibility issues has been found in the .aspx files for this rule, try the 5 most popular application pages:
  1. Ensure that uX Monitoring is turned OFF.
  2. Close all instances of Internet Explorer browser.
  3. Open a single instance of Internet Explorer browser (version 7.0 or 8.0).
  4. Select Menu "Tools" -> "Internet Option" -> "Advanced" tab page.
  5. Set browser settings (changes take effect after restarting Internet Explorer):
    1. Enable script debugging.
    2. Enable notifications about every script error.
  6. Navigate to a page, wait for it to load.
  7. Check if errors appeared on the page:
    1. If there are errors, note this fact for the step 12. Typically, if the application fails without uX Monitoring, the exceptions are expected to occur with uX Monitoring applied as well.
    2. If there are no errors, go to step 8.
  8. Close all instances of the Intercept uX Management Console
  9. Turn uX Monitoring Client-Side Tracing ON by doing the following:
    1. Navigate to [drive]\Program Files\AVIcode\Intercept\Agent\[version-number]\Configuration\Standard\CSM.action.config (Please note that on x64 installation, the server agent and its associated configuration files may be found under "Program Files ", while other components will be under "Program Files (x86)"). Open the file for editing.
    2. Set the ss: agentDiagnostics tag attrubutes:
      1. Set enable="true".
      2. Set ip and mask corresponding to the client ip/subnet of the test PC the application pages will be browsed from.
    3. Set ss: appdomains\ss: errorLoggingMode tag attrubutes:
      1. set mode="alert".
    4. Save the changes, close the editor
  10. Launch a single instance of the Intercept uX Management Console, turn uX Monitoring ON (!!! Pay attention to the application filter groups. "Client IP Address Filtering" is expected to be added in order to filter all requests).
  11. Navigate to a page, wait for it to load.
  12. Check that no errors appeared on the page:
    1. Test is PASSED if both/and:
      1. There are no/[the same] errors as were without uX Monitoring.
    2. Test is FAILED if both/and:
      1. There are [any errors]/[more errors than were without uX Monitoring].
      2. uX Client Trace Logging notifies that there were calls of standard functions/constructors:
        1. window.showModalDialog function call.
        2. window.XmlHttpRequest constructor call.
        3. window.ActiveXObject constructor call.
        4. window.alert function call.
        5. window.prompt function call.
        6. window.confirm function call.
          !!! A failed test is a reason for disabling uX Monitoring for the page or even for the whole application. See option B for details.
    B. Disable problem pages from monitoring: Use the "Resolve" link in the "Action" column of the entry (corresponding to the rule in Scan results list) to apply the resolution suggested for this incompatibility type.
    The resolution suggestion is based on the following:
  1. If there are incompatible resources of the following file types:
    1. dll - assembly file
    2. master - MASTER page
    3. ascx - web control
    4. js - JavaScript file
    5. ... - files hold content of the same types but with extensions that differ from those mentioned above
    , the resolution option will be Disabling uX Monitoring for the application, because there is no ability to exclude monitoring only for these particular resources.
  2. If there are 25 or more incompatible resources of the following file types:
    1. aspx - web page
    2. ... - files hold content of the same types but with extensions that differ from those mentioned above
    , the resolution option will be Disabling uX Monitoring for the application, because applying so many filters in uX Monitoring configuration may cause some performance overhead for the monitored application.
  3. Otherwise, the resolution option will be Applying filters in uX Monitoring configuration not to monitor incompatible pages.
Knowledgebase for rule: Web page contains  an ASP.Net Substitution Control definition

The severe incompatibility issue found: "The Application pages contain Asp.Net Substitution Control Defined"

Description: The uX Custom Action uses the Response.Filter property to supply monitoring of server pages. If a web page contains  an ASP.Net Substitution Control definition, changing the Response.Filter property is prohibited, because it causes a corrupted response.
Severity level: Error
Critical environments: IIS 7.0 and higher

Resolution / Mitigation options:

 General: It is highly recommended to review the application code that is considered to be incompatible.
    You have the option to disable uX Monitoring for the application to prevent the unexpected behavior caused by uX Monitoring incompatibility.
    uX Monitoring can be disabled via the Intercept uX Management Console or the "Disable Application from uX Monitoring" button in the ACS Utility.
 The Rule Specific: there are options to disable monitoring for the incompatible pages or disable monitoring for the whole application.
    Use the "Resolve" link in the "Action" column of the entry (corresponding to the rule in Scan results list) to apply the resolution suggested for this incompatibility type.
    The resolution suggestion is based on the following:
  1. If there are incompatible resources of the following file types:
    1. dll - assembly file
    2. master - MASTER page
    3. ascx - web control
    4. ... - files hold content of the same types but with extensions that differ from those mentioned above
    , the resolution option will be Disabling uX Monitoring for the application, because there is no ability to exclude monitoring only for these particular resources.
  2. If there are 25 or more incompatible resources of the following file types:
    1. aspx - web page
    2. ... - files hold content of the same types but with extensions that differ from those mentioned above
    , the resolution option will be Disabling uX Monitoring for the application, because applying so many filters in uX Monitoring configuration may cause some performance overhead for the monitored application.
  3. Otherwise, the resolution option will be Applying filters in uX Monitoring configuration not to monitor incompatible pages.
Knowledgebase for rule: Web page contains charset changing instruction

The potential incompatibility issue found: "Web page contains charset changing instruction"

Description: This meta tag is expected to be the first on the page right after <!Doctype> and <html> tags. In the case of uX monitoring, the tag becomes positioned after the uX injected code, so the page rendering process may become wrong (may slow-down the loading or have other effects).
Severity level: Warning
Critical environments: N/A

Resolution/Mitigation options:

 General: It is highly recommended to review the application code that is considered to be incompatible.
    You have the option to disable uX Monitoring for the application to prevent the unexpected behavior caused by uX Monitoring incompatibility.
    uX Monitoring can be disabled via the Intercept uX Management Console or the "Disable Application from uX Monitoring" button in the ACS Utility.
 The Rule Specific: There are 2 options for managing the potential incompatibility, associated with this particular Rule..
    To begin with, you can apply a manual check - see option A, or you can always resolve the potential issues by choosing option B.
    A. Manually check compatibility: In order to check if page is compatible or not, please do the following.
Produce the steps for first 5 .aspx pages considered to be incompatible. If no incompatibility issues has been found in .aspx files over this rule, try the 5 most popular application pages:
  1. Ensure that uX Monitoring is turned OFF.
  2. Close all instances of Internet Explorer browser.
  3. Open a single instance of Internet Explorer browser (version 7.0 or 8.0).
  4. Select Menu "Tools" -> "Internet Option" -> "Advanced" tab page.
  5. Set browser settings (changes take effect after restarting of Internet Explorer):
    1. Enable script debugging.
    2. Enable notifications about every script error.
  6. Navigate to a page, wait for it to load.
  7. Check if there are errors or a slow-down appeared on page:
    1. If there are errors, note this fact for the step 10. Typically, if the application fails without uX Monitoring, the exceptions are expected to occur with uX Monitoring applied as well.
    2. If there are no errors, go to step 8.
  8. Close all instances of the Intercept uX Management Console
  9. Launch a single instance of the Intercept uX Management Console, turn uX Monitoring ON (!!! Pay attention to application filter groups. "Client IP Address Filtering" is expected to be added in order to filter all requests).
  10. Navigate to a page, wait for it to load.
  11. Check that no errors appeared on the page:
    1. Test is PASSED if both/and:
      1. There are no/[the same] errors as were without uX Monitoring.
    2. Test is FAILED if either/or:
      1. There are [any errors]/[more errors than were without uX Monitoring].
      2. Page rendering slow-down is experienced.
          !!! A failed test is a reason for disabling uX Monitoring for the page or even for the whole application. See option B for details.
    B. Disable problem pages from monitoring: Use the "Resolve" link in the "Action" column of the entry (corresponding to the rule in Scan results list) to apply the resolution suggested for this incompatibility type.
    The resolution suggestion is based on the following:
  1. If there are incompatible resources of the following file types:
    1. master - MASTER page
    2. ... - files hold content of the same types but with extensions that differ from those mentioned above
    , the resolution option will be Disabling uX Monitoring for the application, because there is no ability to exclude monitoring only for these particular resources.
  2. If there are 25 or more incompatible resources of the following file types:
    1. aspx - web page
    2. ... - files hold content of the same types but with extensions that differ from those mentioned above
    , the resolution option will be Disabling uX Monitoring for the application, because applying so many filters in uX Monitoring configuration may cause some performance overhead for the monitored application.
  3. Otherwise, the resolution option will be Applying filters in uX Monitoring configuration not to monitor incompatible pages.
Knowledgebase for rule: Web page contains VBScript code

The severe incompatibility issue found: "Web page contains VBScript code"

Description: uX monitoring code is JavaScript code. There is couple of issues typical for pages with mixed scripting language.
Severity level: Error
Critical environments: Internet Explorer 7.0 and 8.0

Resolution / Mitigation options:

 General: It is highly recommended to review the application code that is considered to be incompatible.
    You have the option to disable uX Monitoring for the application to prevent the unexpected behavior caused by uX Monitoring incompatibility.
    uX Monitoring can be disabled via the Intercept uX Management Console or the "Disable Application from uX Monitoring" button in the ACS Utility.
 The Rule Specific: there are options to disable monitoring for the incompatible pages or disable monitoring for the whole application.
    Use the "Resolve" link in the "Action" column of the entry (corresponding to the rule in Scan results list) to apply the resolution suggested for this incompatibility type.
    The resolution suggestion is based on the following:
  1. If there are incompatible resources of the following file types:
    1. master - MASTER page
    2. ascx - web control
    3. ... - files hold content of the same types but with extensions that differ from those mentioned above
    , the resolution option will be Disabling uX Monitoring for the application, because there is no ability to exclude monitoring only for these particular resources.
  2. If there are 25 or more incompatible resources of the following file types:
    1. aspx - web page
    2. ... - files hold content of the same types but with extensions that differ from those mentioned above
    , the resolution option will be Disabling uX Monitoring for the application, because applying so many filters in uX Monitoring configuration may cause some performance overhead for the monitored application.
  3. Otherwise, the resolution option will be Applying filters in uX Monitoring configuration not to monitor incompatible pages.
Knowledgebase for rule: Web page contains compatibility view changing instruction

The potential incompatibility issue found: "Web page contains compatibility view changing instruction"

Description: This meta tag is expected to be the first on the page right after <!Doctype> and <html> tags. In the case of uX monitoring, the tag becomes positioned after the uX injected code, so the page rendering process may become wrong (may slow-down the loading or have other effects).
Severity level: Warning
Critical environments: N/A

Resolution/Mitigation options:

 General: It is highly recommended to review the application code that is considered to be incompatible.
    You have the option to disable uX Monitoring for the application to prevent the unexpected behavior caused by uX Monitoring incompatibility.
    uX Monitoring can be disabled via the Intercept uX Management Console or the "Disable Application from uX Monitoring" button in the ACS Utility.
 The Rule Specific: There are 2 options for managing the potential incompatibility, associated with this particular Rule..
    To begin with, you can apply a manual check - see option A, or you can always resolve the potential issues by choosing option B.
    A. Manually check compatibility: In order to check if page is compatible or not, please do the following.
Produce the steps for first 5 .aspx pages considered to be incompatible. If no incompatibility issues has been found in .aspx files over this rule, try the 5 most popular application pages:
  1. Ensure that uX Monitoring is turned OFF.
  2. Close all instances of Internet Explorer browser.
  3. Open a single instance of Internet Explorer browser (version 7.0 or 8.0).
  4. Select Menu "Tools" -> "Internet Option" -> "Advanced" tab page.
  5. Set browser settings (changes take effect after restarting of Internet Explorer):
    1. Enable script debugging.
    2. Enable notifications about every script error.
  6. Navigate to a page, wait for it to load.
  7. Check if there are errors or a slow-down appeared on page:
    1. If there are errors, note this fact for the step 10. Typically, if the application fails without uX Monitoring, the exceptions are expected to occur with uX Monitoring applied as well.
    2. If there are no errors, go to step 8.
  8. Close all instances of the Intercept uX Management Console
  9. Launch a single instance of the Intercept uX Management Console, turn uX Monitoring ON (!!! Pay attention to application filter groups. "Client IP Address Filtering" is expected to be added in order to filter all requests).
  10. Navigate to a page, wait for it to load.
  11. Check that no errors appeared on the page:
    1. Test is PASSED if both/and:
      1. There are no/[the same] errors as were without uX Monitoring.
    2. Test is FAILED if either/or:
      1. There are [any errors]/[more errors than were without uX Monitoring].
      2. Page rendering slow-down is experienced.
          !!! A failed test is a reason for disabling uX Monitoring for the page or even for the whole application. See option B for details.
    B. Disable problem pages from monitoring: Use the "Resolve" link in the "Action" column of the entry (corresponding to the rule in Scan results list) to apply the resolution suggested for this incompatibility type.
    The resolution suggestion is based on the following:
  1. If there are incompatible resources of the following file types:
    1. master - MASTER page
    2. ... - files hold content of the same types but with extensions that differ from those mentioned above
    , the resolution option will be Disabling uX Monitoring for the application, because there is no ability to exclude monitoring only for these particular resources.
  2. If there are 25 or more incompatible resources of the following file types:
    1. aspx - web page
    2. ... - files hold content of the same types but with extensions that differ from those mentioned above
    , the resolution option will be Disabling uX Monitoring for the application, because applying so many filters in uX Monitoring configuration may cause some performance overhead for the monitored application.
  3. Otherwise, the resolution option will be Applying filters in uX Monitoring configuration not to monitor incompatible pages.
Knowledgebase for rule : Web page has call(s) of HttpWebResponse.End() method

The potential incompatibility issue found: “Web page has call(s) of HttpWebResponse.End() method”

Description: The uX Custom Action uses the Response.Filter property to supply monitoring of server pages. If user code calls method Response.End(), there could be problems with a correct content of response returned to browser.
Severity level: Warning
Critical environments: N/A

Resolution/Mitigation options:

 General: It is highly recommended to review the application code that is considered to be incompatible.
    You have the option to disable uX Monitoring for the application to prevent the unexpected behavior caused by uX Monitoring incompatibility.
    uX Monitoring can be disabled via the Intercept uX Management Console or the "Disable Application from uX Monitoring" button in the ACS Utility.
 The Rule Specific: There are 2 options for managing the potential incompatibility, associated with this particular Rule..
    To begin with, you can apply a manual check - see option A, or you can always resolve the potential issues by choosing option B.
    A. Manually check compatibility: In order to check if page is compatible or not, please do the following.
Produce the steps for first 5 .aspx pages considered to be incompatible. If no incompatibility issues has been found in .aspx files over this rule, try the 5 most popular application pages:
  1. Ensure that uX Monitoring is turned OFF.
  2. Close all instances of Internet Explorer browser.
  3. Open a single instance of Internet Explorer browser (version 7.0 or 8.0).
  4. Select Menu "Tools" -> "Internet Option" -> "Advanced" tab page.
  5. Set browser settings (changes take effect after restarting of Internet Explorer):
    1. Enable script debugging.
    2. Enable notifications about every script error.
  6. Navigate to a page, wait for it to load.
  7. Check if there are errors or a slow-down appeared on page:
    1. If there are errors, note this fact for the step 10. Typically, if the application fails without uX Monitoring, the exceptions are expected to occur with uX Monitoring applied as well.
    2. If there are no errors, go to step 8.
  8. Close all instances of the Intercept uX Management Console
  9. Launch a single instance of the Intercept uX Management Console, turn uX Monitoring ON (!!! Pay attention to application filter groups. "Client IP Address Filtering" is expected to be added in order to filter all requests).
  10. Navigate to a page, wait for it to load.
  11. Check that no errors appeared on the page:
    1. Test is PASSED if both/and:
      1. There are no/[the same] errors as were without uX Monitoring.
    2. Test is FAILED if either/or:
      1. There are [any errors]/[more errors than were without uX Monitoring].
      2. Page rendering slow-down is experienced.
          !!! A failed test is a reason for disabling uX Monitoring for the page or even for the whole application. See option B for details.
    B. Disable problem pages from monitoring: Use the "Resolve" link in the "Action" column of the entry (corresponding to the rule in Scan results list) to apply the resolution suggested for this incompatibility type.
    The resolution suggestion is based on the following:
  1. If there are incompatible resources of the following file types:
    1. dll - assembly file
    , the resolution option will be Disabling uX Monitoring for the application, because there is no ability to exclude monitoring only for these particular resources.
  2. If there are 25 or more incompatible resources of the following file types:
    1. aspx - web page
    2. ... - files hold content of the same types but with extensions that differ from those mentioned above
    , the resolution option will be Disabling uX Monitoring for the application, because applying so many filters in uX Monitoring configuration may cause some performance overhead for the monitored application.
  3. Otherwise, the resolution option will be Applying filters in uX Monitoring configuration not to monitor incompatible pages.
Knowledgebase for rule: Web page has call(s) of HttpWebResponse.Flush() method

The potential incompatibility issue found: "Web page has call(s) of HttpWebResponse.Flush() method"

Description: The uX Custom Action uses the Response.Filter property to supply monitoring of server pages. If user code calls method Response.Flush(), there could be problems with a correct content of response returned to browser.
Severity level: Warning
Critical environments: N/A

Resolution/Mitigation options:

 General: It is highly recommended to review the application code that is considered to be incompatible.
    You have the option to disable uX Monitoring for the application to prevent the unexpected behavior caused by uX Monitoring incompatibility.
    uX Monitoring can be disabled via the Intercept uX Management Console or the "Disable Application from uX Monitoring" button in the ACS Utility.
 The Rule Specific: There are 2 options for managing the potential incompatibility, associated with this particular Rule..
    To begin with, you can apply a manual check - see option A, or you can always resolve the potential issues by choosing option B.
    A. Manually check compatibility: In order to check if page is compatible or not, please do the following.
Produce the steps for first 5 .aspx pages considered to be incompatible. If no incompatibility issues has been found in .aspx files over this rule, try the 5 most popular application pages:
  1. Ensure that uX Monitoring is turned OFF.
  2. Close all instances of Internet Explorer browser.
  3. Open a single instance of Internet Explorer browser (version 7.0 or 8.0).
  4. Select Menu "Tools" -> "Internet Option" -> "Advanced" tab page.
  5. Set browser settings (changes take effect after restarting of Internet Explorer):
    1. Enable script debugging.
    2. Enable notifications about every script error.
  6. Navigate to a page, wait for it to load.
  7. Check if there are errors or a slow-down appeared on page:
    1. If there are errors, note this fact for the step 10. Typically, if the application fails without uX Monitoring, the exceptions are expected to occur with uX Monitoring applied as well.
    2. If there are no errors, go to step 8.
  8. Close all instances of the Intercept uX Management Console
  9. Launch a single instance of the Intercept uX Management Console, turn uX Monitoring ON (!!! Pay attention to application filter groups. "Client IP Address Filtering" is expected to be added in order to filter all requests).
  10. Navigate to a page, wait for it to load.
  11. Check that no errors appeared on the page:
    1. Test is PASSED if both/and:
      1. There are no/[the same] errors as were without uX Monitoring.
    2. Test is FAILED if either/or:
      1. There are [any errors]/[more errors than were without uX Monitoring].
      2. Page rendering slow-down is experienced.
          !!! A failed test is a reason for disabling uX Monitoring for the page or even for the whole application. See option B for details.
    B. Disable problem pages from monitoring: Use the "Resolve" link in the "Action" column of the entry (corresponding to the rule in Scan results list) to apply the resolution suggested for this incompatibility type.
    The resolution suggestion is based on the following:
  1. If there are incompatible resources of the following file types:
    1. dll - assembly file
    , the resolution option will be Disabling uX Monitoring for the application, because there is no ability to exclude monitoring only for these particular resources.
  2. If there are 25 or more incompatible resources of the following file types:
    1. aspx - web page
    2. ... - files hold content of the same types but with extensions that differ from those mentioned above
    , the resolution option will be Disabling uX Monitoring for the application, because applying so many filters in uX Monitoring configuration may cause some performance overhead for the monitored application.
  3. Otherwise, the resolution option will be Applying filters in uX Monitoring configuration not to monitor incompatible pages.

Last update: Monday, December 13, 2010 10:36:38 AM