Explanation of Dead-Code Classes
What are Dead Code Classes?
vFunction can automatically detect classes that should be excluded from a domains or the common library, even though there are compile time dependencies from classes in the domain/common library to these classes. These classes are called Dead-Code Classes.
Note that a class may be a Dead-Code Class in one domain but used by other domains, while a dead-code common class (in the common library) is excluded from the entire application / all domains.
A user may decide to mark any pure-static class as dead-code. Dynamic classes cannot be marked as dead-code as actual usage of these classes was sampled by the Agent. All the classes associated to the scope of the domain due to dependencies from a Dead-Code Class will be automatically marked as dead-code too.
A user may verify a class as dead-code, which will mark it for future analysis runs, or unmark a class as dead-code which will prevent the analysis from identifying it as dead-code again.
What is the Minimum Dead-Code Tree Size?
The analysis parameter Minimum Dead-Code Tree Size controls the threshold of the minimum length of the dependencies chain from a dynamic class to a pure static class that would cause marking pure the static class as dead code. The lower the number, the shorter the required length of the chain.
How to Automatically Remove Dead-Code Classes From Domains
If you check Enable Auto Refactoring in the Analysis Parameters dialog, then references to the dead-code classes will be removed from the classes in the domains/common library. The modified classes are called Partial Classes. Partial Classes will be listed with * next to their name in the static classes list as seen in the screen shot below (for example: ProductService* class). The implementation name of partial class have an _vf_ followed by a uuid suffix (e.g., ProductService_vf_17a316a).