Visual Expert: Difference between revisions
Appearance
Content deleted Content added
m General fixes, removed erroneous space |
Updated "features" and "Usage" based on recent versions of the software. |
||
Line 13: | Line 13: | ||
}} |
}} |
||
'''Visual Expert''' is a [[Static program analysis|static |
'''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 == |
||
* |
* 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 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, |
* 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
Developer(s) | Novalys |
---|---|
Initial release | 1995 |
Stable release | Visual Expert 2021 [1]
|
Written in | C# |
Operating system | Windows |
Available in | English, Japanese, Spanish, French |
Type | Code analysis tools |
License | Subscription, Perpetual, Concurrent [2] |
Website | https://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
- Cross-references exploration: Impact Analysis, E/R diagrams, call graphs, CRUD matrix, dependency graphs.[6][7]
- Software documentation: a documentation generator produces technical documentation[7] and low-level design descriptions.[8]
- Inspect the code to detect bugs, security vulnerabilities and maintainability issues. Native integration with Jenkins.
- Reports on duplicate code, unused objects and methods and naming conventions. Calculates software metrics and source lines of code.
- Code comparison: finds differences between several versions of the same code.
- 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.
Usage
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.
- Static Application Security Testing (SAST): detecting and removing security issues.
- Continuous Integration / Continuous Inspection : adding a static code analysis job in a 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 systems. 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 estimate development efforts.
- Code review: improving the code by finding and removing code smells, dead code, code causing poor performances or violations of coding conventions.
Limitations
- As a static code analyzer, Visual Expert is limited to the programming languages supported by its code parsers - Oracle PL/SQL, SQL Server Transact-SQL, PowerBuilder.
- A preliminary reverse engineering is required. Visual Expert does it automatically, but its duration depends on the size of the code parsed. Users must wait for the parsing completion prior to using the features, or 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 architecture: the code analysis is running on a windows PC - preferably a server. The information extracted from the code is stored in a RDBMS, communicating with a client application installed on the programmer’s computer - no web client is available. This requires that the code, the parsers, the RDBMS and the programmers’ computers are connected to the same LAN or VPN.
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
- ^ "Visual Expert 2021 Release News".
- ^ "Visual Expert Pricing". Visual Expert.
- ^ Dr Kankey, Roland D (19 October 1989). "The challenge of software maintenance costing" (PDF).[dead link ]
- ^ "Essential guide to application modernisation". Computer Weekly.
- ^ "Code Inspection for PB, Oracle & SQL Server". www.visual-expert.com. Retrieved 2021-05-15.
- ^ a b "Visual Expert for PowerBuilder". PowerBuilder Guru. 15 October 2008.
- ^ a b Mikhailovsky, George. "Become familiar with a new application!". www.powerbuildertv.com.
- ^ a b Green, Bill (1 September 2002). "Visual Expert v4.5 Review".[dead link ]
- ^ "Prog & Doc (french page from Web Archive)". Eurelys. 7 July 1997. Archived from the original on 1997-07-07.
- ^ Aumen, Bill (9 May 2005). "Visual Expert In the Real World". www.powerbuildercentral.com.
- ^ Pollach, Chris (April 23, 2007). "Visual expert 5.7 released". Archived from the original on 2014-07-26.
- ^ Armstrong, Bruce (April 27, 2007). "Visual Expert 5.7".
- ^ "Novalys introduces Visual Expert 6.0". DBTA. 23 April 2009.
- ^ a b c Novalys. "Visual Expert Update List". Visual Expert.