Parasoft功能對比之Java測試篇(七):Parasoft VS Fortify
本文是自動化測試工具Parasoft功能對比之Java測試篇之一,將介紹Parasoft Jtest和同類工具Fortify的功能對比,哪一款更強(qiáng)大一目了然。
如果你想試用Parasoft的強(qiáng)大功能,請聯(lián)系在線客服。
Jtest 啟用規(guī)則(136條) | Fortify | CWE說明 | 規(guī)則分類 | |||
合并CWE、PCI DATA的規(guī)則集并添加了部分重要規(guī)則 | 嚴(yán)重等級 | 是否有對應(yīng)規(guī)則 | 對應(yīng)的規(guī)則名稱 | 是否在CWE中有要求 | ||
BD.CO.ITMOD | 不要在遍歷集合時修改它 | 1 | 無 | 無 | 否 | 缺陷預(yù)防 |
BD.EXCEPT.NP | 避免空指針 | 1 | 有 |
API
Abuse-Missing Check against Null Code Quality-Null Dereference Code Quality-Redundant Null Check |
是 | 缺陷預(yù)防 |
BD.PB.ARRAY | 避免訪問數(shù)組越界 | 1 | 無 | 無 | 是 | 缺陷預(yù)防 |
BD.PB.ARRAYINP | 避免輸入未經(jīng)驗證的數(shù)組索引 | 1 | 有 |
Code
Quality--Code Correctness: Erroneous Negative Value Code Quality--Code Correctness: Erroneous Zero Value |
是 | 缺陷預(yù)防 |
BD.PB.CC | 避免總是為相同的值的條件 | 2 | 有 |
Code
Quality-Dead Code: Expression is Always false Code Quality-Dead Code: Expression is Always true |
是 | 缺陷預(yù)防 |
BD.PB.SWITCH | 避免不能到達(dá)的分支 | 2 | 無 | 無 | 否 | 缺陷預(yù)防 |
BD.PB.ZERO | 避免除零錯誤 | 1 | 無 | 無 | 是 | 缺陷預(yù)防 |
BD.RES.FREE | 不要使用已釋放的資源 | 1 | 無 | 無 | 是 | 缺陷預(yù)防 |
BD.RES.LEAKS | 確保資源已釋放 | 1 | 有 | Code Quality-Unreleased Resource: Streams | 是 | 缺陷預(yù)防 |
BD.SECURITY.CUSTOM | 防止安全漏洞(自定義規(guī)則) | 1 | 無 | 無 | 否 | 缺陷預(yù)防 |
BD.SECURITY.SENS | 防止敏感數(shù)據(jù)的曝露 | 1 | 有 |
Encapsulation-System
Information Leak Encapsulation-System Information Leak: Apache Axis Encapsulation-System Information Leak: Apache Axis 2 Encapsulation-System Information Leak: Overly Broad SQL Logging |
是 | 缺陷預(yù)防 |
BD.SECURITY.TDCMD | 防止命令注入 | 1 | 有 | Input Validation and Representation-Command Injection | 是 | 缺陷預(yù)防 |
BD.SECURITY.TDDIG | 防止 Jakarta Digester 注入 | 1 | 無 | 無 | 是 | 缺陷預(yù)防 |
BD.SECURITY.TDENV | 防止環(huán)境注入 | 1 | 無 | 無 | 是 | 缺陷預(yù)防 |
BD.SECURITY.TDFILES | 防止文件內(nèi)容注入 | 1 | 無 | 無 | 否 | 缺陷預(yù)防 |
BD.SECURITY.TDFNAMES | 防止文件名注入 | 1 | 有 |
Input
Validation and Representation-Path Manipulation Input Validation and Representation-Often Misused: File Upload Input Validation and Representation-Dangerous File Inclusion |
是 | 缺陷預(yù)防 |
BD.SECURITY.TDJXPATH | 防止 JXPath 注入 | 1 | 無 | 無 | 是 | 缺陷預(yù)防 |
BD.SECURITY.TDLDAP | 防止 LDAP注入 | 1 | 有 |
Input
Validation and Representation-LDAP Injection Input Validation and Representation-LDAP Manipulation |
是 | 缺陷預(yù)防 |
BD.SECURITY.TDLIB | 防止 Library 注入 | 1 | 有 | Input Validation and Representation-Process Control | 是 | 缺陷預(yù)防 |
BD.SECURITY.TDLOG | 防止日志偽造 | 1 | 有 | Input Validation and Representation-Log Forging | 是 | 缺陷預(yù)防 |
BD.SECURITY.TDNET | 防止網(wǎng)絡(luò)資源注入 | 1 | 有 | Input Validation and Representation-Resource Injection | 是 | 缺陷預(yù)防 |
BD.SECURITY.TDRESP | 防止HTTP響應(yīng)拆分 | 1 | 有 | Input Validation and Representation-HTTP Response Splitting | 是 | 缺陷預(yù)防 |
BD.SECURITY.TDRFL | 防止映射注入 | 1 | 有 | Input Validation and Representation-Unsafe Reflection | 是 | 缺陷預(yù)防 |
BD.SECURITY.TDSQL | 防止SQL注入 | 1 | 有 |
Input
Validation and Representation-SQL Injection Input Validation and Representation-SQL Injection: JDO Input Validation and Representation-SQL Injection: Persistence Input Validation and Representation-SQL Injection: iBatis Data Map |
是 | 缺陷預(yù)防 |
BD.SECURITY.TDXML | 防止XML數(shù)據(jù)注入 | 1 | 有 | Input Validation and Representation-XML Injection | 是 | 缺陷預(yù)防 |
BD.SECURITY.TDXPATH | 防止XPath注入 | 1 | 有 | Input Validation and Representation-XPath Injection | 是 | 缺陷預(yù)防 |
BD.SECURITY.TDXSS | 防止 XSS 漏洞 | 1 | 有 |
Input
Validation and Representation-Cross-Site Scripting: DOM Input Validation and Representation-Cross-Site Scripting: External Links Input Validation and Representation-Cross-Site Scripting: Persistent Input Validation and Representation-Cross-Site Scripting: Poor Validation Input Validation and Representation-Cross-Site Scripting: Reflected |
是 | 缺陷預(yù)防 |
BD.TRS.LOCK | 不要拋棄未釋放鎖 | 1 | 無 | 無 | 是 | 缺陷預(yù)防 |
BD.TRS.TSHL | 在持有鎖的同時,不要使用blocking方法 | 1 | 無 | 無 | 是 | 缺陷預(yù)防 |
EJB.AMSC | 不要訪問或修改安全性配置對象。 | 2 | 無 | 無 | 是 | 安全 |
EJB.DPANY | 避免EJB方法的授權(quán)訪問權(quán)限為 'ANYONE' 角色 | 3 | 有 | Environment-J2EE Misconfiguration: Weak Access Permissions | 是 | 安全 |
EJB.EJB3.PERMIT | 避免EJB 3沒有安全注釋的方法 | 3 | 無 | 無 | 是 | 安全 |
EJB.LNL | 避免在 Bean 類中加載本地庫文件。 | 2 | 無 | 無 | 否 | 安全 |
EJB.SMSN | 在 EJB 中不要設(shè)置或創(chuàng)建一個新的 SecurityManager | 2 | 無 | 無 | 是 | 安全 |
GC.FCF | 從 'finalize()' 中調(diào)用 'super.finalize()'。 | 1 | 有 | API Abuse-Code Correctness: Erroneous finalize() Method | 是 | 規(guī)則規(guī)范 |
GC.FM | 不要使用'finalize ()'方法去注銷監(jiān)聽。 | 1 | 無 | 無 | 否 | 安全 |
GC.IFF | 在 'finalize()' 方法的 "finally" 模塊中調(diào)用 'super.finalize()'。 | 1 | 無 | 無 | 否 | 規(guī)則規(guī)范 |
GC.NCF | 不要明確地調(diào)用 'finalize ()'。 | 1 | 有 | API Abuse-Poor Style: Explicit Call to finalize() | 是 | 安全 |
HIBERNATE.CHS | 在 "finally" 塊中關(guān)閉 Hibernate 會話 | 2 | 無 | 無 | 否 | 規(guī)則規(guī)范 |
HIBERNATE.CSF | 關(guān)閉所有 'SessionFactory' 對象。 | 3 | 無 | 無 | 是 | 規(guī)則規(guī)范 |
HIBERNATE.LHII | 避免在 'log4j.properties' 文件中記錄與 Hibernate 相關(guān)的為 'info' 級別的敏感信息。 | 3 | 有 | Encapsulation-System Information Leak: Overly Broad SQL Logging | 否 | 安全 |
HIBERNATE.UPWD | 避免在 'web.xml' 文件中保存未加密的 Hibernate 用戶名和密碼。 | 1 | 有 |
Environment-Password
Management: Password in Configuration File Security Features-Password Management: Hardcoded Password |
是 | 安全 |
INTER.SEO | 避免調(diào)用不允許指定字節(jié)碼選項的方法和構(gòu)造函數(shù) 。 | 3 | 無 | 無 | 否 | 規(guī)則規(guī)范 |
JDBC.CDBC | 在 "finally" 塊中關(guān)閉 JDBC 連接 | 1 | 有 | Database-Unreleased Resource | 是 | 安全 |
JDBC.RRWD | 在 "finally" 塊中關(guān)閉 JDBC 資源 | 1 | 無 | 無 | 是 | 安全 |
OPT.CCR | 在 "finally" 代碼塊關(guān)閉所有的 "java.io.Closeable" 資源 。 | 3 | 無 | 無 | 是 | 規(guī)則規(guī)范 |
OPT.CIO | 在"finally"代碼塊中關(guān)閉輸入輸出資源 | 1 | 無 | 無 | 是 | 規(guī)則規(guī)范 |
OPT.SI | 如果可以,聲明成員類為"static"。 | 1 | 無 | 無 | 否 | 規(guī)則規(guī)范 |
OPT.USC | 為常量字符串使用'String'而不是'StringBuffer' | 1 | 無 | 無 | 否 | 規(guī)則規(guī)范 |
OPT.USCL | 避免有問題地使用non-short-circuit邏輯。 | 1 | 無 | 無 | 否 | 規(guī)則規(guī)范 |
PB.CUB.RMO | 避免引用易變的字段 | 3 | 無 | 無 | 是 | 缺陷預(yù)防 |
PB.CUB.TOCTOU | 避免 Time-of-check Time-of-use (TOCTOU) 競爭條件 | 1 | 無 | 無 | 是 | 缺陷預(yù)防 |
PB.LOGIC.FLRC | 避免無限遞歸方法調(diào)用 | 1 | 無 | 無 | 是 | 缺陷預(yù)防 |
PB.NUM.AIC | 避免整型類型到浮點數(shù)據(jù)類型的強(qiáng)制轉(zhuǎn)換. | 3 | 無 | 無 | 是 | 缺陷預(yù)防 |
PB.NUM.BBDCC | 不要傳遞浮點值給 'BigDecimal'構(gòu)造函數(shù)。 | 3 | 無 | 無 | 否 | 缺陷預(yù)防 |
PB.NUM.BSA | 不要使用[0 31]范圍外的整型作為移位操作的位數(shù) | 1 | 無 | 無 | 是 | 缺陷預(yù)防 |
PB.NUM.CACO | 避免在可能會導(dǎo)致溢出的情況下使用符合賦值操作符 | 3 | 無 | 無 | 是 | 缺陷預(yù)防 |
PB.NUM.CLP | 不要把原始數(shù)據(jù)類型轉(zhuǎn)換為較低的精度 | 2 | 無 | 無 | 是 | 缺陷預(yù)防 |
PB.NUM.DCF | 不要比較浮點類型 | 3 | 無 | 無 | 否 | 缺陷預(yù)防 |
PB.NUM.FPLI | 不要使用浮點類型變量作為循環(huán)的索引. | 1 | 無 | 無 | 否 | 缺陷預(yù)防 |
PB.NUM.ICO | 避免導(dǎo)致溢出或NaN的計算 | 2 | 無 | 無 | 是 | 缺陷預(yù)防 |
PB.NUM.IDCD | 不要將整數(shù)相除的結(jié)果賦值給一個浮點變量 | 1 | 無 | 無 | 是 | 缺陷預(yù)防 |
PB.NUM.IMOF | 避免整型的乘法結(jié)果轉(zhuǎn)換成 "long" | 3 | 無 | 無 | 是 | 缺陷預(yù)防 |
PB.NUM.IOF | 當(dāng)可能會溢出時使用無符號右移而不是除. | 3 | 無 | 無 | 是 | 缺陷預(yù)防 |
PB.NUM.NIA | 不要用負(fù)數(shù)來初始化數(shù)組的維數(shù) | 1 | 有 |
Encapsulation-Unsafe
Mobile Code: Unsafe Array Declaration Code Quality--Code Correctness: Erroneous Negative Value Code Quality--Code Correctness: Erroneous Zero Value |
否 | 缺陷預(yù)防 |
PB.NUM.UBD | 如果需要確切的結(jié)果的話不要使用"float"和"double" | 3 | 無 | 無 | 否 | 缺陷預(yù)防 |
PB.NUM.UCM | 避免傳遞整形值給'Math.round()' | 3 | 無 | 無 | 否 | 缺陷預(yù)防 |
PB.RE.ACTI | 不要添加一個集合到它自己 | 1 | 無 | 無 | 否 | 缺陷預(yù)防 |
PB.RE.CAI | 參數(shù)被在數(shù)組訪問使用前總是檢查 | 4 | 無 | 無 | 是 | 缺陷預(yù)防 |
PB.TYPO.WT | 確保傳遞給ava包裝器類的參數(shù)沒有輸寫錯誤 | 1 | 無 | 無 | 否 | 缺陷預(yù)防 |
PB.USC.CC | 避免總是等于常量值的條件表達(dá)式 | 1 | 有 |
Code
Quality-Dead Code: Expression is Always true Code Quality-Dead Code: Expression is Always false |
否 | 缺陷預(yù)防 |
PORT.NATV | 不要使用用戶自定義的"native"方法。 | 3 | 有 | Input Validation and Representation-Unsafe JNI | 是 | 安全 |
PROPS.PLAIN | 密碼信息不應(yīng)以明文形式包括在屬性文件中 | 3 | 有 |
Security
Features-Password Management Environment-Password Management: Password in Configuration File |
是 | 安全 |
SECURITY.BV.DSSM | 不要在'main'函數(shù)外設(shè)置自定義安全管理。 | 2 | 無 | 無 | 是 | 安全 |
SECURITY.BV.ENFL | 確保所有的敏感方法調(diào)用被記錄 | 2 | 無 | 無 | 否 | 安全 |
SECURITY.EAB.LDP | 限制每個類調(diào)用"AccessController.doPrivileged"的次數(shù)。 | 4 | 無 | 無 | 是 | 安全 |
SECURITY.EAB.MPT | 不要直接將某些特定類型傳遞給用戶指定的可變對象 | 3 | 無 | 無 | 是 | 安全 |
SECURITY.EAB.PCL | 在"privileged"代碼塊中限制行數(shù) | 4 | 無 | 無 | 是 | 安全 |
SECURITY.ESD.CONSEN | 沒有機(jī)密日志或敏感信息 | 5 | 無 | 無 | 是 | 安全 |
SECURITY.ESD.PEO | 不通過異常消息轉(zhuǎn)換成輸出,以防止應(yīng)用程序泄露敏感信息 | 2 | 無 | 無 | 是 | 安全 |
SECURITY.ESD.PLC | 避免在cookie中存儲明文的敏感數(shù)據(jù) | 3 | 有 | Security Features-Cookie Security: Persistent Cookie | 是 | 安全 |
SECURITY.ESD.UPCT | 憑證傳輸使用 'post' 而不是 'get' | 2 | 無 | 無 | 是 | 安全 |
SECURITY.IBA.AEAF | 不要從Struts 類 'ActionForm' 和 'DynaActionForm'繼承。 | 3 | 有 | Input Validation and Representation-Struts: Form Does Not Extend Validation Class | 是 | 安全 |
SECURITY.IBA.CDBV | 驗證之前,規(guī)范化的所有數(shù)據(jù)。 | 3 | 無 | 無 | 是 | 安全 |
SECURITY.IBA.UPS | 使用 'prepareCall' 或r 'prepareStatement' 而不是 'createStatement' | 3 | 有 | Input Validation and Representation-SQL Injection | 是 | 安全 |
SECURITY.IBA.VPPD | 封裝所有危險數(shù)據(jù)返回給驗證功能方法 | 2 | 無 | 無 | 是 | 安全 |
SECURITY.IBA.VRD | 封裝了所有重定向和轉(zhuǎn)發(fā)的URL與驗證功能 | 1 | 無 | 無 | 是 | 安全 |
SECURITY.UEC.DSR | 避免在 'web.xml' 中定義具有相同名稱的多種安全角色 | 2 | 無 | 無 | 是 | 安全 |
SECURITY.UEC.HTTPS | 在 'axis2.xml' 配置文件中使用 'https' 而不是 'http' 用于 'transportReceiver' 和 'transportSender' | 5 | 無 | 無 | 是 | 安全 |
SECURITY.UEC.LCA | 包括一個適當(dāng)?shù)? '<login-config>' 元素來指定在 'web.xml' 文件中要執(zhí)行身份驗證的類型 | 3 | 無 | 無 | 是 | 安全 |
SECURITY.UEC.PCCF | 避免在 Castor 的 'jdo-conf.xml' 文件中以純文本格式存儲用戶名和密碼 | 1 | 有 | Environment-Password Management: Password in Configuration File | 是 | 安全 |
SECURITY.UEC.PTPT | 避免在 Axis 'wsdd' 文件中使用純文本密碼 | 3 | 有 |
Environment-Axis
2 Service Requester Misconfiguration: Plain Text Password Environment-Axis Service Requester Misconfiguration: Plain Text Password |
是 | 安全 |
SECURITY.UEC.PWD | 確保密碼不存儲在純文本中和足夠長 | 1 | 有 |
Security
Features-Password Management Security Features-Password Management: Hardcoded Password |
是 | 安全 |
SECURITY.UEC.SRCD | 確保在 'web.xml' 文件中引用的每個安全角色有一個相對應(yīng)的定義 | 3 | 無 | 無 | 是 | 安全 |
SECURITY.UEC.STTL | 確保在'web.xml'文件中配置會話超時時間在一個合理范圍內(nèi)。 | 3 | 有 |
Environment-J2EE
Misconfiguration: Excessive Session Timeout Security Features-Acegi Misconfiguration: Run-As Authentication Replacement |
是 | 安全 |
SECURITY.UEC.UTAX | 避免在 Axis2 配置文件中使用純文本密碼 | 3 | 有 | Environment-Password Management: Password in Configuration File | 是 | 安全 |
SECURITY.UEC.WCPWD | 避免在 WebSphere 的 'ibm-webservicesclient-ext.xmi' 文件中有未加密的密碼 | 1 | 有 | Security Features-Password Management: Hardcoded Password | 是 | 安全 |
SECURITY.UEC.WELC | 確保所有 web 內(nèi)容目錄中有一個 "welcome file" | 1 | 無 | 無 | 是 | 安全 |
SECURITY.UEC.WPWD | 避免在 WebSphere 的 'ibm-webservices-ext.xmi' 文件中有未加密的密碼 | 1 | 有 |
Environment-Password
Management: Password in Configuration File Security Features-Password Management: Hardcoded Password |
是 | 安全 |
SECURITY.UEHL.LGE | 確保所有的異常要么是一個標(biāo)準(zhǔn)的記錄器要么被重新拋出 | 3 | 無 | 無 | 是 | 安全 |
SECURITY.WSC.ACPST | 不要調(diào)用 "Throwable"對象的'printStackTrace()'方法。 | 5 | 無 | 無 | 是 | 安全 |
SECURITY.WSC.AHCA | 避免硬編碼的參數(shù)確定方法 | 3 | 無 | 無 | 是 | 安全 |
SECURITY.WSC.CACM | 保持所有訪問控制方法集中強(qiáng)制執(zhí)行的一致性 | 3 | 無 | 無 | 是 | 安全 |
SECURITY.WSC.CAM | 保持所有訪問控制方法集中強(qiáng)制執(zhí)行的一致性 | 3 | 無 | 無 | 是 | 安全 |
SECURITY.WSC.DNSL | 避免DNS查找進(jìn)行決策 | 4 | 有 | API Abuse-Often Misused: Authentication | 是 | 安全 |
SECURITY.WSC.ENPP | 確保參數(shù)傳遞到某些預(yù)先定義的方法列表中的方法。 | 2 | 無 | 無 | 是 | 安全 |
SECURITY.WSC.HCCK | 避免使用硬編碼密鍵 | 3 | 無 | 無 | 是 | 安全 |
SECURITY.WSC.HCCS | 避免傳遞硬編碼的用戶名/密碼/URl到數(shù)據(jù)庫連接方法. | 2 | 有 |
Security
Features-Password Management Security Features-Password Management: Hardcoded Password |
是 | 安全 |
SECURITY.WSC.ICA | 不要對密碼學(xué)使用不安全算法。 | 2 | 有 | Security Features-Weak Encryption | 是 | 安全 |
SECURITY.WSC.PAC | 調(diào)用認(rèn)證方法執(zhí)行一致性 | 2 | 無 | 無 | 是 | 安全 |
SECURITY.WSC.PACC | 調(diào)用訪問控制方法以執(zhí)行一致性 | 2 | 無 | 無 | 是 | 安全 |
SECURITY.WSC.PPF | 不允許密碼字段是自動完成的。 | 2 | 無 | 無 | 是 | 安全 |
SECURITY.WSC.SCF | 在設(shè)置或得到字段之前執(zhí)行'SecurityManager'檢測 | 2 | 無 | 無 | 否 | 安全 |
SECURITY.WSC.SCSER | 在可序列化類的方法中執(zhí)行SecurityManager' 檢測。 | 2 | 有 | Security Features-Missing SecurityManager Check: Serializable | 否 | 安全 |
SECURITY.WSC.SCSM | 確保 "public" 非"final" 敏感類型的構(gòu)造函數(shù)中的SecurityManager檢測 | 3 | 無 | 無 | 否 | 安全 |
SECURITY.WSC.SMSTR | 在 'Socket' transfers or retrievals轉(zhuǎn)移或撤回之前確保SecurityManager檢測。 | 4 | 無 | 無 | 是 | 安全 |
SECURITY.WSC.SRD | 使用 'java.security.SecureRandom' 而不是 'java.util.Random' 或 'Math.random()'. | 2 | 有 |
Security
Features-Insecure Randomness API Abuse-Obsolete: Deprecated by ESAPI |
是 | 安全 |
SECURITY.WSC.SSM | 確保設(shè)置了恰當(dāng)?shù)陌踩芾? | 3 | 有 | Security Features-Acegi Misconfiguration: Run-As Authentication Replacement | 是 | 安全 |
SECURITY.WSC.UOSC | 使用''getSecure()''和 ''setSecure()'' 方法執(zhí)行安全cookies的使用. | 3 | 有 | Security Features-Cookie Security: Cookie not Sent Over SSL | 是 | 安全 |
SECURITY.WSC.USC | 可能的話使用類的SSL-enabled版本。 | 2 | 無 | 無 | 是 | 安全 |
SERVLET.CETS | 捕獲所有可能在Servlet方法中拋出的異常 | 4 | 有 | Environment-Struts Misconfiguration: Missing Exception Type | 是 | 安全 |
SERVLET.UCO | 使用一個Context對象來管理HTTP請求參數(shù) | 4 | 有 | Input Validation and Representation-Open Redirect | 是 | 安全 |
STRUTS.MLVP | 在'validation.xml'中為密碼字段使用'minlength' 驗證器 | 2 | 有 | Input Validation and Representation-Missing XML Validation | 否 | 安全 |
TRS.CHM | 如果可能盡量用使用 HashMap 的包裝類 ConcurrentHashMap 來代替 Hashtable 和 "synchronizedMap"。 | 5 | 無 | 無 | 否 | 規(guī)則規(guī)范 |
TRS.CIET | 不要捕獲InterruptedException異常除非是在擴(kuò)展自線程的類中 | 4 | 無 | 無 | 否 | 安全 |
TRS.CMA | 避免復(fù)合同步破壞原子性的集合訪問。 | 3 | 無 | 無 | 否 | 規(guī)則規(guī)范 |
TRS.DCL | 避免執(zhí)行不安全的 "double-checked locking" 模式。 | 3 | 有 | Time and State-Code Correctness: Double-Checked Locking | 是 | 安全 |
TRS.IASF | 審查有權(quán)使用可能需要同步的 "static" 字段 | 2 | 無 | 無 | 是 | 安全 |
TRS.ILI | 保證延遲初始化的線程安全 | 4 | 無 | 無 | 是 | 安全 |
TRS.RUN | 對實現(xiàn) 'Runnable.run()'的方法使用同步。 | 5 | 無 | 無 | 否 | 規(guī)則規(guī)范 |
TRS.SOUF | 不要對 non-"final" 字段使用同步因為這樣做會很難保證互斥。 | 3 | 無 | 無 | 否 | 規(guī)則規(guī)范 |
TRS.SSUG | 如果 set 方法是同步的那么也要保證 get 方法也是同步的 | 3 | 無 | 無 | 否 | 規(guī)則規(guī)范 |
TRS.UACS | 避免非同步訪問 "Collections.synchronized" 的包裝集合。 | 3 | 無 | 無 | 否 | 規(guī)則規(guī)范 |
TRS.UCM | 只有在安全的情況下才使用非同步的 Collections/Maps。 | 3 | 無 | 無 | 否 | 規(guī)則規(guī)范 |
UC.AURV | 避免從未被讀取過的局部變量 | 1 | 有 | Code Quality-Poor Style: Value Never Read | 是 | 規(guī)則規(guī)范 |
UC.PF | 避免未使用的"private" 字段 | 1 | 有 | Code Quality-Poor Style: Value Never Read | 是 | 規(guī)則規(guī)范 |
UC.SNE | 避免空的 "synchronized" 語句。 | 1 | 有 | Code Quality-Poor Style: Empty Synchronized Block | 是 | 規(guī)則規(guī)范 |
(如有差錯歡迎評論留言,小編虛心與大家共同探討)
Parasoft——領(lǐng)先的自動化測試工具,滿足絕大多數(shù)行業(yè)標(biāo)準(zhǔn)
Parasoft是一家專門提供軟件測試解決方案的公司,幫助企業(yè)打造無缺陷的軟件。
從開發(fā)到質(zhì)量檢查,Parasoft的技術(shù)通過集成靜態(tài)和運行時分析,單元、功能和API測試,以及服務(wù)虛擬化,在不犧牲質(zhì)量和安全性的情況下加快軟件交付,節(jié)約交付成本。
強(qiáng)大的報告和分析功能可幫助用戶快速查明有風(fēng)險的代碼區(qū)域,并了解新代碼更改如何影響其軟件質(zhì)量,而突破性的技術(shù)將人工智能和機(jī)器學(xué)習(xí)添加到軟件測試中,使組織更容易采用和擴(kuò)展跨開發(fā)和測試團(tuán)隊的有效的軟件測試實踐。
Parasoft針對C/C++、Java、.NET和嵌入式的開發(fā)測試都有著30多年的深入研究,很多全國500強(qiáng)企業(yè)使用Parasoft的產(chǎn)品實現(xiàn)了軟件快速、高質(zhì)量的交付。