AMIQ EDA Introduces Duplicate Code Detection in Its Verissimo SystemVerilog Testbench Linter
June 8, 2015, San Francisco, California — AMIQ EDA, a pioneer in integrated development environments (IDEs) for hardware design and verification and a provider of platform-independent software tools for efficient code development and analysis, today announced new rules in its Verissimo SystemVerilog Testbench Linter. The newly added rules help design and verification engineers identify duplicate code to further increase code quality and reduce maintenance costs.
Verissimo SystemVerilog Testbench Linter is a static code analysis tool that allows engineers to accurately identify improper SystemVerilog syntax, semantics, and code styling, as well as verification methodology violations. Verissimo can be customized to check specific coding guidelines to meet the demands of smaller and larger verification groups alike.
Copy and Paste (C&P) is a common practice in software development. Developers often copy and paste a simple variable, a whole method, an entire class or even entire files, which they may tune afterwards for their particular needs. When several developers work on the same code base, each contributes to the overall C&P volume and to the creation of duplicate code. In addition, because of potentially poor communication and information sharing across teams, similar functionality might be developed independently, further adding to duplicate code.
As the code base expands through the addition of hundreds of classes and lots of different files and functionality, so does code duplication, which leads to code bloat, increases the technical debt, and makes maintenance time consuming and costly. When something breaks, the errors propagate across the multiple copies of the same code. When something needs to be modified, one must remember to update its several copies. Bugs can easily be introduced by incorrect assumptions and design choices when copying in a new context.
Because code duplication is hard to prevent, an automated incremental process that identifies duplicate code can help avoid maintenance costs escalation. The latest version of the Verissimo linter (3.5.12) includes several new rules that help design and verification engineers identify duplicate code. Some of these new rules flag identical regions of code. Other rules detect similar code fragments - for example, they can flag duplicate functions even if variable names have changed.
Once identified, duplicate code should be redesigned in order to improve the code base quality and maintainability. A proper redesign also minimizes future C&P by providing developers with new resources and design patterns, such as utility libraries or enhanced base classes, for example.
AMIQ EDA is exhibiting at DAC 2015, Booth #1419, on June 8 â€“10, 2015, in San Francisco CA and showcasing its products: DVT Eclipse IDE, DVT Debugger Add-On Module, Verissimo SystemVerilog Testbench Linter, and Specador Documentation Generator.
About AMIQ EDA
AMIQ EDA provides design and verification engineers with platform-independent software tools that enable them to increase the speed and quality of new code development, simplify debugging and legacy code maintenance, accelerate language and methodology learning, improve testbench reliability, extract automatically accurate documentation, and implement best coding practices. Its solutions, DVT Eclipse IDE, DVT Debugger Add-On Module, Verissimo SystemVerilog Testbench Linter, and Specador Documentation Generator have been adopted worldwide. AMIQ strives to deliver high quality solutions and customer service responsiveness. For more information about AMIQ EDA and its solutions, visit www.amiq.com and www.dvteclipse.com.