Created by James Hurrell, last modified on Sep 02, 2020
1.2.26
Resolved Issues
Customer Ticket Id | Details |
---|
38165 | Fixed false positives for the rule (8104): "Avoid missing release of SQL connection after an effective lifetime (JEE)". |
32928 | Fixed the incorrect resolution of generic methods type. Links will now be updated/resolved to correct symbols. |
32600 | Fixed false violations for rule (7446): "Avoid double checked locking for JSE 4.x and previous version". |
28903 | Documentation updated for rule (7964): "Avoid directly instantiating a Class used as a managed bean". |
40343 | Fixed a crash due to apostrophes used in a project name. |
40780 | Fixed an access violation seen while processing an XML configuration file. |
39753 | Fixed false positives for the rule (8108): "Avoid missing release of stream connection after an effective lifetime". |
40777 | Fixed false positives for the rule (8104): "Avoid missing release of SQL connection after an effective lifetime (JEE)". |
33674 | Fixed false positives for the rule (8104): "Avoid missing release of SQL connection after an effective lifetime (JEE)". |
38101 | Fixed Spring Batch Job objects being invalidly created in JEE. |
40976 | Fixed an access violation seen while processing an XML configuration file. |
33238 | Fixed the cause of syntax warnings for some cases of nested type arguments. |
Link Improvements
Callee Type | Caller Type | Details |
---|
Generic Method Type | Generic Method | Type of generic methods are being resolved. |
Other Updates
Details |
---|
Added support for variable access in try-with-resource. |
Fixed an unknown exception observed in JEE due to a usage of Java Type Parameter. |
Rules
Rule Id | New Rule | Details |
---|
7446 | FALSE | Fixed false violations for rule "Avoid double checked locking for JSE 4.x and previous version" have been fixed. |
7964 | FALSE | Updated the documentation for the rule "Avoid directly instantiating a Class used as a managed bean" with correct scope. |
8108 | FALSE | Removed false violations for the rule: "Avoid missing release of stream connection after an effective lifetime". |
8104 | FALSE | Removed false violations for the rule: "Avoid missing release of SQL connection after an effective lifetime (JEE)". |
1.2.25
Resolved Issues
Customer Ticket Id | Details |
---|
37255 | Fixed an issue that caused unresolved type warnings when Jar files contain .class or .java files. |
37371 | Fixed an access violation seen in some cases of Switch Statements or Expressions. |
39033 | Fixed an exception seen while parsing some Annotation parameters. |
38594 | Fixed an exception encountered while processing some "Type Arguments" in Lambda Expressions. |
38175 | Fixed the incomplete resolution of Lambda parameters. New links will now be created for these resolved symbols. |
33723 | Fixed a false positive for the rule (8108): "Avoid missing release of stream connection after an effective lifetime". |
35133 | Fixed false positive for the rule (8104): "Avoid missing release of SQL connection after an effective lifetime (JEE)". |
35134 | Fixed an issue that caused a missing violation for the rule (8108): "Avoid missing release of stream connection after an effective lifetime". |
37273 | Fixed missing links to overloaded implementation methods. Some incorrect links may be removed by the improved method resolution. |
23991 | Fixed some syntax errors in generated JSP files, which were observed in the Metrics Assistant log. |
29468 | Fixed syntax errors which were observed in the Metrics Assistant log. |
24048 | Fixed the missing links to implementation methods. |
Link Improvements
Callee Type | Caller Type | Details |
---|
Java Parameter | Java Lambda Expression | New links from Lambdas to previously unresolved types may be observed. |
Java Method | Java Method | Missing links to overloaded implementation methods are now created. |
Other Updates
Details |
---|
Fixed multiple exceptions seen while analyzing a CAST application. |
Fixed duplicated internal set definitions used for quality rule scopes. |
This fix enables the separation of the analysis task from the saving task. |
Fixed an access violation seen for a Lambda inferred type. |
Fixed false violation for rule 7728: "Avoid thread creation for application running on application server". |
Fix to use full name for extracted files. |
Fixed duplicated internal set definitions used for quality rule scopes. |
Rules
Rule Id | New Rule | Details |
---|
8108 | FALSE | Fixed cases of false positives and a missing violation for the rule: "Avoid missing release of stream connection after an effective lifetime". |
8104 | FALSE | Fixed false positives for the rule: "Avoid missing release of SQL connection after an effective lifetime (JEE)". Rule name, description, rationale and reference have been updated. Threshold has been increased. |
7442 | FALSE | Rule name has been updated to "Avoid to use keyword 'this' within Constructor in multi-thread environment" (added quote marks around the word "this"). |
7728 | FALSE | Fixed false violations for the rule "Avoid thread creation for application running on application server", caused by the presence of Servlets without EJBs. The documentation on the rule output and total population have also been updated. |
1.2.24
Note
This release also includes the latest bug fixes from JEE 1.3.x
Resolved Issues
Customer Ticket Id | Details |
---|
32789 | Fixed an exception that prevented saving of analysis results. |
36326 | Fixed an issue with exceptions seen during plugin management. |
36132 | Documentation updated for the rule (7254): "Declare as Static all methods not using instance members". |
22202 | Fixed the wrong RelyOn Link from Lambda Expression. |
37448 | Fixed a missing call to method Lamdba. |
32248 | Fixed an issues related to stabilization of results for multiple run. |
32587 | Fixed the missing link from JPA Entity to referenced table. |
32146 | Fixed an issue related to warnings. No warnings should be rasied when there is a relavent jar configurred. |
Other Updates
Details |
---|
TLD files provided by the Environment Profile were incorrectly considered as Internal objects. These have now been marked External. |
Support for "AMT saving - an optimized mode" is added. |
Fixed an invalid link type between JEE objects and SQL synonyms. |
Fixed an exception that prevented saving of analysis results. |
Fixed the false links from Java Lambda Expression. |
Fixed the syntax error. |
Normalized the signature of method for the extensibility. |
Fixed the missing link from JPA Entity to referenced table. |
Rules
Rule Id | New Rule | Details |
---|
7254 | FALSE | Rule Description and References are updated to reflect that Spring Bean methods are excluded for the rule (7254): "Declare as Static all methods not using instance members". |
1.2.23
Note
This release upgrades Log4j inside JEE's Environment Profile to version 2.17.1
Resolved Issues
Customer Ticket Id | Details |
---|
33165 | Fixed an unknown exception due to an issue with the stacking context. |
34548 | Fixed an exception encountered while processing JSP files with circular includes. |
31527 | Fixed syntax errors seen in cases of annotations used within Fully Qualified Names and Method Headers. |
33533 | Fixed the cause of the unexpected warning. No impact on the analysis results due to the warning. |
30690 | Fixed false positives for the Quality Rule "Avoid using incompatible mutation". |
Other Updates
Details |
---|
The version of Log4j used in the JEE Environment Profile has been updated to 2.17.1. |
Fixed an issue with some Deprecated APIs from the Environment Profile for Java not being correctly marked. The issue occurred only where methods had the Deprecated annotation along with additional parameters like 'since' or 'forRemoval'. There may be additional violations seen for rules affected by the use of this annotation. |
A fix is provided which enables the separation of the analysis task from the saving task. |
Rules
Rule Id | New Rule | Details |
---|
7254 | FALSE | Fixed false positives on Lombok UtilityClass annotated classes, and, methods with the Bean annotation for the rule "Declare as Static all methods not using instance members". The rule has now been moved to the JEE Analyzer. In some cases, previously missing violations may be added. |
8216 | FALSE | Fixed false positives for the Quality Rule "Avoid using incompatible mutation" |
8220 | FALSE | Due to a fix done for methods marked with the Deprecated annotation and having parameters like 'since' or 'forRemoval', more violations may be seen for the rule "Avoid using deprecated method, constructor, field, type or package" |
1.2.22
Resolved Issues
Customer Ticket Id | Details |
---|
31774 | Fixed exception preventing Java code from being analyzed |
32641 | Fixed false positives for the QR "Avoid testing floating point numbers for equality" |
32602 | Fixed an issue with Extensions being registered but not being found |
Other Updates
Details |
---|
Fixed a syntax error seen while parsing XHTML files. |
Fixed syntax issues seen while parsing JSP files. |
Fixed an invalid link created between static methods that caused random violations for the QRs: "Avoid unreferenced Methods" and "Avoid declaring throwing an exception and not throwing it". |
Fixed an migration procedure, returning null values in non-JEE analysis. |
Rules
Rule Id | New Rule | Details |
---|
8096 | FALSE | Fixed false positives for the QR: "Avoid testing floating point numbers for equality". |
1.2.21
Resolved Issues
Customer Ticket Id | Details |
---|
24367 | Fixed false positives for the QR: "Avoid missing release of stream connection after an effective lifetime". |
31296 | A fix was made for an exception encountered while parsing a thrown exception. |
24386 | Fixed false violations for the rule: "Avoid missing release of stream connection after an effective lifetime". |
25160 | Fixed a JEE052 syntax issue observed while parsing some quoted strings in JSP. |
28463 | Fixed false positives for the rule: "Close database resources ASAP". |
29188 | Fixed false positives for the rule: "Avoid thread creation for application running on application server". |
30768 | Fixed false positives for the rule: "All types of a serializable Class must be serializable". |
30927 | Fixed an exception that occurred due to incorrectly initialized Type Arguments. |
25160 | Fixed a JEE052 syntax issue observed while parsing some standard actions in JSP. |
26445 | Fixed a lexer error that caused a syntax warning in Metric Assistant. |
27108 | Fixed many false positives on private methods for the Quality Rules: 4670, 4672 and 4674. |
30075 | Fixed unexpected added and deleted J2EE XML objects during analyses of the same code base. |
23305 | Fixed false positives for the rule: "Close database resources ASAP". |
Other Updates
Details |
---|
This fix stabilizes the order of XML files processed in the Analyzer. After this release, the unexpected addition and removal of some XML files even with the same code base would no longer occur. |
Rules
Rule Id | New Rule | Details |
---|
4670 | FALSE | Removed false violations on private methods for Quality Rule: "Public Methods must have JavaDoc comments". |
7728 | FALSE | Removed false positives on non-EJB applications for the Rule: "Avoid thread creation for application running on application server". Scope has been reduced to consider only possible EJB applications. |
4672 | FALSE | Removed false violations on private methods for Quality Rule: "Public Methods must have appropriate JavaDoc @param tags". |
4674 | FALSE | Removed false violations on private methods for Quality Rule: "Public Methods must have appropriate JavaDoc @return tags". |
8108 | FALSE | Removed false positives for the rule: "Avoid missing release of stream connection after an effective lifetime". |
7650 | FALSE | Removed false positives for the rule: "All types of a serializable Class must be serializable". |
8104 | FALSE | Removed false positives for the rule: "Close database resources ASAP". |
1.2.20
Resolved Issues
Customer Ticket Id | Details |
---|
28504 | Fixed a crash observed during processing of some Type Arguments |
29464 | Fixed a crash due to a missing reference |
28256 | Fixed false positives for the QR "Avoid directly instantiating a Class used as a managed bean" |
30398 | Fixed issues with unstable links to getters/setters of Spring Beans |
18974 | Fixed an incorrect Java syntax warning seen for an escape character |
27811 | Fixed false positives for the QR "Persistent classes should Implement hashCode() and equals()" |
28567 | Fixed to add the missing position information for Entity Properties |
24838 | Updated rule remediation and violation samples for QR "Avoid directly instantiating a Class used as a managed bean" |
Link Improvements
Callee Type | Caller Type | Details |
---|
Setter or Constructor of a Spring Bean | Spring Bean | The Call Links to Spring Bean setters and Constructors is stabilized in this release. Before this fix, getters were sometimes the callees in these Call Links. |
Other Updates
Details |
---|
The extraction of Java files having long paths relative to the LISA/LTSA folder paths was fixed |
The extraction of XML files with long relative paths was stabilized in this release |
The GUID duplicate warnings for some Java Generic Methods were fixed. |
Rules
Rule Id | New Rule | Details |
---|
7964 | FALSE | Fixed false positives and violations having incorrect bookmarks for the Quality Rule "Avoid directly instantiating a Class used as a managed bean". Also updated the violation and remediation samples in the rule documentation |
7504 | FALSE | Removed false violations for the Quality Rule "Persistent classes should Implement hashCode() and equals()" |
7488 | FALSE | For the Quality Rule "Use lazy fetching for collection", fixed incorrect bookmarks for Entities whose source was not being displayed correctly in the Dashboard |
1.2.19
Resolved Issues
Customer Ticket Id | Details |
---|
19338 | Fixed missing link between Java Method & JPA Entity |
24032 | Fixed missing useSelect links from getters to JPA entities |
25973 | Fixed a false violation for "Avoid missing release of stream connection after an effective lifetime" |
26826 | Fixed GUID duplicate found warning for WSDL files when they are shared between different projects. The Discoverer creates duplicate sources (now considered shared) for Multi-Module (hierarchy) projects |
26771 | Fixed issues with shared source code between projects. The Discoverer duplicates projects (One project with .project and pom.xml description) considered shared |
16516 | Fixed issue with external tag libraries analysis that caused MA warnings |
28904 | Fixed scope for rule 'Ensure to override both equals() and hashCode()' |
20947 | Fixed syntax warnings in the case of inter dependencies between Analysis Units when some are JDK 1.4 and the others are newer |
26195 | Fixed false positives for rule "Avoid using '==' and '!=' to compare objects" |
Link Improvements
Callee Type | Caller Type | Details |
---|
JPA Entity | Java Method | useSelect links are now created for getters to JPA entities |
Other Updates
Details |
---|
The resolution mechanism has been made more stable for classes when multiple matches are found in source classpaths or dependency source classpaths. |
When WSDL files are shared between projects, GUID duplicate warnings were being generated for them. Now, JEE recognizes and handles these cases without warnings. |
Rules
Rule Id | New Rule | Details |
---|
7434 | FALSE | Fixed scope to include classes that override equals/hashcode instead of all classes |
7202 | FALSE | Fixed false positives in some cases that compare primitive types |
1.2.18
Resolved Issues
Customer Ticket Id | Details |
---|
20361 | Fix for error 'Could not open the main CAST Script file' during Java Analysis. |
22781 | Fix for the missing links between JPA Named Query & method/field because of incorrect naming of the JPA Named Queries when a field was used for the name parameter in @NamedQuery annotation. Expected increase in Use links and replacement of JPA Named query objects. |
27582 | Fix for performance of snapshot computation for certain applications. |
Link Improvements
Callee Type | Caller Type | Details |
---|
Java Method | JPA Named Query | Fixed missing 'Use' links. |
Java Field | JPA Named Query | Fixed missing 'Use' links. |
Other Updates
Details |
---|
Fix prevents syntax warnings when an Analysis Unit uses a class from a jar compiled with older JDK ( i.e. JDK 4 ). |
Rules
Rule Id | New Rule | Details |
---|
8102 | FALSE | Updated the wording from "hardcoded" to "hard-coded" for the rule 'Avoid hard-coded network resource names (JEE)'. |
1.2.17
Resolved Issues
Customer Ticket Id | Details |
---|
27111 | Improvement of the fix JFAMILY-1954 |
25438 | False positives for the rule: "Avoid classes overriding only equals() or only hashCode() |
19741 | False positives for the rule: Avoid calls between JSP Pages |
22518 | Java files that are not analyzed due to syntax error are skipped |
26855 | Fixed an Unknown Exception |
23086 | JAVA045 unable to read file |
26181 | CASTIL files containing special characters are not generated |
26744 | Fixed the access violation during analysis |
Link Improvements
Callee Type | Caller Type | Details |
---|
Class Field associated to bean property, Getters and Setters | Spring Bean property | Added missing relyonLinks between the Spring Bean inherited property and its associated class methods and field |
Spring Bean configuration file | Spring Bean configuration file | Improved includeLinks between Spring Bean configuration files |
Other Updates
Details |
---|
Missing links between Spring Beans and class methods |
Missing Spring objects and false includeLinks have been corrected in Spring XML configuration |
Rules
Rule Id | New Rule | Details |
---|
4700 | FALSE | Deactivated the QR: Avoid using 'Throwable.printStackTrace()' within a try catch block |
7388 | FALSE | False violation removed for the QR: "Avoid artifacts having recursive call" violating XML file as object which is neither source object nor having recursive call |
7434 | FALSE | False positives removed for the QR: "Avoid classes overriding only equals() or only hashCode() |
1.2.16
Note
JEE 1.2.16 has dependency on CAST AIP Internal Extension 0.9.0 LTS (the installation of internal platform 0.9.0 will be automatic).
Resolved Issues
Customer Ticket Id | Details |
---|
17102 | Fix for GUID issue with objects from environment profile vs classpath. See also 22290 |
21953 | Fix for GUID changing between snapshots due to random jar usage. See also 22290 |
22290 | Fix for GUID changing between snapshots for AUs with mixed Java versions |
22290 | Method GUID has been updated to use Short Names instead of Fully Qualified Names in parameters |
Other Updates
Details |
---|
GUID implementation now uses Short Names instead of Fully Qualified Names for Method Parameters |
1.2.15
Resolved Issues
Customer Ticket Id | Details |
---|
16953 | Fix for added/deleted JPA entity objects that were causing modified AEP due to an unstable link |
25984 | Performance improved for JEE analysis which appeared stuck during the creation of Hibernate 4.3.6 annotation objects |
26002 | Improved performance of JEE analysis during resolution of Generic Type Parameters |
20065 | Fixed missing UseDelete, UseInsert and UseSelect link between Java Methods and JPA Entities |
21598 | Scope and its description have been updated for rule 4610 : Avoid using anonymous Classes |
22967 | False positives fixed for rule : Avoid hardcoded network resource names (JEE) |
26202 | False positives for Rule "Check usage of '==' and '!=' on objects" has been fixed |
Link Improvements
Callee Type | Caller Type | Details |
---|
JPA Entity | Java Method | Missing 'Use Insert', 'Use Delete' and 'Use Select' links has been fixed. An increment in these types of links might be expected. |
Other Updates
Details |
---|
The warning Unclosed comment (EOF found while searching for '–%>') has been removed from the JEE analysis |
Syntax warning observed for '{' embedded in a quoted string during JSP file parsing has been fixed |
Rules
Rule Id | New Rule | Details |
---|
4610 | FALSE | Scope and its description have been updated for the rule: Avoid using anonymous Classes |
8102 | FALSE | Fixed false positives and improved bookmarks for the rule: Avoid hardcoded network resource names (JEE) |
7202 | FALSE | False positives for Rule "Check usage of '==' and '!=' on objects" has been removed |
1.2.14
Resolved Issues
Customer Ticket Id | Details |
---|
24663 | Fix for invalid parsing errors due to presence of attributes without values in nodes in a JSP file. The change may result in more JSP objects along with links associated with them. |
25724 | Fix for an event invocation for extensions depending on JEE. The fix may result in more configuration file objects and links associated to them. |
1.2.13
Note
JEE Analyzer 1.2.13 is now in LTS (Long Term Support).
Resolved Issues
Customer Ticket Id | Details |
---|
17296 | False positives for "Avoid directly instantiating a Class used as a managed bean" fixed. |
19373 | False positives for rule "All types of a serializable Class must be serializable" fixed |
24508 | Missing violations for the rule "Avoid testing floating point numbers for equality" fixed |
25038 | Support for @PersistenceContext annotation for rule "Provide accessors to Private Fields" |
23232 | Missing link from Java Method to Stored Procedure objects when called using full name fixed |
Link Improvements
Callee Type | Caller Type | Details |
---|
Java Annotation Type | Java Interface | Missing INHERIT links from Java Annotation Type to java.lang.annotation.Annotation abstract Java Interface are fixed |
Java Method | Stored Procedure | Missing RELYON links from Java Method to Stored Procedure objects when called using full name fixed |
Java Method | Java Lambda Expression | Some bad ACCESS-EXEC links between Java methods and lambdas have been removed |
Rules
Rule Id | New Rule | Details |
---|
4602 | FALSE | False violation in case where an inner class access a field from the base class of an outer class is fixed |
7964 | FALSE | False positives for "Avoid directly instantiating a Class used as a managed bean" fixed. |
7650 | FALSE | False positives for rule "All types of a serializable Class must be serializable" fixed |
8096 | FALSE | Missing violations for the rule "Avoid testing floating point numbers for equality" fixed |
4576 | FALSE | Support for @PersistenceContext annotation for rule "Provide accessors to Private Fields" |
1.2.12-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|
20318 | Same objects are identified as entry and end points |
23908 | Fixed false positives for the QR "Avoid unsecured EJB remote method" |
19594 | Fixed false Positive in rule "Provide Accessors to Private Fields" due to @Inject annotations. |
24502 | Improved Performance - Improved performance for QR "Avoid using Fields (non static final) from other Classes". Also, fixed some missing violations. |
24177 | Improved stability - fixed analyzer crash due to illegal memory access. |
24401 | Improved Stability - Fix for JEE analysis failing with the error: jeecmd.xml"' exited with code -1073740791”. |
24758 | Improved Stability - Fix for JEE analysis jeecmd.exe process crash. |
23080 | Improved Performance - Analysis run time improved compared to 1.2.8-funcrel. |
23801 | Improved stability - Fixed exception access violation while parsing the spring bean with empty <value> node. |
24077 | Fixed false Positive in rule "Provide Accessors to Private Fields" due to @Autowired annotations. |
24199 | Improved Stability - Fix for JEE analysis failing with the error: jeecmd.xml"' exited with code -1073740791”. |
20351 | Sample and Remediation added for QR 'Avoid using fields (non static final) from other classes'. |
22621 | Remove duplicate XML group |
23488 | An issue with inheritance information for generic classes was fixed. Links from Java Method to Implementation method are more stable. |
Link Improvements
Callee Type | Caller Type | Details |
---|
Java Method | Java Class | Added bookmark links(ACCESS Read) between Java Method to Java Class |
Other Updates
Details |
---|
Added bookmark links(ACCESS Read) between Java Method to Java Class |
Fixed decompilation issure which caused some valid interface objects and links to be removed. |
Improved Logs - Fix for missing information messages for parsing Java files during the analysis. |
Fixed a regression in Access Exec Links. This fix may result in some GUID changes which will show up as added/removed objects. |
Improved Stability - Fix for JEE analysis failing with the error: jeecmd.xml"' exited with code -1073740791”. |
Some missing links between JSP Bean Property and JSP added. |
Rules
Rule Id | New Rule | Details |
---|
4602 | FALSE | Avoid using Fields (non static final) from other Classes |
8016 | FALSE | Avoid unsecured EJB remote method |
4576 | TRUE | Provide Accessors to Private Fields - The rule is moved to JEE. Added support for @Inject, @Autowired and @Resource. Fixed false violations due to the presence of anonymous classes. |
7202 | FALSE | Missing violations fixed for QR `Check usage of '==' and '!=' on objects` |
Transaction Improvements
Type | Framework |
---|
Removed TCC End Point "Standard End Point - Java - Thread" | Java |
Removed `java.lang.Process%` from the Generic Set "Standard Entry Point - Java - thread (GS)". This change may reduce the number of entry points and transactions | Java |
1.2.11-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|
23338 | Violation for the rule - Avoid using Fields (non static final) from other Classes. |
21494 | Warning: JAVA151: unable to decompile class file causes deleted javax.servlet.Servlet object |
20309 | Issue in Java analysis failed with warning: Exception: EXCEPTION_ACCESS_VIOLATION |
23150 | Wrong link created from Java Lambda expression to Java abstract method. The number of links may decrease. See Link Improvement on links between Java Lambdas and Abstract Methods. |
21620 | Link from Java instantiated Method to Java Method is missing The number of links may increase. See Link Improvements. |
22368 | Error in JEE Analysis - The process jee.1.2.7-funcrel\jeecmd.exe \jeecmd.xml exited with code - 1073740940 |
Link Improvements
Callee Type | Caller Type | Details |
---|
Java Lambdas | Java Objects | For Java Lambdas within Lambdas, updates have been made to create missing links for objects in such expressions. This may increase the total number of links. |
Java Lambdas | Abstract Methods | For links between Java Lambdas and Abstract Methods: lambda resolution has been improved preventing incorrect links between lambdas and abstract methods. The number of such links may decrease. |
Other Updates
Details |
---|
Fixed exceptions due to the errors encountered during Jar decompilation. |
Redundant locked instances, which use to block the analysis, are no longer created |
Improved Analyzer's string processing. |
Fixed bad requests to AMT for the QR "Avoid unused import" in JSP file. |
Job execution JEE055: 'jsp:param action', 'value attribute': empty value is illegal: The message now displays the line and column number of the tag in the JSP file currently being analyzed, and, asks to set a value. |
Time taken by various steps during analysis is now displayed in the Analyzer log. |
The Analyzer will generate a summary of few log messages, this helps to see the list of unresolved symbols, missing source files and missing classpaths, during an analysis. |
Rules
Rule Id | New Rule | Details |
---|
4602 | FALSE | Avoid using Fields (non static final) from other Classes: The rule has been moved to the Analyzer. False violations for the usage of fields from external classes have been fixed and violations now have more accurate bookmarks. |
7220 | FALSE | Rule "Avoid unused imports": The performance of this rule has been improved in the case of JSP files. |
Summary |
---|
Improved Inference Engine performance for Struts2 |
1.2.10-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|
22421 | JEE analysis Log Exception warning during Inference engine resolution |
22556 | Missing links to implementation methods using @Autowire causing deleted Transactional Functions |
22446 | Missing link to java classes from .jsp or .jspf files |
21388 | Warning: Job execution JEE052: Syntax not recognized: \n/* |
19652 | No java files analyzed due to error message during analysis by enabling debug mode |
22107 | Missing link from calling java method to implementation methods (interface programming) |
21688 | LOMBOK support issue : False positive for the rule "All types of a serializable Class must be serializable" rule |
21370 | False violations triggered post upgrade for rule - Persistent classes should Implement hashCode() and equals() |
21592 | Incorrect violations are populating for the QR Avoid unused Imports The false violations have been fixed in this release. |
Link Improvements
Callee Type | Caller Type | Details |
---|
Java Method | implementation Java Method | Link improvements Missing links from calling Java Method to implementation Java Method have been fixed. |
Other Updates
Details |
---|
J2EE part - Environment profile is not retained post upgrade to HF08 from HF05: Environment profile is now retained for AIP 8.3.19 and newer. |
Rules
Rule Id | New Rule | Details |
---|
7912 | FALSE | Rule Avoid un-referenced Data Members: The rule now counts member references if lombok annotations Getter, Setter or Data are used. False positives due to lombok annotations have been fixed |
4572 | FALSE | Rule 'Avoid declaring Final Instance Variables that are not dynamically initialized': Rule implementation considers final instance variables as initialized if lombok annotations Data or RequiredArgsConstructor are used. False positives due to lombok have been reduced. |
7504 | FALSE | Rule "Persistent classes should Implement hashCode() and equals()": False positives due to super class implementation of equals() or hashCode(), with or without lombok annotations Data or EqualsAndHashCode, have been fixed. |
4576 | FALSE | Rule "Provide accessors to Private Fields" : The rule has been moved to JEE Analyzer and now takes into account lombok annotations Getter, Setter and Data. The number of false positives has been reduced. |
7910 | FALSE | Rule "Never exit a finally block with a return, break, continue, or throw": A false positive for this rule has been fixed. |
7220 | FALSE | Rule "Avoid Unused Imports": False positives for this rule have been fixed. |
8108 | FALSE | Rule "Avoid missing release of stream connection after an effective lifetime": A false positive for this rule has been fixed. |
New Support
Summary | Details |
---|
Updates Lombok annotation support | Upgrade Annotations from Lombok v1.18.12 are now resolved by JEE Analyzer. Improved the support of Lombok annotations for few Quality Rules and the same will continue for more Quality Rules in future releases. |
1.2.9-funcrel
Note
JEE 1.2.9-funcrel has been withdrawn and replaced by JEE 1.2.10-funcrel.
1.2.8-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|
19535 | Java044: Syntax not recognized warnings coming from jar files due to incorrect decompilation |
21642 | Violation deleted in current run for rule - Avoid improper processing of the execution status of data handling operations |
21886 | Java analysis crashed with warning: Log the exception information |
19251 | Java analysis failed with warning Database BCP operation dbbcp_done failed on table castapp_local.IN_LINKS |
20376 | Call link should be implemented in entry point "%Java-thread" |
19937 | Wrong Use Links between JPA Entities No more 'use' links between JPA/HIB entities, better bookmarks for violations related to QR ID 7492 and most, if not all, transactions will appear to be modified. |
13425 | Inference Engine crash during JEE analysis leads to missing links |
Link Improvements
Callee Type | Caller Type | Details |
---|
Class files | Java source | Incorrect links between objects from Java source vs Class files are fixed. |
JAVA artifacts | Lombok annotations | A regression that caused missing links to Lombok annotations is fixed. |
JPA/HIB entities | JPA/HIB entities | In previous releases, 'Use' links existed between JPA/HIB entities based on the usage of one entity inside the other. These links were generated only for the following QR: 'Avoid Hibernate and JPA Entities using many-to-many association', which polluted the transactions. To improve the transactions, these links are now removed and the QR is rewritten. This update results in better bookmarks for the violations related to the aforementioned QR. Most of the transactions will appear as modified, due to the huge impact of the update. |
Other Updates
Details |
---|
Remove BOM of generated JSP java files: The Byte Order Mark ( BOM ) from the files generated from JSP files is optional, hence removed. Syntax error warnings from JDT, due to BOM is no longer emitted. |
Rules
Rule Id | New Rule | Details |
---|
8112 | FALSE | Rule "Avoid improper processing of the execution status of data handling operations": Missing violations for java.sql.PreparedStatement is now displayed when a snapshot is taken. |
8110 | FALSE | Rule "Use dedicated stored procedures when multiple data accesses are needed (ASCPEM-PRF-10)": False positives for this rule have been fixed. |
7492 | FALSE | Rule "Avoid Hibernate and JPA Entities using many-to-many association" : Name of the rule has been changed from "Avoid many-to-many association" to "Avoid Hibernate and JPA Entities using many-to-many association". The bookmarks for the violations of this QR is also improved. The documentation has also been updated and the rule has been recoded. |
7220 | FALSE | Rule "Avoid Unused Imports": A regression in the creation of links to Lombok annotations was fixed. False positives as a result of this were fixed. |
New Support
Summary | Details |
---|
Java 12 and Java 13 Support | The changes introduced with Java 12 and Java 13 can be broadly categorized into two parts, from the analyzer's perspective. API changes: The changes in the API of the classes shipped with the runtime of Java 12 and Java 13. These changes are added in the current release to create objects and links to them. Language Features: All the language features introduced in Java 12 and Java 13 (pattern matching in switch expressions and text block) are preview features (which means, during the standardization of these features, they might be changed or even removed in future Java versions). The current release of the analyzer (1.2.8-funcrel) does not support the language features of Java 12 and Java 13. |
Summary |
---|
Stability and Performance Improvements: The exception safety of the analyzer is improved. Performance of JSP analysis parts is improved Performance of Java analysis with imports and type parameters is improved. |
1.2.7-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|
19889 | JFAMILY-1533 from 1.0.x to 1.2.x -False positive for QR- Collection must be the same between getter and setter |
17510 | Permanent Fix: Java analyzer creating false violation in Dashboard "Close the outermost stream ASAP" |
20074 | Violation for rule "Close the outermost stream ASAP was detected in previous analysis but not in current analysis |
19803 | False Positives for "Close database resources ASAP" |
17842 | Missing links between Java Methods |
18056 | Permanent Fix - Can't find links between java methods |
16612 | Missing link between java methods in the same analysis unit |
18968 | Wrong link is created from Java method to JPA entity property though there is no call in source |
18934 | Wrong link is created from Java method to JPA entity property though there is no call in source |
16186 | Missing link from Controller to service class method |
15926 | Java devirtualization: Missing links from caller to the right implementation methods, one false link to a wrong implementation method |
20838 | Java analysis crashed with the warning: "Log the exception information" |
20292 | Java analysis failed - Log the exception information: Unknown Exception... |
20239 | Java analysis is failing with warning Exception: EXCEPTION_ACCESS_VIOLATION |
20292 | Java analysis failed - Log the exception information: Unknown Exception... |
20239 | Java analysis is failing with warning Exception: EXCEPTION_ACCESS_VIOLATION |
19417 | Warning: Log exception information : Causing 99% of the code unanalyzed |
20186 | Java analysis failed with warning : Log the exception information: Exception: EXCEPTION_ACCESS_VIOLATION |
20001 | Java analysis crash with warning: Log the exception information: Unknown Exception... |
19226 | Analysis crashes with the message Log the exception information: Exception: EXCEPTION_ACCESS_VIOLATION |
Link Improvements
Callee Type | Caller Type | Details |
---|
Java methods | Java methods | Fixed missing Access exec links between java methods due to generated Lombok methods using @Getter annotation. Fixed some incorrect FIRE links when there is no inheritance between the abstract method and the implementation method. Fixed some incorrect USE links from Java methods to JPA entity properties. Changed direction of RELY ON link between JPA Entity and Java Field objects. |
Java Methods | Java Methods | Updated resolution for links to unresolved methods: Before this release, when creating links between methods, the analyzer attempts to find exact matches for the methods. From this release onwards, if no exact match is found, the analyzer uses heuristics to filter and detect partial matches, and then creates links for all such matches. This makes the analyzer more resistant from one analysis to another when adding missing code or jars. |
Rules
Rule Id | New Rule | Details |
---|
8220 | FALSE | Rule: Avoid using deprecated method, constructor, field, type or package: Few Java types(Classes/interfaces) extracted from jars were being erroneously marked as deprecated. This happened due to a bug during the processing of 'synthetic' methods. Now, these types will no longer be marked as deprecated and a lot of false positives for the rule are removed. |
8108 | FALSE | Rule: Close the outermost stream ASAP: A violation which was missing in the previous versions is now detected correctly. |
8104 | FALSE | Rule: Close database resources ASAP: False positives for the rule have been corrected. |
7498 | FALSE | Rule: Collection must be the same between getter and setter: False violations reported related to wrong direction links between JPA Entity property and Java Field. |
Summary |
---|
Significant performance improvement (from hours to minutes) during the "Generating JSP implementation classes" phase when an application has >5000 JSP pages. |
1.2.6-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|
12676 | False violation rule: "Use declarative transaction" |
17868 | Java analysis, Performance issue while resolving parametrization link |
15678 | False positive for Rule "Avoid Web Server pages having a very low Comment/Code ratio" |
14949 | Cannot resolve 'rs' as package or type in package 'javax.ws' from package |
18034 | Missing links between Java methods |
19507 | False positive for rule "Persistent classes should Implement hashCode() and equals()" in case of use of Lombok annotations - @Data |
Other Updates
Details |
---|
Java Analysis failed with the error "Exception: EXCEPTION_ACCESS_VIOLATION". |
Fixe for GPF when analyzed <App> on jpa. |
EXCEPTION_ACCESS_VIOLATION issue fixed. |
Rules
Rule Id | New Rule | Details |
---|
4602 | FALSE | Fixes for false positives on the Rule "Avoid using Fields (non static final) from other classes": Violations reported on fields in outer or inner classes but used in outer classes. |
Summary |
---|
For moderate to large applications (having roughly more than 1000 Jars and/or 1000 XML configuration files), both JEE Analyzer's memory usage and XML configuration file/Jar file processing have been improved. |
1.2.5-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|
16799 | False positive for rules 7362: Avoid action mappings validator turned off & 7372: Enable Struts Validator plugin |
16645 | The warning "JEE067: Issue occured while computing URL path" need to be better documented as it's not providing any paths so is not indicative of what is happening Should it even be occurring. |
15334 | Warning "JEE055: 'jsp:useBean action', 'type attribute' : invalid java type name 'java.util.HashMap[]' " need to be better documented. |
18904 | Java Analysis crashed with warning Unknown Exception. |
18808 | Java analysis warning: Exception: EXCEPTION_ACCESS_VIOLATION |
18234 | Various Syntax Error Warning seen in Java Analysis Log resulting in files not analyzed. |
17706 | Wrong & Missing links due to the limitation on duplicate classes |
17574 | Link not correctly created between two java methods of same analysis unit. |
17038 | Classes from rt.jar Env Profile are not analyzed (unresolved references coming from rt.jar when it is used in the context of rt.jar.header.xml). |
17337 | Classes from rt.jar Env Profile are not analyzed (unresolved references coming from rt.jar when it is used in the context of rt.jar.header.xml). |
18551 | No objects named webMethod and webService as JAVA ANNOTATION TYPE are being analysed in 8.3.12 |
12879 | Lombok Annotation Usage : Throwing False Positive for Rule - Persistent classes should Implement hashCode() and equals() |
15596 | The warning JEE088: "The uri '/dspTaglib' could not be resolved within the file web.xml or among the jar files deployed with your application" Should not be reported when occurs in the JavaScript part of the JSP file |
New Support
Summary | Details |
---|
Support of Spring 5 | Support for Spring framework version 5.x is added. JEE Analyzer -1.2.5-funcrel now supports reactive programming and functional programming (lambdas) in Spring Framework. |
Summary |
---|
Performance of JEE analyzer has been improved. Sample applications show reduction in JEE analysis duration approximately by 38%. |
1.2.4-funcrel
Note
1.2.4-funcrel is no longer available and must not be used. This is because of an issue with the new environment profile for Spring5, which caused an error while upgrading the extension.
1.2.3-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|
15488 | Standard End Point - Java - Java.io needs has been updated |
14506 | Incorrect violation for the rule- Avoid table and column names that are too long |
15188 | Java Analysis log warning "Syntax not recognized" for package org.omg |
15258 | Java Analysis log warning "Syntax not recognized" for package org.omg |
17665 | Analysis is failing with "Log the exception information" warning in the analysis log |
17931 | Analysis failed during "Resolving parametrization links" with the warning: Log the exception information: Unknown Exception... |
17758 | Java Analysis failing with fatal Error when analyzing Open source JDK |
Other Updates
Details |
---|
Rule 8214 "Expired or Released Resource should not be used" Name has been updated by removing 'CWE-672' |
Rule 7714 "Do not use auto-wiring" is not displayed in the AED dashboard with JEE 1.0.15 extension |
1.2.2-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|
17062 | JEE Analysis- Log the exception information: Unknown Exception |
16329 | Onboarding: Wrong link between java method and Java Lambda Expression |
15109 | Warning: Java-Lexer: Invalid String literal |
17255 | No Java files analysed due to exception in JEE analysis |
16633 | TCC "Standard Entry Point - Java - org.apache.camel" creates both classes and method Entry points |
17526 | Java files not getting analyzed after re-run |
17640 | Log the exception information: Unknown Exception |
Other Updates
Details |
---|
A change has been implemented to introduce a connectivity layer compatible with PostgreSQL 10 and 11 |
Port of JFAMILY-1162 from 1.0.x to 1.2.y - Exception raised in JEE analyzer while creating an AMT object in JSP Scanner |
Port from 1.0.x to 1.2.x - JFAMILY-1102 - EXCEPTION_ACCESS_VIOLATION reported as a simple Warning - analysis KO indeed |
1.2.1-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|
16354 | Analysis in JEE 1.0.13 is getting stuck, same analysis is finishing in 8.2.10 |
16251 | "Cannot resolve a Struts Result from strings returned by method" |
14832 | False positives in rule Avoid Unused Imports and Missing links |
15904 | Avoid unreferenced methods violation due to missing link |
17046 | JEE analysis is stuck, running in infinite loop |
17032 | JEE analysis is stuck, running in infinite loop. |
17019 | JEE analysis is stuck, running in infinite loop. |
16760 | JEE analysis is stuck, running in infinite loop |
New Support
Summary | Details |
---|
Improve Chinese support | Unable to read file when there are chinese characters in the code |
1.2.0-funcrel
Resolved Issues
Customer Ticket Id | Details |
---|
15113 | JEE052: Syntax not recognized: \n--%> |
16137 | Standard End Point - Java - javax.jms-supposed to have some objects-not coming-because of incorrect definition |
16580 | JAVA044: Syntax not recognized warnings |
Rules
Rule Id | New Rule | Details |
---|
4592 | FALSE | False positive is coming for the rule "Avoid hiding static Methods" for a createUI object |
7498 | FALSE | False positive for QR- Collection must be the same between getter and setter |
1.2.0-beta1
Resolved Issues
Customer Ticket Id | Details |
---|
15567 | Log the exception information: Exception: EXCEPTION_ACCESS_VIOLATION |
15496 | TCC shows OutputStram instead of OutputStream |
15904 | JEE analysis warning -Exception: EXCEPTION_ACCESS_VIOLATION |
15578 | Run methods are not identified by Standard Entry Point |
Rules
Rule Id | New Rule | Details |
---|
8096 | FALSE | Wrong book mark shown for the violation Avoid testing floating point numbers |
1.2.0-alpha3
Other Updates
Details |
---|
J2EE: Unable to process JSP analysis 'CCE_2b80894c' (An exception occurred) |
ALL environment profiles, including customs keep disappearing |
No longer create EFile for html and js files. |
Rules
Rule Id | New Rule | Details |
---|
8214 | FALSE | False positive is coming for rule: Expired or Released Resource should not be used |
2232 | FALSE | False Violation for QR 'Pages should use error handling page' when webdefault.xml is included in analysis |
8104 | FALSE | False positive is coming for the rule "Close database resources ASAP" |
1.2.0-alpha2
Resolved Issues
Customer Ticket Id | Details |
---|
15079 | When using double semicolon, which is acceptable by the java compiler, J2EE analyzer throws a 'Syntax not recognized' warning and file is not analyzed. |
13740 | Error - The process '"C:\...\com.castsoftware.jee.1.0.7\jeecmd.exe" "I:\....\LISA\XXX\jeecmd.xml"' exited with code -1073741819 |
Other Updates
Details |
---|
JFAMILY-929 |
Warning Message without proper explanation - JEE055: %WARNING_MESSAGEJEE001: % |
New Support
Summary | Details |
---|
Support of JAVA 10 and JAVA 11 | Partial support has been added for analyzing applications built with Java 10 and Java 11. |
1.2.0-alpha1
New Support
Summary | Details |
---|
Support of JAVA 9 | Partial support has been added for analyzing applications built with Java 9. |