NI Labs

cancel
Showing results for 
Search instead for 
Did you mean: 

Welcome to LabVIEW VI Analyzer Upgrade Tests

Changes may be made to LabVIEW between versions that could affect your code when upgrading.  We attempt to document as many of these changes as possible in the LabVIEW Upgrade Notes and in the LabVIEW Known Issues Document.  We have developed VI Analyzer Tests to help you determine if your source code might be affected by any changes in LabVIEW, and since the VI Analyzer engine is now included as core part of LabVIEW, anyone can run these tests.  We recommend all users carefully examine the LabVIEW Upgrade Notes before upgrading LabVIEW.  Some of the tests included are described in the Upgrade Notes, but not every documented issue has a test.  The other tests come from issues that were not reported in the Upgrade Notes.  Most of these tests are documented as Known Issues in the LabVIEW Known Issues document.  We plan to update the tests to include tests for new issues as they are reported (if a test can be written, and if the issue is one that could affect you when upgrading).  For information on how to report new issues see the “Where to go for Help” section below.

The tests can only be run in the latest LabVIEW version, and testing the code requires that the VIs be loaded into the current LabVIEW version.  This means that to use the tests, you must install the latest LabVIEW version, and your VIs will be loaded and compiled for that version.  However, the VIs that you are analyzing are not automatically saved.  If you do not wish to upgrade your VIs at the time you run your tests, do not save the VIs in the current version.  You will still be able to review the issues without saving the VIs. The attachment Included_Tests_08_01_08.zip contains an HTML table listing the tests that are included in this release.

Where to go for help, and how to provide feedback:

Please decide which statement describes your situation best for instructions on how to contact us.

If you are experiencing an issue in LabVIEW that appears to be new to the current version, or has affected your upgrade from a previous version, and the issue is not documented in the LabVIEW Upgrade Notes or the LabVIEW Known Issues document:
  • We want to help you troubleshoot the issue and would like to file any bug reports to our R&D department to fix the issue, and we’d like to consider creating a test for the issue
  • Visit www.ni.com/ask to report the issue to NI through your preferred NI Support system.
  • If a bug report is filed on the issue, ask for the ID number and make sure to make note of that number so that you can easily refer back to the issue by ID number (helpful when talking to other Applications Engineers or for searching the Bug Fixed List/Known Issues Documents)
If you have encountered an issue that is affecting your upgrade that has been reported to NI, documented in the Upgrade Notes, or documented in the Known Issues document, and you would like to request a test be made for the issue:
  • Many issues can only be encountered when specific user-actions are taken that a program cannot predict, we generally cannot write tests for these situations.
  • If you would like to suggest a test be written for an issue, reply back to this thread with the bug ID number that you get from an Applications Engineer when following the step above, we will attempt to create a test for the issue, but cannot guarantee that one can or will be.
If you can successfully run the VI Analyzer Upgrade Tests, and you would like more information on a specific issue for which a test was written:
  • Carefully read over the test failure message and the test description in the VI Analyzer test window.  The last sentence should refer you to one of the documents where more information can be found on the issue.
  • If you have the bug ID for the issue, visit the Known Issues document and find the entry for that ID number.
  • Search the www.ni.com/support technical support resources for more information by using the bug ID number in your search
  • Visit www.ni.com/ask to report the issue to NI through the recommended NI Support system.  Refer to the bug ID in your forum post or in your support conversation.
If you are having problems installing or using the VI Analyzer Upgrade Tests, have feedback on the process of these VI Analyzer Tests, would like to report a problem executing a specific test, or any other general comments on this project:
  • We’d love to hear your comments on this exciting new process for us, and we would love to have the opportunity to help you resolve any issues you may have with using the tests.
  • Please reply to this thread with your questions or comments.  Your feedback is appreciated!
-Travis


Message Edited by Support on 08-01-2008 04:31 PM
Travis M
LabVIEW R&D
National Instruments
0 Kudos
Message 1 of 7
(16,398 Views)

I would like to use VI Analyzer to help me upgrade from LabVIEW 7.0 to 8.6.  I've downloaded and run the upgrade tests on my User.lib folder and identified some property nodes that have changed (deprecated) ; this tool is great!

 

I've also been reading the Upgrade Notes and have found that there are some VIs that have been replaced with native LV functions that are listed as not supported and should be replaced; specifically Open/Create/Replace File.VI should be replaced.

 

A test for VIs that are obsolete or should be replaced per the LabVIEW Help or Upgrade notes would be useful.

 

