Jump to content

Visual Expert: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
SdkbBot (talk | contribs)
m General fixes, removed erroneous space
Fxrs90 (talk | contribs)
Updated "features" and "Usage" based on recent versions of the software.
Line 13: Line 13:
}}
}}


'''Visual Expert''' is a [[Static program analysis|static program analyzer]], extracting design and technical information from software [[source code]] by [[Reverse engineering|reverse-engineering]], used by programmers for software maintenance,<ref>{{Cite web|url=http://www.dtic.mil/dtic/tr/fulltext/u2/a213470.pdf|title=The challenge of software maintenance costing|last=Dr Kankey|first=Roland D|date=19 October 1989|website=|access-date=}}{{dead link|date=August 2018|bot=medic}}{{cbignore|bot=medic}}</ref> modernization<ref>{{Cite web|url=http://www.computerweekly.com/essentialguide/Essential-guide-to-application-modernisation#guideSection2|title=Essential guide to application modernisation|last=|first=|date=|website=Computer Weekly|access-date=}}</ref> or optimization.
'''Visual Expert''' is a [[Static program analysis|static code analysis tool]], extracting design and technical information from software [[source code]] by [[Reverse engineering|reverse-engineering]], used by programmers for software maintenance,<ref>{{Cite web|url=http://www.dtic.mil/dtic/tr/fulltext/u2/a213470.pdf|title=The challenge of software maintenance costing|last=Dr Kankey|first=Roland D|date=19 October 1989|website=|access-date=}}{{dead link|date=August 2018|bot=medic}}{{cbignore|bot=medic}}</ref> modernization<ref>{{Cite web|url=http://www.computerweekly.com/essentialguide/Essential-guide-to-application-modernisation#guideSection2|title=Essential guide to application modernisation|last=|first=|date=|website=Computer Weekly|access-date=}}</ref> or optimization.


It is designed to [[Parsing|parse]] several programming languages at the same time ([[PL/SQL]], [[Transact-SQL]], [[PowerBuilder]]...) and analyze cross-language dependencies, in addition to each language's source code.
It is designed to [[Parsing|parse]] several programming languages at the same time ([[PL/SQL]], [[Transact-SQL]], [[PowerBuilder]]...) and analyze cross-language dependencies, in addition to each language's source code.
Line 20: Line 20:


== Features ==
== Features ==
* Code exploration: [[call graph]]s, [[Create, read, update and delete|CRUD matrix]], [[File comparison|cross-references]], [[dependency graph]]s.<ref name=":1">{{Cite web|url=http://guru-powerbuilder.blogspot.fr/2008/10/visual-expert-for-powerbuilder.html|title=Visual Expert for PowerBuilder|last=|first=|date=15 October 2008|website=PowerBuilder Guru|access-date=}}</ref><ref name=":3">{{Cite web|url=http://www.powerbuildertv.com/index.php/en/2014-01-09-07-56-51/powerbuilder-product-reviews/719-become-familiar-with-a-new-application-with-visual-expert|title=Become familiar with a new application!|last=Mikhailovsky|first=George|date=|website=www.powerbuildertv.com|access-date=}}</ref>
* Cross-references exploration: [[Change impact analysis|Impact Analysis]], [[Entity–relationship model|E/R diagrams]], [[call graph]]s, [[Create, read, update and delete|CRUD matrix]], [[dependency graph]]s.<ref name=":1">{{Cite web|url=http://guru-powerbuilder.blogspot.fr/2008/10/visual-expert-for-powerbuilder.html|title=Visual Expert for PowerBuilder|last=|first=|date=15 October 2008|website=PowerBuilder Guru|access-date=}}</ref><ref name=":3">{{Cite web|url=http://www.powerbuildertv.com/index.php/en/2014-01-09-07-56-51/powerbuilder-product-reviews/719-become-familiar-with-a-new-application-with-visual-expert|title=Become familiar with a new application!|last=Mikhailovsky|first=George|date=|website=www.powerbuildertv.com|access-date=}}</ref>
* Software documentation: a [[documentation generator]] produces [[Software documentation|technical documentation]]<ref name=":3" /> and [[Low-level design|low-level design descriptions]].<ref name=":0">{{Cite web|url=http://billgreen.sys-con.com/node/42481|title=Visual Expert v4.5 Review|last=Green|first=Bill|date=1 September 2002|website=|access-date=}}{{dead link|date=August 2018|bot=medic}}{{cbignore|bot=medic}}</ref>
* Software documentation: a [[documentation generator]] produces [[Software documentation|technical documentation]]<ref name=":3" /> and [[Low-level design|low-level design descriptions]].<ref name=":0">{{Cite web|url=http://billgreen.sys-con.com/node/42481|title=Visual Expert v4.5 Review|last=Green|first=Bill|date=1 September 2002|website=|access-date=}}{{dead link|date=August 2018|bot=medic}}{{cbignore|bot=medic}}</ref>
*Inspect the code to detect [[Software bug|bugs]], [[Vulnerability (computing)|security vulnerabilities]] and [[maintainability]] issues. Native integration with [[Jenkins (software)|Jenkins]].
*Reports on [[duplicate code]], [[Unreachable code|unused objects and methods]] and [[Naming convention (programming)|naming conventions]]. Calculates [[Software metric|software metrics]] and [[source lines of code]].
* Code comparison: [[File comparison|finds differences]] between several versions of the same code.
* Code comparison: [[File comparison|finds differences]] between several versions of the same code.
*[[Profiling (computer programming)|Performance analysis]]: identifies code parts that slow down the application because of their syntax - it extracts statistics about code execution from the database and combines it with the static analysis of the code.
* [[Automated code review]]: calculates [[software metric]]s and [[source lines of code]].<ref name=":4">{{Cite web|url=http://powerbuildercentral.com/index.php/en/powerbuilder-resources-blog-forum/product-reviews/item/603-visual-expert-product-review|title=Visual Expert In the Real World|last=Aumen|first=Bill|date=9 May 2005|website=www.powerbuildercentral.com|access-date=}}</ref> Finds [[Unreachable code|unused objects and methods]]. Identifies [[Duplicate code|duplicate objects]]. Controls [[Naming convention (programming)|naming conventions]].


== Usage ==
== Usage ==
Visual Expert is used in several contexts:
Visual Expert is used in several contexts:
* [[Change impact analysis]]: evaluating the consequences of a change in the code or in a database. Avoiding negative side effects when evolving a system.
* [[Change impact analysis]]: evaluating the consequences of a change in the code or in a database. Avoiding negative side effects when evolving a system.
*[[Static application security testing|Static Application Security Testing (SAST)]]: detecting and removing security issues.
*[[Continuous integration|Continuous Integration]] / Continuous Inspection : adding a static code analysis job in a [[Continuous delivery|CI/CD workflow]] to automatically verify the quality and security of a new build when it is released.
* [[Program comprehension]]: helping programmers understand and maintain existing code, or modernize [[legacy system]]s. [[Knowledge transfer|Transferring knowledge]] of the code, from one programmer to another.
* [[Program comprehension]]: helping programmers understand and maintain existing code, or modernize [[legacy system]]s. [[Knowledge transfer|Transferring knowledge]] of the code, from one programmer to another.
* [[Software sizing]]: calculating the size of an application, or a piece of code, in order to [[Software development effort estimation#Development estimation software|estimate development efforts]].
* [[Software sizing]]: calculating the size of an application, or a piece of code, in order to [[Software development effort estimation#Development estimation software|estimate development efforts]].
* [[Code review]]: [[Code audit|auditing]] source code, in order to discover issues, such as [[Dead code elimination|dead code]], code causing poor performances or violations of programming conventions.
* [[Code review]]: improving the code by finding and removing [[Code smell|code smells]], [[Dead code elimination|dead code]], code causing poor performances or violations of [[coding conventions]].


== Limitations ==
== Limitations ==
* As a [[Static program analysis|static code analyzer]], Visual Expert is limited to the programming languages supported by its [[Parsing|code parsers]] - [[Oracle Database|Oracle]] [[PL/SQL]], [[Microsoft SQL Server|SQL Server]] [[Transact-SQL]], [[PowerBuilder]].
* As a [[Static program analysis|static code analyzer]], Visual Expert is limited to the programming languages supported by its [[Parsing|code parsers]] - [[Oracle Database|Oracle]] [[PL/SQL]], [[Microsoft SQL Server|SQL Server]] [[Transact-SQL]], [[PowerBuilder]].
* A preliminary [[reverse engineering]] is required, with a duration depending on the [[Software sizing|size of the code]] parsed. Users must wait for the parsing completion prior to using the features, or [[Scheduling (computing)|schedule it]] in advance.
* A preliminary [[reverse engineering]] is required. Visual Expert does it automatically, but its duration depends on the [[Software sizing|size of the code]] parsed. Users must wait for the parsing completion prior to using the features, or [[Scheduling (computing)|schedule it]] in advance. They must also allocate sufficient hardware resources to support their volume of code.
* Visual Expert is based on a [[Client–server model|client/server architecture]]: the code analysis is running on a windows PC - preferably a server. The information extracted from the code is stored in a [[Relational database management system|RDBMS]], communicating with a client application installed on the programmer’s computer - no [[Web application|web client]] is available. This requires that the [[Source code|code]], the [[Parsing|parsers]], the [[Relational database management system|RDBMS]] and the programmers’ computers are connected to the same [[Local area network|LAN]] or [[Virtual private network|VPN]].
* Visual Expert is based on a [[Client–server model|client/server architecture]]: the code analysis is running on a windows PC - preferably a server. The information extracted from the code is stored in a [[Relational database management system|RDBMS]], communicating with a client application installed on the programmer’s computer - no [[Web application|web client]] is available. This requires that the [[Source code|code]], the [[Parsing|parsers]], the [[Relational database management system|RDBMS]] and the programmers’ computers are connected to the same [[Local area network|LAN]] or [[Virtual private network|VPN]].


Line 40: Line 44:
* 1995- 1998 - Prog and Doc - Initial version distributed on the French market <ref>{{Cite web|url=http://www.eurelys.com:80/fr/prog&doc.htm|title=Prog & Doc (french page from Web Archive)|date=7 July 1997|website=Eurelys|archive-url=https://web.archive.org/web/19970707152457/http://www.eurelys.com/fr/prog%26doc.htm#|archive-date=1997-07-07|url-status=dead}}</ref>
* 1995- 1998 - Prog and Doc - Initial version distributed on the French market <ref>{{Cite web|url=http://www.eurelys.com:80/fr/prog&doc.htm|title=Prog & Doc (french page from Web Archive)|date=7 July 1997|website=Eurelys|archive-url=https://web.archive.org/web/19970707152457/http://www.eurelys.com/fr/prog%26doc.htm#|archive-date=1997-07-07|url-status=dead}}</ref>
* 2001 - Visual Expert 4.5<ref name=":0" />
* 2001 - Visual Expert 4.5<ref name=":0" />
* 2003 - Visual Expert 5 <ref name=":4">{{Cite web|last=Aumen|first=Bill|date=9 May 2005|title=Visual Expert In the Real World|url=http://powerbuildercentral.com/index.php/en/powerbuilder-resources-blog-forum/product-reviews/item/603-visual-expert-product-review|access-date=|website=www.powerbuildercentral.com}}</ref>
* 2003 - Visual Expert 5 <ref name=":4" />
* 2007 - Visual Expert 5.7<ref name=":1" /><ref>{{Cite web|url=http://chrispollach.sys-con.com/node/365638|title=Visual expert 5.7 released|last=Pollach|first=Chris|date=April 23, 2007|archive-url=https://web.archive.org/web/20140726045932/http://chrispollach.sys-con.com/node/365638|archive-date=2014-07-26|url-status=dead}}</ref><ref>{{Cite web|url=http://www.brucearmstrong.org/2007/04/visual-expert-57-build-7420.html|title=Visual Expert 5.7|last=Armstrong|first=Bruce|date=April 27, 2007|website=|access-date=}}</ref>
* 2007 - Visual Expert 5.7<ref name=":1" /><ref>{{Cite web|url=http://chrispollach.sys-con.com/node/365638|title=Visual expert 5.7 released|last=Pollach|first=Chris|date=April 23, 2007|archive-url=https://web.archive.org/web/20140726045932/http://chrispollach.sys-con.com/node/365638|archive-date=2014-07-26|url-status=dead}}</ref><ref>{{Cite web|url=http://www.brucearmstrong.org/2007/04/visual-expert-57-build-7420.html|title=Visual Expert 5.7|last=Armstrong|first=Bruce|date=April 27, 2007|website=|access-date=}}</ref>
* 2010 - Visual Expert 6.0<ref>{{Cite web|url=http://www.dbta.com/Editorial/News-Flashes/Novalys-Introduces-Visual-Expert-60-54481.aspx|title=Novalys introduces Visual Expert 6.0|last=|first=|date=23 April 2009|website=DBTA|access-date=}}</ref>
* 2010 - Visual Expert 6.0<ref>{{Cite web|url=http://www.dbta.com/Editorial/News-Flashes/Novalys-Introduces-Visual-Expert-60-54481.aspx|title=Novalys introduces Visual Expert 6.0|last=|first=|date=23 April 2009|website=DBTA|access-date=}}</ref>

Revision as of 13:46, 21 September 2021

VISUAL EXPERT
Developer(s)Novalys
Initial release1995
Stable release
Visual Expert 2021 [1]
Written inC#
Operating systemWindows
Available inEnglish, Japanese, Spanish, French
TypeCode analysis tools
LicenseSubscription, Perpetual, Concurrent [2]
Websitehttps://www.visual-expert.com/

Visual Expert is a static code analysis tool, extracting design and technical information from software source code by reverse-engineering, used by programmers for software maintenance,[3] modernization[4] or optimization.

It is designed to parse several programming languages at the same time (PL/SQL, Transact-SQL, PowerBuilder...) and analyze cross-language dependencies, in addition to each language's source code.

Visual Expert checks source code against hundreds of code inspection rules for vulnerability assessment, bug fix, and maintenance issues.[5]

Features

Usage

Visual Expert is used in several contexts:

Limitations

History

  • 1995- 1998 - Prog and Doc - Initial version distributed on the French market [9]
  • 2001 - Visual Expert 4.5[8]
  • 2003 - Visual Expert 5 [10]
  • 2007 - Visual Expert 5.7[6][11][12]
  • 2010 - Visual Expert 6.0[13]
  • 2015 - Visual Expert 2015 - Server component added to schedule code analyses[14]
  • 2016 - Visual Expert 2016 - New Oracle PL/SQL code parser[14]
  • 2017 - Visual Expert 2017 - Code comparison, CRUD matrix, SQL Server T-SQL code parser[14]

References

  1. ^ "Visual Expert 2021 Release News".
  2. ^ "Visual Expert Pricing". Visual Expert.
  3. ^ Dr Kankey, Roland D (19 October 1989). "The challenge of software maintenance costing" (PDF).[dead link]
  4. ^ "Essential guide to application modernisation". Computer Weekly.
  5. ^ "Code Inspection for PB, Oracle & SQL Server". www.visual-expert.com. Retrieved 2021-05-15.
  6. ^ a b "Visual Expert for PowerBuilder". PowerBuilder Guru. 15 October 2008.
  7. ^ a b Mikhailovsky, George. "Become familiar with a new application!". www.powerbuildertv.com.
  8. ^ a b Green, Bill (1 September 2002). "Visual Expert v4.5 Review".[dead link]
  9. ^ "Prog & Doc (french page from Web Archive)". Eurelys. 7 July 1997. Archived from the original on 1997-07-07.
  10. ^ Aumen, Bill (9 May 2005). "Visual Expert In the Real World". www.powerbuildercentral.com.
  11. ^ Pollach, Chris (April 23, 2007). "Visual expert 5.7 released". Archived from the original on 2014-07-26.
  12. ^ Armstrong, Bruce (April 27, 2007). "Visual Expert 5.7".
  13. ^ "Novalys introduces Visual Expert 6.0". DBTA. 23 April 2009.
  14. ^ a b c Novalys. "Visual Expert Update List". Visual Expert.