Source code customization & Stable release services

From Verific Design Automation FAQ
Jump to: navigation, search

On Verific's system, each of our licensees has a separate code branch. There are mechanisms in place to prevent cross-contamination among code branches, helping to ensure their privacy and security. With this implementation Verific is able to offer two complimentary services to our licensees : Source Code Customization and Stable Release Maintenance.


1. Source Code Customization

A licensee can send in custom code modifications to be merged into their branch maintained by Verific. The customizations will be included in future source code releases so that the licensee will not need to merge them manually each time. Please note the following :

  • The modified code should be complete and compilable on Verific's system.
  • Zip the modified code with the same password used for the monthly code releases.
  • Mention the Verific release version that the modifications are based upon.

The licensee can include testcases that exercise the customized code. These testcases will be added to the regression testsuite of the licensee's code branch.

The best way to initiate this process is for the licensee to file a VIPER issue with Type "Merge Request" and attach the zip file of the code modifications to the VIPER issue. This VIPER issue will be closed (not just "fixed") when the code merge has been completed. The licensee will receive an email notice when the VIPER issue is closed.

Important notes: Verific will maintain the code changes, but the ownership still lies with the customer and issues arising from it, if any, need to be corrected by the customer.


2. Stable Release Maintenance

A Stable release is a physically separate branch of a licensee's code on Verific's system. It is treated as a distinct "customer" branch. There are no connections between a Stable branch and the licensee's normal branch. A Stable branch is usually requested by a licensee when a specific monthly normal branch has been extensively tested and integrated into the licensee's tool and there is a need to maintain this branch of code for a longer period of time than the regular monthly Verific releases. Some notes to keep in mind about the Stable branch :

  • After creation, Stable branch code can only be changed to fix Stable branch VIPER issues. VIPER issues filed for a Stable branch are treated as "customer-specific". In other words, VIPER fixes in a Stable branch don't go into the normal branch and, likewise, VIPER fixes in the normal branch don't go into a Stable branch.
  • To avoid having new issues introduced into a Stable branch, only defect (not enhancement) VIPERs are allowed for a Stable branch.
  • If an issue needs to be fixed in both a Stable branch and in the normal branch, two separate VIPER issues will need to be filed : one for the Stable branch and one for the normal branch.
  • Stable branch code can not be merged into normal branch code.
  • When a Stable branch has served its purpose and is ready to be retired, the licensee should inform Verific about this decision as soon as possible. We will then archive the branch and stop its maintenance, helping to free up our time and resources.