Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

バージョン番号の刷新

...

.NET 5 のサポートを開始

サポート対象フレームワークとして、.NET5が新規追加されました。
※ .NET 6 対応版も提供可能です。

C# 9 のサポートを開始

C# 9 で書かれたコードを解析できるようになりました。

Windows 7 のサポート

Windows 7(64bit) はサポート対象外になりました。

Visual Studio

...

のサポート

以下のバージョンは非推奨となりました。将来のバージョンで削除される予定です。

  • Visual Studio

...

  • 2012

  • Visual Studio 2013

Parasoft EULA への同意

dotTEST または dotTEST Plugin のインストール時、インストール ウィザードによって Parasoft エンド ユーザー ライセンス契約 (EULA) の条項への同意を求められます。

Extension for Visual Studio Code

...

の拡張

これを使用して、静的コード解析を実行したり、IDE で直接結果を確認したり、不要な指摘事項を抑制することができます。
詳細についてはParasoftユーザーガイドの「Extension for Visual Studio Code 」を参照してください。

ソース管理システムのサポート

以下のサポートが追加されました。

  • Git 1.8、1.9、2.x

  • SVN 1.10、1.11、1.12、1.13

  • Microsoft Team Foundation Server 2017、2018、2019

次の SCM のサポートは廃止になりました。

  • AccuRev

  • ClearCase

  • CVS

  • Serena Dimensions

  • StarTeam

  • Synergy CM

  • Visual Source Safe

さらに、Microsoft Team Foundation Server 2010 のサポートは廃止されました。

C# のサポートの拡張

C# 8.0 の機能および拡張に対するサポートが追加されました。

.NET Core のサポートの拡張

  • .NET Core 3.1 で開発されたプロジェクトを解析できるようになりました。

  • dotTEST は、.NET Core プロジェクトのカバレッジ収集で portable 形式の PDB ファイルをサポートします。

Windows 7 のサポート

EOL に伴い、Windows 7(64bit) のサポートは非推奨になりました。

サポート対象から削除されたプラットフォーム

32 ビット版の OS はサポートされなくなりました。

Java 6 のサポート

java 6 以下のサポートは非推奨になりました。
結果として、Java 6 以下を必要とする環境のサポートは、今後のリリースで廃止されます。

静的解析の拡張

現在のブランチで変更されたコードをターゲットとする新しいスコープ オプション

現在の作業ブランチで変更されたファイルだけに解析範囲を制限するファイル フィルターを作成できるオプションが追加されました。
これにより、メインの開発ストリームにコードをマージする前に、最近のコードの変更で入り込んだバグを検出し、修正する作業に集中できるようになります。
さらに、ローカルで変更されたファイルだけに範囲を狭め、変更したコードをソース管理システムにチェックインする前に解析することもできます。

詳細は Parasoftユーザーガイドの「ソース管理データに基づくファイル フィルターの定義」および「カスタム テスト コンフィギュレーションの作成」を参照してください。

コード解析ベースラインを定義する新しいレポート参照オプション

dotTEST での解析実行時にベースラインとして使用される参照レポート ファイルへのパスまたは URL を指定できるようになりました。
これにより、以前にレポートされた指摘事項を現在のレポートから除外し、最近検出されたコードの欠陥だけに集中できるようになります。
Parasoftユーザーガイドの「レポート オプションの設定」を参照してください。

新規及び更新されたテストコンフィギュレーション

次のテストコンフィギュレーションを追加しました。

...

CWE 4.2

...

の機能が拡張されました。Azure DevOps リポジトリから解析結果をインポートできるようになりました。
詳細についてはVisual Studio Code Marketplace を参照してください。

GitHub連携の拡張

GitHub ActionsにdotTEST実行のためのActionが追加されました。これにより、GitHub ActionsからdotTESTの実行が可能になります。
また、SARIFフォーマットでのレポート生成が可能となったため、dotTESTで解析を実行し、GitHub上で解析結果を確認できます。
詳細については こちらを参照してください。

Azure DevOps との連携

Azure DevOpsに拡張機能としてdotTEST Extension for Azure DevOpsが追加され、dotTESTとAzurePipelinesの連携が可能になりました。
dotTESTの解析を実行することで、Azure DevOps固有のSARIFフォーマットでのレポートを生成し、Azure Pipelines上で解析結果を確認できます。
詳細についてはこちらを参照してください。

GitLab との連携

GitLab ワークフローでdotTEST の解析を実行して SAST フォーマットで解析レポートを生成が可能になりました。
dotTEST からレポートされた結果をコードの脆弱性として GitLab で参照できます。
詳細については こちらを参照してください。

Roslyn Analyzerルールのサポートを開始

Visual Studioのソースコード解析機能であるRoslyn AnalyzerのルールをdotTESTから実行し、dotTEST上で解析結果を確認できます。

新規及び更新されたテストコンフィギュレーション