From Page 25 of LV 8.6 Upgrade Notes:

 In LabVIEW 8.x, the Open/Create/Replace File VI is not on the Functions palette. Use the Open/Create/Replace File function instead.

LabVIEW 8.6 Context Help:

Message Edited by Phillip Brooks on 08-20-2008 10:31 AM

Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
If you don't hate time zones, you're not a real programmer.

"You are what you don't automate"
Inplaceness is synonymous with insidiousness

0 Kudos
Message 2 of 7
(16,275 Views)

I've just finished analyzing my Instr.lib files and have another instance of VI files that are deprecated or changed. The VIs were found by looking for General->VI Properties-> Broken VIs. I needed to drill down and find the problem, which turns out to be that these were removed from the distribution LabVIEW 8.5.

 

  • The Instr Get Attribute VI and Instr Set Attribute VI no longer ship with LabVIEW. If you use either of these VIs in an application, replace them with the Property Node on the VISA Advanced palette for equivalent functionality.

 

Again, this is known and documented in the Upgrade Notes, and a specific test would help me to more effeciently determine the scope of my upgrade efforts.


Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
If you don't hate time zones, you're not a real programmer.

"You are what you don't automate"
Inplaceness is synonymous with insidiousness

0 Kudos
Message 3 of 7
(16,261 Views)

Thanks for the feedback Phillip.  Tests for deprecated VIs along with the properties and methods are defiantly things that we want to include.  Each release we attempt to document the VIs that were deprecated (in the Upgrade Notes as you indicated).  We included Analyzer tests for VIs that were newly deprecated in 8.6 (for example, see the Deprecated Nonlinear System VIs test).  As we move forward, we'll continue to include Upgrade Analyzer tests to look for newly deprecated VIs.  We lucked out a bit as it just so happened that the technology we use to detect deprecated properties/methods made it possible for us to test for any deprecated property/method as opposed to just the newly deprected ones.

 

Hope that clears things up -- thanks again for the feedback, and glad the tests have helped you out!

Travis M
LabVIEW R&D
National Instruments
0 Kudos
Message 4 of 7
(16,257 Views)

If you upgrade a 7.0 VI containing a Read File function that uses a certain combination of inputs, LabVIEW 8.6 replaces this with TWO elements, a Set File Position function and a call to "compatReadText.vi".  This is not a problem per se, BUT the compatReadText.VI icon almost completely covers the Set File position function (2 pixel offset).

 

Its almost as if this was done on purpose to make the code appear the same as it did in 7.0. I can understand why this might have been done, but it doesn't seem to pass good VI coding practice and to me represents a 'code smell'.

 

I only found this because I am carefully scrutinizing hidden wires and making use of the 'Find VI Calls' VI Analyzer Test (that Darren provided here) set to look for files named 'compat'. I don't know if a new test for this represents an Upgrade Test or a good General Purpose test.

   

See images below:

 

 

 

Message Edited by Phillip Brooks on 11-06-2008 09:00 AM

Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
If you don't hate time zones, you're not a real programmer.

"You are what you don't automate"
Inplaceness is synonymous with insidiousness

Message 5 of 7
(15,708 Views)

Hello Philip,

 

Thanks for reporting this to us!  I actually regard this behavior as a bug, and I filed a bug report (ID132760) to have that changed so that it doesn't do that anymore. Hopefully that gets fixed so that people upgrading won't actually experience this anymore.  It is also good to note that this doesn't actually change the run-time behavior of the VI, so your code should continue to function as normal after upgrading.

 

Thanks again!

Travis M
LabVIEW R&D
National Instruments
0 Kudos
Message 6 of 7
(15,652 Views)

Thanks for taking the time to look at this. As I said, it works but just doesn't pass the 'smell' test.

 

It does point out the problem of functions covering up other functions. I originally thought this might be an upgrade analyzer test based on my example above, but I think I would put this in in the same category as controls or functions inside a structure but outside the visible bounds.

 

It is quite easy to place sub-vis directly on top of another by using the align objects functions in the wrong way. The wiring will remain and the code will work, but the code is certainly not readable. You can find these overlapping VIs using the existing capabilities of VI Analyzer by scrutinizing the hidden and overlapping wires, but they are the result of a higher level problem. I would suggest that a VI Analyzer test for overlapping sub-vis and functions be added...


Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T
If you don't hate time zones, you're not a real programmer.

"You are what you don't automate"
Inplaceness is synonymous with insidiousness

Message 7 of 7
(15,635 Views)