Visual Expert: Difference between revisions
Appearance
Content deleted Content added
Edited categories |
Citation bot (talk | contribs) Altered archive-url. URLs might have been anonymized. | Use this bot. Report bugs. | Suggested by Abductive | Category:Desktop database application development tools | #UCB_Category 5/18 |
||
(36 intermediate revisions by 20 users not shown) | |||
Line 1: | Line 1: | ||
{{Infobox software |
{{Infobox software |
||
| name |
| name = VISUAL EXPERT |
||
| logo = |
| logo = |
||
| developer |
| developer = Novalys |
||
| released = 1995 |
| released = 1995 |
||
| latest release version = Visual Expert 2021 <ref>{{cite news |title=Visual Expert 2021 Release News |url=https://www.powerbuilder.eu/powerbuilder-blog/625-code-inspection-tool-powerbuilder-oracle-sql-server}}</ref> |
|||
| programming language |
| programming language = C# |
||
| operating system = Windows |
| operating system = Windows |
||
| language |
| language = English, Japanese, Spanish, French |
||
| genre |
| genre = Code analysis tools |
||
| license = Subscription, Perpetual, Concurrent <ref>{{cite web |url=https://www.visual-expert.com/EN/visual-expert-price.html |website=Visual Expert |title=Visual Expert Pricing}}</ref> |
|||
| license = Proprietary |
|||
| website |
| website = https://www.visual-expert.com/ |
||
}} |
}} |
||
'''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, modernization or optimization. |
|||
= Visual Expert = |
|||
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=|archive-url=|archive-date=|dead-url=|access-date=}}</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|archive-url=|archive-date=|dead-url=|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. |
|||
Visual Expert checks [[source code]] against hundreds of code inspection rules for [[vulnerability assessment]], [[Patch (computing)|bug fix]], and [[Software maintenance|maintenance issues]].<ref>{{Cite web|title=Code Inspection for PB, Oracle & SQL Server|url=https://www.visual-expert.com/EN/visual-expert-blog/posts-2020/code-inspection-tutorial.html|access-date=2021-05-15|website=www.visual-expert.com}}</ref> |
|||
== 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. |
|||
* Code exploration: [[Call graph|call graphs]], [[Create, read, update and delete|CRUD matrix]], [[File comparison|cross-references]], [[Dependency graph|dependency graphs]] <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|archive-url=|archive-date=|dead-url=|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|archive-url=|archive-date=|dead-url=|access-date=}}</ref>. |
|||
* Software documentation: a [[documentation generator]] produces [[Software documentation|technical documentation]] |
* Software documentation: a [[documentation generator]] produces [[Software documentation|technical documentation]] and [[Low-level design|low-level design descriptions]]. |
||
*Inspect the code to detect [[Software bug|bugs]], [[Vulnerability (computing)|security vulnerabilities]] and [[maintainability]] issues. Native integration with [[Jenkins (software)|Jenkins]].<ref>{{Cite web|date=2021-09-21|title=Visual Expert Jenkins Plugin|url=https://www.jenkins.io/doc/pipeline/steps/visualexpert/|website=Jenkins.io}}</ref> |
|||
*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|software metrics]] 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|archive-url=|archive-date=|dead-url=|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. |
|||
⚫ | |||
* [[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]] |
* 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 |
* 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]]. |
||
== History == |
== History == |
||
* 1995- 1998 - Prog and Doc - Initial version distributed on the French market <ref>{{Cite web|url= |
* 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 |
* 2001 - Visual Expert 4.5 |
||
* 2003 - Visual Expert 5<ref>{{Cite web|date=2004-06-16|title=Mise à jour de Visual Expert - version 5.0|url=https://www.programmez.com/actualites/mise-jour-de-visual-expert-version-50-14566|website=Programmez!}}</ref> |
|||
* 2003 - Visual Expert 5 <ref name=":4" /> |
|||
* 2007 - Visual Expert 5.7 |
* 2007 - Visual Expert 5.7<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> |
||
* 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 |
* 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> |
||
* 2015 - Visual Expert 2015 - Server component added to schedule code analyses<ref |
* 2015 - Visual Expert 2015 - Server component added to schedule code analyses<ref>{{Cite web|date=2015-05-10|title=Introduction to Visual Expert 2015|url=http://powerbuilder-world-tour.com/download/NCPBUG-Conference-May-2015-visual-expert.pdf|website=Charlotte PowerBuilder Conference}}</ref><ref>{{Cite web|date=2015-05-15|title=Visual Expert Team System|url=https://www.visual-expert.com/EN/visual-expert-documentation/install-and-configure-visual-expert/collaborative-coding.html|website=Visual Expert}}</ref> |
||
* 2016 - Visual Expert 2016 - Oracle PL/SQL code parser, code inventory (lines of code, number of objects…)<ref>{{Cite web|date=2021-09-21|title=Visual Expert Release History|url=http://www.visual-expert.com/EN/support-question-example-powerbuilder-pl-sql-tsql-stored-procedure/update-list-pb-plsql-t-sql-source_wpve.html|website=Visual Expert}}</ref> |
|||
* 2016 - Visual Expert 2016 - New Oracle PL/SQL code parser<ref name=":2" /> |
|||
* 2017 - Visual Expert 2017 - |
* 2017 - Visual Expert 2017 - SQL Server T-SQL code parser, Code comparison, CRUD matrix<ref>{{Cite web|date=2017-10-01|title=Visual Expert for SQL Server|url=https://dbmstools.com/tools/visual-expert-for-sql-server|website=DBMC tools}}</ref> |
||
*2018 - Visual Expert 2018 - DB Code Performance Analysis, integration with TFS |
|||
*2019 - Visual Expert 2019 - Generation of E/R diagrams from the code |
|||
*2020 - Visual Expert 2020 - Object dependency matrix, naming consistency verification, integration with GIT and SVN |
|||
*2021 - Visual Expert 2021 - Continuous Code Inspection,<ref>{{Cite web|last=Dufourmantelle|first=Christophe|date=2020-11-17|title=Improve the Security and Quality of Your Code|url=https://www.youtube.com/watch?v=D4Q47Hbrb3g|website=Youtube}}</ref> integration with Jenkins |
|||
== References == |
== References == |
||
<!--- See [[Wikipedia:Footnotes]] on how to create references using <ref></ref> tags which will then appear here automatically --> |
|||
{{Reflist}} |
{{Reflist}} |
||
Line 54: | Line 65: | ||
<!--Categories--> |
<!--Categories--> |
||
[[Category: |
[[Category:Programming tools]] |
||
[[Category:Software documentation]] |
[[Category:Software documentation]] |
||
[[Category:Documentation generators]] |
[[Category:Documentation generators]] |
||
Line 62: | Line 73: | ||
[[Category:Oracle database tools]] |
[[Category:Oracle database tools]] |
||
[[Category:Desktop database application development tools]] |
[[Category:Desktop database application development tools]] |
||
[[Category: |
[[Category:Microsoft database software]] |
Latest revision as of 22:58, 13 February 2024
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, modernization 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.[3]
Features
[edit]- Cross-references exploration: Impact Analysis, E/R diagrams, call graphs, CRUD matrix, dependency graphs.
- Software documentation: a documentation generator produces technical documentation and low-level design descriptions.
- Inspect the code to detect bugs, security vulnerabilities and maintainability issues. Native integration with Jenkins.[4]
- 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
[edit]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
[edit]- 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
[edit]- 1995- 1998 - Prog and Doc - Initial version distributed on the French market [5]
- 2001 - Visual Expert 4.5
- 2003 - Visual Expert 5[6]
- 2007 - Visual Expert 5.7[7]
- 2010 - Visual Expert 6.0[8]
- 2015 - Visual Expert 2015 - Server component added to schedule code analyses[9][10]
- 2016 - Visual Expert 2016 - Oracle PL/SQL code parser, code inventory (lines of code, number of objects…)[11]
- 2017 - Visual Expert 2017 - SQL Server T-SQL code parser, Code comparison, CRUD matrix[12]
- 2018 - Visual Expert 2018 - DB Code Performance Analysis, integration with TFS
- 2019 - Visual Expert 2019 - Generation of E/R diagrams from the code
- 2020 - Visual Expert 2020 - Object dependency matrix, naming consistency verification, integration with GIT and SVN
- 2021 - Visual Expert 2021 - Continuous Code Inspection,[13] integration with Jenkins
References
[edit]- ^ "Visual Expert 2021 Release News".
- ^ "Visual Expert Pricing". Visual Expert.
- ^ "Code Inspection for PB, Oracle & SQL Server". www.visual-expert.com. Retrieved 2021-05-15.
- ^ "Visual Expert Jenkins Plugin". Jenkins.io. 2021-09-21.
- ^ "Prog & Doc (french page from Web Archive)". Eurelys. 7 July 1997. Archived from the original on 1997-07-07.
- ^ "Mise à jour de Visual Expert - version 5.0". Programmez!. 2004-06-16.
- ^ Pollach, Chris (April 23, 2007). "Visual expert 5.7 released". Archived from the original on 2014-07-26.
- ^ "Novalys introduces Visual Expert 6.0". DBTA. 23 April 2009.
- ^ "Introduction to Visual Expert 2015" (PDF). Charlotte PowerBuilder Conference. 2015-05-10.
- ^ "Visual Expert Team System". Visual Expert. 2015-05-15.
- ^ "Visual Expert Release History". Visual Expert. 2021-09-21.
- ^ "Visual Expert for SQL Server". DBMC tools. 2017-10-01.
- ^ Dufourmantelle, Christophe (2020-11-17). "Improve the Security and Quality of Your Code". Youtube.