次のテストコンフィギュレーションが追加されました。

  • CWE 4.5

  • CWE Top 25 2021

  • CWE Top 25 + On the Cusp 2020

...

  • 2021

  • OWASP API Security Top 10-2019

  • OWASP Top 10 2017

  • PCI DSS 3.2​​

  • UL 2900

削除されたテスト コンフィギュレーション

以下の MSTest および NUnit テスト実行用のレガシー テスト コンフィギュレーションが削除されました。

  • Execute MSTests

  • Execute MSTests with Coverage

  • Run NUnit Tests

  • Run NUnit Tests with Coverage

  • -2021

  • DISA-ASD-STIG

  • Roslyn .NET Analyzers Default Rules

削除されたテスト コンフィギュレーション

古くなった CWE コンプライアンス用テスト コンフィギュレーションが削除されました。

  • CWE 34.42

  • CWE 4.04

  • CWE Top 25 20192020

  • CWE Top 25 + On the Cusp 20192020

セキュリティ コンプライアンス パックの拡張

新たに更新された Common Weakness Enumeration (CWE) のサポートが追加されました。
さらに、OWASP Top 10 2017、PCI DSS 3.2、UL 2900 テスト コンフィギュレーションに新しいルールが追加され、 セキュリティ標準により忠実に準拠できるようになりました。

新しい抑制フォーマット

静的解析の指摘事項の抑制を parasoft.suppress ファイルに作成し、ソース ファイルとともにソース管理システムに保存できます。
dotTEST GUI で入力ファイル抑制を作成するか、抑制したい指摘事項の情報を手動で抑制ファイルに追加します。
詳細についてはParasoftユーザーガイドの「GUI での指摘事項の抑制」および「指摘事項のレポートの抑制」を参照してください。

これまで GUI での抑制の作成に使用されていた XML 形式フォーマットは非推奨になりました。
IDE 起動時に、非推奨の抑制を新しい入力ファイル フォーマットに変換できます。Parasoftユーザーガイドの「抑制の移行」を参照してください。

Visual Studio 起動時のライセンス非アクティブでの開始、アイドル時に自動解放

Visual Studio 起動時にライセンスを非アクティブ状態で開始することができるようになりました。ライセンスは 手動でアクティブ化します。
dotTEST を約 30 分間使用していない場合、ライセンスを自動的に開放されます。

更新された静的解析ルール

以下のルールが更新されました。

...

ルールID

...

CWE および OWASP Top 10 の最新版のサポートが追加されました。

更新された静的解析ルール

以下のルールが更新されました。

ルールID

ルールヘッダー

BD.EXCEPT.AN

ArgumentNullException を避ける

BD.EXCEPT.NR

NullReferenceException を避ける

BD.PB.DEREF

null チェックの前に間接参照しない

BD.PB.EVIPT

呼び出しパラメーターの型をデリゲートの定義に一致させる

BD.PB.STRNULL

文字列に null を付加しない

BD.PB.VOVR

未使用の値を避ける

BD.PB.ZERO

ゼロによる除算を避ける

BD.TRS.DIFCS

変数は単一のクリティカル セクションのコンテキストで使用するべきである

BD

.SECURITY.TDXSS

XSS 脆弱性から防御する

BRM.MLL

行の長さをあらかじめ決められたパラメーター以内に保つ

OPU.CPNEQ

Equals(Object) メソッドのパラメーターと null を比較する

BRM.MLL

行の長さをあらかじめ決められたパラメーター以内に保つ

以下のルールの出力メッセージが更新されました。そのため、以前に DTP で関連付けられたこれらのルールの抑制はもう利用できない場合があります。

ルールID

ルールヘッダー

SEC.ALSI

機密情報をログに記録しない

.TRS.MUTEX

未解放の mutex を放棄しない

CMUG.MU.AUPM

未使用の private メソッドを避ける

CS.BRM.SWDEFLAST

switch 文の最後の case として default を配置する

CS.BRM.UCO

条件演算子 ('?') の代わりに null 合体演算子 ('??') を使用する

CS.EU.VZS

すべての列挙型に値が 0 のメンバーがあることを確認する

CS.PB.CEB

内容が空の条件文を避ける

CS.PB.IDNE

効果のないインクリメント文およびデクリメント文を避ける

CS.PB.NACC

アクセスできないクラスおよび構造体を避ける

EXCEPT.NCSAE

'Exception'、'SystemException'、'ApplicationException' に対する "catch" の使用を避ける

METRIC.CC

McCabe Cyclomatic Complexity

METRIC.ECC

Essential Cyclomatic Complexity

METRIC.MCC

Modified Cyclomatic Complexity

SEC.ACWNS

名前空間のないクラスがあるべきではない

SEC.WEB.UAA

ページおよびコントローラーで authorization 属性を使用する

RuleWizard が改善されました。これに伴いRuleWizard で作成したカスタム ルールのレポートする違反が、以前のリリースとは異なる場合があります。