@dxworks/insider 2.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/build.yml +19 -0
- package/.github/workflows/release-docs.yml +15 -0
- package/.github/workflows/release-voyager.yml +57 -0
- package/.github/workflows/release.yml +102 -0
- package/Dockerfile +8 -0
- package/README.md +89 -0
- package/TODO.txt +7 -0
- package/bin/insider.bat +1 -0
- package/bin/insider.sh +1 -0
- package/build.gradle +55 -0
- package/config/.ignore +4 -0
- package/config/comments.json +71 -0
- package/config/fingerprints/_anomalies-full.json +116 -0
- package/config/fingerprints/_extLibs.json +2555 -0
- package/config/fingerprints/code_smells.json +94 -0
- package/config/fingerprints/generated_code.json +17 -0
- package/config/fingerprints/libraries.json +4667 -0
- package/config/ignoredImports.txt +0 -0
- package/config/insider-conf.properties +3 -0
- package/config/rules/cloud_services/ad_networks.json +50 -0
- package/config/rules/cloud_services/bigdata.json +21 -0
- package/config/rules/cloud_services/cloud_hosting.json +398 -0
- package/config/rules/cloud_services/data_storage.json +291 -0
- package/config/rules/cloud_services/ecommerce.json +45 -0
- package/config/rules/cloud_services/socialmedia.json +82 -0
- package/config/rules/cloud_services/web_analytics.json +108 -0
- package/config/rules/components/active_content.json +157 -0
- package/config/rules/components/load_dll.json +66 -0
- package/config/rules/cryptography/algorithm_implementation.json +62 -0
- package/config/rules/cryptography/certificate.json +199 -0
- package/config/rules/cryptography/ciphers.json +174 -0
- package/config/rules/cryptography/crypto_currency.json +32 -0
- package/config/rules/cryptography/encoding.json +20 -0
- package/config/rules/cryptography/extended.json +220 -0
- package/config/rules/cryptography/external_libraries.json +141 -0
- package/config/rules/cryptography/hash_algorithm.json +98 -0
- package/config/rules/cryptography/key_derivation.json +65 -0
- package/config/rules/cryptography/protocol.json +156 -0
- package/config/rules/cryptography/random.json +97 -0
- package/config/rules/cryptography/weakssl.json +206 -0
- package/config/rules/data_handling/compressed_files.json +18 -0
- package/config/rules/data_handling/database.json +361 -0
- package/config/rules/data_handling/deserialization.json +296 -0
- package/config/rules/data_handling/json_parsing.json +49 -0
- package/config/rules/data_handling/media_parsing.json +33 -0
- package/config/rules/data_handling/pastebin.json +18 -0
- package/config/rules/data_handling/xml_parsing.json +168 -0
- package/config/rules/data_types/financial.json +106 -0
- package/config/rules/data_types/media.json +48 -0
- package/config/rules/data_types/secrets.json +91 -0
- package/config/rules/data_types/sensitive.json +176 -0
- package/config/rules/device_permissions/IOSPermissions.json +240 -0
- package/config/rules/device_permissions/UWP.json +221 -0
- package/config/rules/device_permissions/android_intents.json +599 -0
- package/config/rules/frameworks/PHP.json +172 -0
- package/config/rules/frameworks/build.json +189 -0
- package/config/rules/frameworks/c.json +45 -0
- package/config/rules/frameworks/csharp-nonMS.json +19 -0
- package/config/rules/frameworks/java.json +291 -0
- package/config/rules/frameworks/javascript.json +318 -0
- package/config/rules/frameworks/logging.json +103 -0
- package/config/rules/frameworks/microsoft.json +257 -0
- package/config/rules/frameworks/python.json +274 -0
- package/config/rules/frameworks/ruby.json +53 -0
- package/config/rules/frameworks/rust.json +77 -0
- package/config/rules/general/OSS_license.json +146 -0
- package/config/rules/general/code_metrics.json +132 -0
- package/config/rules/general/dependencies.json +199 -0
- package/config/rules/general/hygiene.json +47 -0
- package/config/rules/general/platforms.json +283 -0
- package/config/rules/general/solutioninfo.json +378 -0
- package/config/rules/infrastructure/hashicorp_packers_tmpl.json +18 -0
- package/config/rules/infrastructure/hashicorp_terraform_tmpl.json +19 -0
- package/config/rules/infrastructure/microsoft_arm_tmpl.json +198 -0
- package/config/rules/networkcomms/outbound_network.json +429 -0
- package/config/rules/os/acl.json +250 -0
- package/config/rules/os/dynamic_execution.json +359 -0
- package/config/rules/os/file_io.json +468 -0
- package/config/rules/os/process.json +179 -0
- package/config/rules/os/setenv.json +270 -0
- package/config/rules/os/system_registry.json +237 -0
- package/config/rules/os/user_accts.json +34 -0
- package/config/rules/security_feature/authentication.json +387 -0
- package/config/rules/security_feature/authorization.json +148 -0
- package/config/rules/test_frameworks/cpp_testing.json +194 -0
- package/config/rules/test_frameworks/go_testing.json +18 -0
- package/config/rules/test_frameworks/java_testing.json +720 -0
- package/config/rules/test_frameworks/javascript_testing.json +724 -0
- package/config/rules/test_frameworks/objectiveC_testing.json +146 -0
- package/config/rules/test_frameworks/php_testing.json +156 -0
- package/config/rules/test_frameworks/powershell_testing.json +17 -0
- package/config/rules/test_frameworks/python_testing.json +108 -0
- package/config/rules/test_frameworks/ruby_testing.json +114 -0
- package/config/rules/tools/pipeline.json +195 -0
- package/config/rules/webapp/comms.json +89 -0
- package/config/rules/webapp/headers.json +178 -0
- package/config/rules/webapp/media.json +56 -0
- package/config/rules/webapp/sessions.json +228 -0
- package/config/rules/webapp/storage.json +215 -0
- package/dist/config/.ignore +4 -0
- package/dist/config/comments.json +71 -0
- package/dist/config/fingerprints/_anomalies-full.json +116 -0
- package/dist/config/fingerprints/_extLibs.json +2555 -0
- package/dist/config/fingerprints/code_smells.json +94 -0
- package/dist/config/fingerprints/generated_code.json +17 -0
- package/dist/config/fingerprints/libraries.json +4667 -0
- package/dist/config/ignoredImports.txt +0 -0
- package/dist/config/insider-conf.properties +3 -0
- package/dist/config/rules/cloud_services/ad_networks.json +50 -0
- package/dist/config/rules/cloud_services/bigdata.json +21 -0
- package/dist/config/rules/cloud_services/cloud_hosting.json +398 -0
- package/dist/config/rules/cloud_services/data_storage.json +291 -0
- package/dist/config/rules/cloud_services/ecommerce.json +45 -0
- package/dist/config/rules/cloud_services/socialmedia.json +82 -0
- package/dist/config/rules/cloud_services/web_analytics.json +108 -0
- package/dist/config/rules/components/active_content.json +157 -0
- package/dist/config/rules/components/load_dll.json +66 -0
- package/dist/config/rules/cryptography/algorithm_implementation.json +62 -0
- package/dist/config/rules/cryptography/certificate.json +199 -0
- package/dist/config/rules/cryptography/ciphers.json +174 -0
- package/dist/config/rules/cryptography/crypto_currency.json +32 -0
- package/dist/config/rules/cryptography/encoding.json +20 -0
- package/dist/config/rules/cryptography/extended.json +220 -0
- package/dist/config/rules/cryptography/external_libraries.json +141 -0
- package/dist/config/rules/cryptography/hash_algorithm.json +98 -0
- package/dist/config/rules/cryptography/key_derivation.json +65 -0
- package/dist/config/rules/cryptography/protocol.json +156 -0
- package/dist/config/rules/cryptography/random.json +97 -0
- package/dist/config/rules/cryptography/weakssl.json +206 -0
- package/dist/config/rules/data_handling/compressed_files.json +18 -0
- package/dist/config/rules/data_handling/database.json +361 -0
- package/dist/config/rules/data_handling/deserialization.json +296 -0
- package/dist/config/rules/data_handling/json_parsing.json +49 -0
- package/dist/config/rules/data_handling/media_parsing.json +33 -0
- package/dist/config/rules/data_handling/pastebin.json +18 -0
- package/dist/config/rules/data_handling/xml_parsing.json +168 -0
- package/dist/config/rules/data_types/financial.json +106 -0
- package/dist/config/rules/data_types/media.json +48 -0
- package/dist/config/rules/data_types/secrets.json +91 -0
- package/dist/config/rules/data_types/sensitive.json +176 -0
- package/dist/config/rules/device_permissions/IOSPermissions.json +240 -0
- package/dist/config/rules/device_permissions/UWP.json +221 -0
- package/dist/config/rules/device_permissions/android_intents.json +599 -0
- package/dist/config/rules/frameworks/PHP.json +172 -0
- package/dist/config/rules/frameworks/build.json +189 -0
- package/dist/config/rules/frameworks/c.json +45 -0
- package/dist/config/rules/frameworks/csharp-nonMS.json +19 -0
- package/dist/config/rules/frameworks/java.json +291 -0
- package/dist/config/rules/frameworks/javascript.json +318 -0
- package/dist/config/rules/frameworks/logging.json +103 -0
- package/dist/config/rules/frameworks/microsoft.json +257 -0
- package/dist/config/rules/frameworks/python.json +274 -0
- package/dist/config/rules/frameworks/ruby.json +53 -0
- package/dist/config/rules/frameworks/rust.json +77 -0
- package/dist/config/rules/general/OSS_license.json +146 -0
- package/dist/config/rules/general/code_metrics.json +132 -0
- package/dist/config/rules/general/dependencies.json +199 -0
- package/dist/config/rules/general/hygiene.json +47 -0
- package/dist/config/rules/general/platforms.json +283 -0
- package/dist/config/rules/general/solutioninfo.json +378 -0
- package/dist/config/rules/infrastructure/hashicorp_packers_tmpl.json +18 -0
- package/dist/config/rules/infrastructure/hashicorp_terraform_tmpl.json +19 -0
- package/dist/config/rules/infrastructure/microsoft_arm_tmpl.json +198 -0
- package/dist/config/rules/networkcomms/outbound_network.json +429 -0
- package/dist/config/rules/os/acl.json +250 -0
- package/dist/config/rules/os/dynamic_execution.json +359 -0
- package/dist/config/rules/os/file_io.json +468 -0
- package/dist/config/rules/os/process.json +179 -0
- package/dist/config/rules/os/setenv.json +270 -0
- package/dist/config/rules/os/system_registry.json +237 -0
- package/dist/config/rules/os/user_accts.json +34 -0
- package/dist/config/rules/security_feature/authentication.json +387 -0
- package/dist/config/rules/security_feature/authorization.json +148 -0
- package/dist/config/rules/test_frameworks/cpp_testing.json +194 -0
- package/dist/config/rules/test_frameworks/go_testing.json +18 -0
- package/dist/config/rules/test_frameworks/java_testing.json +720 -0
- package/dist/config/rules/test_frameworks/javascript_testing.json +724 -0
- package/dist/config/rules/test_frameworks/objectiveC_testing.json +146 -0
- package/dist/config/rules/test_frameworks/php_testing.json +156 -0
- package/dist/config/rules/test_frameworks/powershell_testing.json +17 -0
- package/dist/config/rules/test_frameworks/python_testing.json +108 -0
- package/dist/config/rules/test_frameworks/ruby_testing.json +114 -0
- package/dist/config/rules/tools/pipeline.json +195 -0
- package/dist/config/rules/webapp/comms.json +89 -0
- package/dist/config/rules/webapp/headers.json +178 -0
- package/dist/config/rules/webapp/media.json +56 -0
- package/dist/config/rules/webapp/sessions.json +228 -0
- package/dist/config/rules/webapp/storage.json +215 -0
- package/dist/index.js +13 -0
- package/dist/insider.jar +0 -0
- package/dist/insider.js +7 -0
- package/dist/lib.js +21 -0
- package/docs/config/config.md +3 -0
- package/docs/config/ignore.md +3 -0
- package/docs/config/languages.md +3 -0
- package/docs/index.md +58 -0
- package/dxworks-site.json +13 -0
- package/gradle.properties +0 -0
- package/gradlew +240 -0
- package/gradlew.bat +91 -0
- package/insider/README.md +89 -0
- package/insider/config/.ignore +4 -0
- package/insider/config/comments.json +71 -0
- package/insider/config/fingerprints/_anomalies-full.json +116 -0
- package/insider/config/fingerprints/_extLibs.json +2555 -0
- package/insider/config/fingerprints/code_smells.json +94 -0
- package/insider/config/fingerprints/generated_code.json +17 -0
- package/insider/config/fingerprints/libraries.json +4667 -0
- package/insider/config/ignoredImports.txt +0 -0
- package/insider/config/insider-conf.properties +3 -0
- package/insider/config/rules/cloud_services/ad_networks.json +50 -0
- package/insider/config/rules/cloud_services/bigdata.json +21 -0
- package/insider/config/rules/cloud_services/cloud_hosting.json +398 -0
- package/insider/config/rules/cloud_services/data_storage.json +291 -0
- package/insider/config/rules/cloud_services/ecommerce.json +45 -0
- package/insider/config/rules/cloud_services/socialmedia.json +82 -0
- package/insider/config/rules/cloud_services/web_analytics.json +108 -0
- package/insider/config/rules/components/active_content.json +157 -0
- package/insider/config/rules/components/load_dll.json +66 -0
- package/insider/config/rules/cryptography/algorithm_implementation.json +62 -0
- package/insider/config/rules/cryptography/certificate.json +199 -0
- package/insider/config/rules/cryptography/ciphers.json +174 -0
- package/insider/config/rules/cryptography/crypto_currency.json +32 -0
- package/insider/config/rules/cryptography/encoding.json +20 -0
- package/insider/config/rules/cryptography/extended.json +220 -0
- package/insider/config/rules/cryptography/external_libraries.json +141 -0
- package/insider/config/rules/cryptography/hash_algorithm.json +98 -0
- package/insider/config/rules/cryptography/key_derivation.json +65 -0
- package/insider/config/rules/cryptography/protocol.json +156 -0
- package/insider/config/rules/cryptography/random.json +97 -0
- package/insider/config/rules/cryptography/weakssl.json +206 -0
- package/insider/config/rules/data_handling/compressed_files.json +18 -0
- package/insider/config/rules/data_handling/database.json +361 -0
- package/insider/config/rules/data_handling/deserialization.json +296 -0
- package/insider/config/rules/data_handling/json_parsing.json +49 -0
- package/insider/config/rules/data_handling/media_parsing.json +33 -0
- package/insider/config/rules/data_handling/pastebin.json +18 -0
- package/insider/config/rules/data_handling/xml_parsing.json +168 -0
- package/insider/config/rules/data_types/financial.json +106 -0
- package/insider/config/rules/data_types/media.json +48 -0
- package/insider/config/rules/data_types/secrets.json +91 -0
- package/insider/config/rules/data_types/sensitive.json +176 -0
- package/insider/config/rules/device_permissions/IOSPermissions.json +240 -0
- package/insider/config/rules/device_permissions/UWP.json +221 -0
- package/insider/config/rules/device_permissions/android_intents.json +599 -0
- package/insider/config/rules/frameworks/PHP.json +172 -0
- package/insider/config/rules/frameworks/build.json +189 -0
- package/insider/config/rules/frameworks/c.json +45 -0
- package/insider/config/rules/frameworks/csharp-nonMS.json +19 -0
- package/insider/config/rules/frameworks/java.json +291 -0
- package/insider/config/rules/frameworks/javascript.json +318 -0
- package/insider/config/rules/frameworks/logging.json +103 -0
- package/insider/config/rules/frameworks/microsoft.json +257 -0
- package/insider/config/rules/frameworks/python.json +274 -0
- package/insider/config/rules/frameworks/ruby.json +53 -0
- package/insider/config/rules/frameworks/rust.json +77 -0
- package/insider/config/rules/general/OSS_license.json +146 -0
- package/insider/config/rules/general/code_metrics.json +132 -0
- package/insider/config/rules/general/dependencies.json +199 -0
- package/insider/config/rules/general/hygiene.json +47 -0
- package/insider/config/rules/general/platforms.json +283 -0
- package/insider/config/rules/general/solutioninfo.json +378 -0
- package/insider/config/rules/infrastructure/hashicorp_packers_tmpl.json +18 -0
- package/insider/config/rules/infrastructure/hashicorp_terraform_tmpl.json +19 -0
- package/insider/config/rules/infrastructure/microsoft_arm_tmpl.json +198 -0
- package/insider/config/rules/networkcomms/outbound_network.json +429 -0
- package/insider/config/rules/os/acl.json +250 -0
- package/insider/config/rules/os/dynamic_execution.json +359 -0
- package/insider/config/rules/os/file_io.json +468 -0
- package/insider/config/rules/os/process.json +179 -0
- package/insider/config/rules/os/setenv.json +270 -0
- package/insider/config/rules/os/system_registry.json +237 -0
- package/insider/config/rules/os/user_accts.json +34 -0
- package/insider/config/rules/security_feature/authentication.json +387 -0
- package/insider/config/rules/security_feature/authorization.json +148 -0
- package/insider/config/rules/test_frameworks/cpp_testing.json +194 -0
- package/insider/config/rules/test_frameworks/go_testing.json +18 -0
- package/insider/config/rules/test_frameworks/java_testing.json +720 -0
- package/insider/config/rules/test_frameworks/javascript_testing.json +724 -0
- package/insider/config/rules/test_frameworks/objectiveC_testing.json +146 -0
- package/insider/config/rules/test_frameworks/php_testing.json +156 -0
- package/insider/config/rules/test_frameworks/powershell_testing.json +17 -0
- package/insider/config/rules/test_frameworks/python_testing.json +108 -0
- package/insider/config/rules/test_frameworks/ruby_testing.json +114 -0
- package/insider/config/rules/tools/pipeline.json +195 -0
- package/insider/config/rules/webapp/comms.json +89 -0
- package/insider/config/rules/webapp/headers.json +178 -0
- package/insider/config/rules/webapp/media.json +56 -0
- package/insider/config/rules/webapp/sessions.json +228 -0
- package/insider/config/rules/webapp/storage.json +215 -0
- package/insider/insider.bat +1 -0
- package/insider/insider.jar +0 -0
- package/insider/insider.sh +1 -0
- package/insider/languages.yml +3988 -0
- package/instrument.yml +37 -0
- package/languages.yml +3988 -0
- package/lib/index.js +13 -0
- package/lib/insider.js +7 -0
- package/lib/lib.js +21 -0
- package/lombok.config +2 -0
- package/mkdocs.yml +18 -0
- package/package.json +51 -0
- package/releaseNotes/v2.6.0.md +1 -0
- package/releaseNotes/v2.7.1.md +1 -0
- package/settings.gradle +2 -0
- package/src/main/java/org/dxworks/insider/ChronosTag.java +14 -0
- package/src/main/java/org/dxworks/insider/Insider.java +214 -0
- package/src/main/java/org/dxworks/insider/InsiderAnalysis.java +7 -0
- package/src/main/java/org/dxworks/insider/InsiderFile.java +125 -0
- package/src/main/java/org/dxworks/insider/InsiderOptions.java +78 -0
- package/src/main/java/org/dxworks/insider/InsiderResult.java +15 -0
- package/src/main/java/org/dxworks/insider/application/inspector/CodeRuleExtractor.java +14 -0
- package/src/main/java/org/dxworks/insider/application/inspector/CommentRuleExtractor.java +14 -0
- package/src/main/java/org/dxworks/insider/application/inspector/FileRuleExtractor.java +14 -0
- package/src/main/java/org/dxworks/insider/application/inspector/RuleExtractor.java +11 -0
- package/src/main/java/org/dxworks/insider/application/inspector/dtos/Comment.java +18 -0
- package/src/main/java/org/dxworks/insider/application/inspector/dtos/CommentPattern.java +44 -0
- package/src/main/java/org/dxworks/insider/application/inspector/dtos/Condition.java +15 -0
- package/src/main/java/org/dxworks/insider/application/inspector/dtos/InsiderPattern.java +149 -0
- package/src/main/java/org/dxworks/insider/application/inspector/dtos/PatternMatch.java +23 -0
- package/src/main/java/org/dxworks/insider/application/inspector/dtos/Rule.java +61 -0
- package/src/main/java/org/dxworks/insider/application/inspector/services/CommentService.java +165 -0
- package/src/main/java/org/dxworks/insider/application/inspector/services/RuleService.java +54 -0
- package/src/main/java/org/dxworks/insider/commands/AddCommand.java +125 -0
- package/src/main/java/org/dxworks/insider/commands/AllFilesCommand.java +4 -0
- package/src/main/java/org/dxworks/insider/commands/ConvertCommand.java +55 -0
- package/src/main/java/org/dxworks/insider/commands/DetectCommand.java +42 -0
- package/src/main/java/org/dxworks/insider/commands/DiagnoseCommand.java +74 -0
- package/src/main/java/org/dxworks/insider/commands/ExtractCommand.java +35 -0
- package/src/main/java/org/dxworks/insider/commands/FindCommand.java +102 -0
- package/src/main/java/org/dxworks/insider/commands/HelpCommand.java +56 -0
- package/src/main/java/org/dxworks/insider/commands/IndentationCount.java +69 -0
- package/src/main/java/org/dxworks/insider/commands/InsiderCommand.java +71 -0
- package/src/main/java/org/dxworks/insider/commands/InspectCommand.java +98 -0
- package/src/main/java/org/dxworks/insider/commands/MeasureCommand.java +47 -0
- package/src/main/java/org/dxworks/insider/commands/NoFilesCommand.java +4 -0
- package/src/main/java/org/dxworks/insider/commands/VersionCommand.java +34 -0
- package/src/main/java/org/dxworks/insider/configuration/InsiderConfiguration.java +123 -0
- package/src/main/java/org/dxworks/insider/constants/InsiderConstants.java +19 -0
- package/src/main/java/org/dxworks/insider/depext/AbstractImportsProcessor.java +57 -0
- package/src/main/java/org/dxworks/insider/depext/CPPImportsProcessor.java +55 -0
- package/src/main/java/org/dxworks/insider/depext/CSharpImportsProcessor.java +53 -0
- package/src/main/java/org/dxworks/insider/depext/DependencyExtractor.java +105 -0
- package/src/main/java/org/dxworks/insider/depext/ImportItem.java +19 -0
- package/src/main/java/org/dxworks/insider/depext/ImportResult.java +32 -0
- package/src/main/java/org/dxworks/insider/depext/JavastackImportsProcessor.java +88 -0
- package/src/main/java/org/dxworks/insider/depext/VBImportsProcessor.java +41 -0
- package/src/main/java/org/dxworks/insider/exceptions/InsiderException.java +7 -0
- package/src/main/java/org/dxworks/insider/library/detector/C_ImportsContainer.java +73 -0
- package/src/main/java/org/dxworks/insider/library/detector/ImportsContainer.java +122 -0
- package/src/main/java/org/dxworks/insider/library/detector/JavaImportsContainer.java +63 -0
- package/src/main/java/org/dxworks/insider/library/detector/LibraryDetector.java +150 -0
- package/src/main/java/org/dxworks/insider/library/detector/LibraryDetectorLanguage.java +6 -0
- package/src/main/java/org/dxworks/insider/library/detector/model/PackagingUnit.java +26 -0
- package/src/main/java/org/dxworks/insider/technology/finder/LinguistService.java +79 -0
- package/src/main/java/org/dxworks/insider/technology/finder/converters/XmlToJsonConverter.java +41 -0
- package/src/main/java/org/dxworks/insider/technology/finder/exceptions/FingerprintParseException.java +7 -0
- package/src/main/java/org/dxworks/insider/technology/finder/model/Technology.java +73 -0
- package/src/main/java/org/dxworks/insider/technology/finder/model/json/JsonConfigurationDTO.java +14 -0
- package/src/main/java/org/dxworks/insider/technology/finder/model/json/TechnologyJsonDTO.java +66 -0
- package/src/main/java/org/dxworks/insider/technology/finder/model/xml/old/CategoryXmlDTO.java +21 -0
- package/src/main/java/org/dxworks/insider/technology/finder/model/xml/old/ConfigurationDataXmlDTO.java +17 -0
- package/src/main/java/org/dxworks/insider/technology/finder/model/xml/old/FingerprintXmlDTO.java +17 -0
- package/src/main/java/org/dxworks/insider/technology/finder/model/xml/old/LanguageXmlDTO.java +20 -0
- package/src/main/java/org/dxworks/insider/technology/finder/model/xml/old/LanguagesXmlDTO.java +18 -0
- package/src/main/java/org/dxworks/insider/technology/finder/model/xml/old/TechnologyXmlDTO.java +19 -0
- package/src/main/java/org/dxworks/insider/technology/finder/model/xml/old/XmlConfigurationDTO.java +17 -0
- package/src/main/java/org/dxworks/insider/technology/finder/parsers/FingerprintsParser.java +14 -0
- package/src/main/java/org/dxworks/insider/technology/finder/parsers/FingerprintsXmlParser.java +57 -0
- package/src/main/java/org/dxworks/insider/technology/finder/parsers/JavaLibrariesCsvParser.java +71 -0
- package/src/main/java/org/dxworks/insider/technology/finder/parsers/JsonFingerprintParser.java +58 -0
- package/src/main/java/org/dxworks/insider/utils/FileUtils.java +45 -0
- package/src/main/java/org/dxworks/insider/utils/ImportUtils.java +21 -0
- package/src/main/java/org/dxworks/insider/utils/LibraryImport.java +17 -0
- package/src/main/java/org/dxworks/insider/utils/LibraryImportInOtherTechnology.java +30 -0
- package/src/main/java/org/dxworks/insider/utils/MapUtils.java +19 -0
- package/src/main/resources/insider-version +1 -0
- package/src/test/java/org/dxworks/insider/application/inspector/services/CommentServiceTest.java +40 -0
- package/src/test/java/org/dxworks/insider/technology/finder/parsers/FingerprintsXmlParserTest.java +15 -0
- package/src/test/java/org/dxworks/insider/utils/FileUtilsTest.java +31 -0
- package/src/test/java/org/dxworks/insider/utils/ImportUtilsTest.java +24 -0
- package/src/test/java/org/dxworks/insider/utils/transformers/JsonToCsvTransformerTest.java +18 -0
- package/src/test/resources/Test1.java +21 -0
- package/src/test/resources/Test2.java +21 -0
- package/src/test/resources/cobol/CM201M.CBL +88 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
name: Build
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
build:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
steps:
|
|
11
|
+
- uses: actions/checkout@v4
|
|
12
|
+
|
|
13
|
+
- name: Set up Java for publishing to GitHub Packages
|
|
14
|
+
uses: actions/setup-java@v3
|
|
15
|
+
with:
|
|
16
|
+
java-version: 11
|
|
17
|
+
|
|
18
|
+
- name: Gradle Build
|
|
19
|
+
run: gradle clean build
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
name: Release Docs
|
|
2
|
+
on:
|
|
3
|
+
push:
|
|
4
|
+
branches:
|
|
5
|
+
- docs
|
|
6
|
+
jobs:
|
|
7
|
+
deploy:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- uses: actions/checkout@v4
|
|
11
|
+
- uses: actions/setup-python@v2
|
|
12
|
+
with:
|
|
13
|
+
python-version: 3.x
|
|
14
|
+
- run: pip install mkdocs-material
|
|
15
|
+
- run: mkdocs gh-deploy --force
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
on:
|
|
2
|
+
push:
|
|
3
|
+
tags:
|
|
4
|
+
- 'v*-voyager'
|
|
5
|
+
|
|
6
|
+
name: Create Release
|
|
7
|
+
|
|
8
|
+
jobs:
|
|
9
|
+
release:
|
|
10
|
+
name: Release
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
steps:
|
|
13
|
+
- name: Checkout code
|
|
14
|
+
uses: actions/checkout@v4
|
|
15
|
+
- name: Tag Name
|
|
16
|
+
id: tag_name
|
|
17
|
+
run: |
|
|
18
|
+
echo ::set-output name=TAG_NAME::${GITHUB_REF#refs/tags/}
|
|
19
|
+
|
|
20
|
+
- name: Set Version
|
|
21
|
+
run: echo ${TAG_NAME} > src/main/resources/insider-version
|
|
22
|
+
- name: Build
|
|
23
|
+
run: gradle clean build
|
|
24
|
+
- name: Prepare Assets
|
|
25
|
+
run: |
|
|
26
|
+
mkdir insider
|
|
27
|
+
mkdir insider/results
|
|
28
|
+
cp README.md insider/README.md
|
|
29
|
+
cp build/libs/insider*.jar insider/insider.jar
|
|
30
|
+
cp bin/insider.sh insider/insider.sh
|
|
31
|
+
chmod +x insider/insider.sh
|
|
32
|
+
cp bin/insider.bat insider/insider.bat
|
|
33
|
+
cp instrument.yml insider/instrument.yml
|
|
34
|
+
cp languages.yml insider/languages.yml
|
|
35
|
+
cp -R config insider/config
|
|
36
|
+
- name: Create Archive
|
|
37
|
+
run: zip -r insider.zip insider
|
|
38
|
+
- name: Create Release
|
|
39
|
+
id: create_release
|
|
40
|
+
uses: actions/create-release@v1
|
|
41
|
+
env:
|
|
42
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
43
|
+
with:
|
|
44
|
+
tag_name: ${{ github.ref }}
|
|
45
|
+
release_name: Insider ${{ github.ref }}
|
|
46
|
+
draft: false
|
|
47
|
+
prerelease: false
|
|
48
|
+
- name: Upload Release Asset
|
|
49
|
+
id: upload-release-asset
|
|
50
|
+
uses: actions/upload-release-asset@v1
|
|
51
|
+
env:
|
|
52
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
53
|
+
with:
|
|
54
|
+
upload_url: ${{ steps.create_release.outputs.upload_url }}
|
|
55
|
+
asset_path: ./insider.zip
|
|
56
|
+
asset_name: insider-voyager.zip
|
|
57
|
+
asset_content_type: application/zip
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
on:
|
|
2
|
+
push:
|
|
3
|
+
tags:
|
|
4
|
+
- 'v*'
|
|
5
|
+
- '!**-voyager'
|
|
6
|
+
|
|
7
|
+
name: Create Release
|
|
8
|
+
|
|
9
|
+
jobs:
|
|
10
|
+
release:
|
|
11
|
+
name: Release
|
|
12
|
+
runs-on: ubuntu-latest
|
|
13
|
+
permissions:
|
|
14
|
+
contents: write
|
|
15
|
+
packages: write
|
|
16
|
+
|
|
17
|
+
steps:
|
|
18
|
+
- name: Checkout code
|
|
19
|
+
uses: actions/checkout@v4
|
|
20
|
+
|
|
21
|
+
- name: Extract Semver
|
|
22
|
+
id: semver_parser
|
|
23
|
+
run: |
|
|
24
|
+
semver=${TAG#"refs/tags/v"}
|
|
25
|
+
semver=${semver%"-voyager"}
|
|
26
|
+
|
|
27
|
+
echo ::set-output name=semver::$semver
|
|
28
|
+
env:
|
|
29
|
+
TAG: ${{ github.ref }}
|
|
30
|
+
|
|
31
|
+
- name: Set Version
|
|
32
|
+
run: echo ${{ steps.semver_parser.outputs.semver }} > src/main/resources/insider-version
|
|
33
|
+
- name: Build
|
|
34
|
+
run: gradle clean build
|
|
35
|
+
- name: Prepare Assets
|
|
36
|
+
run: |
|
|
37
|
+
mkdir insider
|
|
38
|
+
mkdir insider/results
|
|
39
|
+
cp README.md insider/README.md
|
|
40
|
+
cp build/libs/insider*.jar insider/insider.jar
|
|
41
|
+
cp bin/insider.sh insider/insider.sh
|
|
42
|
+
cp bin/insider.bat insider/insider.bat
|
|
43
|
+
chmod +x insider/insider.sh
|
|
44
|
+
cp languages.yml insider/languages.yml
|
|
45
|
+
cp -R config insider/config
|
|
46
|
+
|
|
47
|
+
- name: Create Archive
|
|
48
|
+
run: zip -r insider.zip insider
|
|
49
|
+
|
|
50
|
+
- name: Setup Node
|
|
51
|
+
uses: actions/setup-node@v3
|
|
52
|
+
with:
|
|
53
|
+
node-version: '18.x'
|
|
54
|
+
cache: 'npm'
|
|
55
|
+
registry-url: 'https://npm.pkg.github.com'
|
|
56
|
+
scope: '@dxworks'
|
|
57
|
+
|
|
58
|
+
- name: Prepare Node App
|
|
59
|
+
run: |
|
|
60
|
+
npm ci
|
|
61
|
+
npm run build
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
- name: Setup Version
|
|
65
|
+
run: |
|
|
66
|
+
ls -al node_modules/.bin
|
|
67
|
+
node_modules/.bin/json -I -f package.json -e "this.version='$VERSION'"
|
|
68
|
+
env:
|
|
69
|
+
VERSION: ${{ steps.semver_parser.outputs.semver }}
|
|
70
|
+
|
|
71
|
+
- name: Publish NPM
|
|
72
|
+
run: npm publish
|
|
73
|
+
env:
|
|
74
|
+
NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
75
|
+
|
|
76
|
+
- name: Setup Node with NPM Package Registry
|
|
77
|
+
uses: actions/setup-node@v3
|
|
78
|
+
with:
|
|
79
|
+
node-version: '18.x'
|
|
80
|
+
cache: 'npm'
|
|
81
|
+
registry-url: 'https://registry.npmjs.org'
|
|
82
|
+
scope: '@dxworks'
|
|
83
|
+
|
|
84
|
+
- name: Publish on NPM
|
|
85
|
+
run: npm publish --access public
|
|
86
|
+
env:
|
|
87
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
|
88
|
+
|
|
89
|
+
- name: Prepare Release Notes
|
|
90
|
+
run: touch ${{ github.workspace }}/releaseNotes/v${{ steps.semver_parser.outputs.semver }}.md
|
|
91
|
+
|
|
92
|
+
- name: Create Release
|
|
93
|
+
id: create_release
|
|
94
|
+
uses: softprops/action-gh-release@v1
|
|
95
|
+
with:
|
|
96
|
+
name: Insider ${{ steps.semver_parser.outputs.semver }}
|
|
97
|
+
body_path: ${{ github.workspace }}/releaseNotes/v${{ steps.semver_parser.outputs.semver }}.md
|
|
98
|
+
body: ""
|
|
99
|
+
prerelease: false
|
|
100
|
+
draft: false
|
|
101
|
+
fail_on_unmatched_files: true
|
|
102
|
+
files: insider.zip
|
package/Dockerfile
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
FROM openjdk:11
|
|
2
|
+
WORKDIR /app
|
|
3
|
+
ENV JAVA_TOOL_OPTIONS -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n
|
|
4
|
+
COPY ./build/libs/insider-*.jar /app/insider.jar
|
|
5
|
+
COPY config/ /app/config/
|
|
6
|
+
|
|
7
|
+
COPY bin/insider.sh /app/insider.sh
|
|
8
|
+
RUN chmod +x /app/insider.sh
|
package/README.md
ADDED
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Insider
|
|
2
|
+
|
|
3
|
+
Insider is a belt of tools built on the idea of searching regular expressions in code. Insider is able to detect code
|
|
4
|
+
smells, the usage of external libraries and the topics that a software project approaches by only using Regex. This
|
|
5
|
+
means that Insider does not use any type of parsing and is therefore language independent.
|
|
6
|
+
|
|
7
|
+
## Installation
|
|
8
|
+
|
|
9
|
+
### From Github
|
|
10
|
+
|
|
11
|
+
To install Insider from Github, please download from the [latest release](https://github.com/dxworks/insider/releases)
|
|
12
|
+
from Github, the `insider.zip` archive and unzip it to a specific location. The contents of this archive are:
|
|
13
|
+
|
|
14
|
+
* `insider-*.jar` - the executable jar file
|
|
15
|
+
* `insider.bat` - a batch script for executing Insider on Windows
|
|
16
|
+
* `insider.sh` - a shell script for executing insider on Windows
|
|
17
|
+
* `config` - a folder for configuration files, described more in the [Configuration Section](#Configuration)
|
|
18
|
+
* `results` - a folder where Insider will output the results.
|
|
19
|
+
|
|
20
|
+
### From Docker
|
|
21
|
+
|
|
22
|
+
...
|
|
23
|
+
|
|
24
|
+
### From Code
|
|
25
|
+
|
|
26
|
+
Clone the repository from [here](https://github.com/dxworks/insider).
|
|
27
|
+
|
|
28
|
+
Run `gradle clean build` to obtain an executable jar.
|
|
29
|
+
|
|
30
|
+
## Configuration
|
|
31
|
+
|
|
32
|
+
Edit the configuration file (*config/insider-conf.properties*), to **specify the root folder** of the project's sources.
|
|
33
|
+
|
|
34
|
+
## Commands
|
|
35
|
+
|
|
36
|
+
### Find Command
|
|
37
|
+
|
|
38
|
+
* In order to find the occurrences of the libraries in the analyzed project. Use the following command (run Insider
|
|
39
|
+
using the **insider.bat** or **insider.sh** script):
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
insider.sh find config/libraries.json
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
* Detect Simple Code Smells. Use the following command (run Insider using the **insider.bat** or **insider.sh** script):
|
|
46
|
+
|
|
47
|
+
```
|
|
48
|
+
insider.sh find config/code_smells.json
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
* You can also run the *find* command with both files at once:
|
|
52
|
+
|
|
53
|
+
```
|
|
54
|
+
insider.sh find config/libraries.json config/code_smells.json
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
The commands will generate two *.json* files (**_PROJECT_ID-libraries.json_** and **_PROJECT_ID-code_smells.json_**) in
|
|
58
|
+
the **results** folder.
|
|
59
|
+
|
|
60
|
+
## Voyager Integration
|
|
61
|
+
|
|
62
|
+
Insider is also a Voyager Instrument. To configure Insider from Voyager you can add the following fields in the `mission.yml` file:
|
|
63
|
+
|
|
64
|
+
```yaml
|
|
65
|
+
# A map of instrument names to commands and parameters.
|
|
66
|
+
# When 'runsAll' is false the mission will run only the instruments
|
|
67
|
+
# with the commands declared here, in this order.
|
|
68
|
+
instruments:
|
|
69
|
+
insider:
|
|
70
|
+
# A map of parameter name to value
|
|
71
|
+
# Only add the parameters you want to override (the default values are written here)
|
|
72
|
+
parameters:
|
|
73
|
+
max-heap: 4g # will configure the maximum heap space the jvm process will get. For large process may be needed to be set to 16g or higher
|
|
74
|
+
findConfig: 'config/fingerprints/code_smells.json config/fingerprints/libraries.json' # a space separated list of insider fingerprints
|
|
75
|
+
inspectConfig: 'config/rules' # a space separated list of folders or Application Inspector specific rules, like the ones here: https://github.com/microsoft/ApplicationInspector/tree/main/AppInspector/rules/default
|
|
76
|
+
|
|
77
|
+
# A map of environment variables, name to value, for voyager missions
|
|
78
|
+
# overwrites the variables from global config, instrument and command
|
|
79
|
+
# Only set the environment variables you need.
|
|
80
|
+
environment:
|
|
81
|
+
INSIDER_LANGUAGES: 'java,c++,c#' # a comma separated list of the languages to analyse (just a sample example)
|
|
82
|
+
INSIDER_LINGUIST_FILE: "${instrument}/languages.yml" # a file containing languages to extension mappings according to [GitHub Linguist](https://github.com/github/linguist/blob/master/lib/linguist/languages.yml)
|
|
83
|
+
INSIDER_DEPEXT_MAX_NAMESPACE_LENGTH: 200 # the maximum length of a namespace for DepExt analysis
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
## Acknowledgements
|
|
87
|
+
|
|
88
|
+
The `inspect` command is inspired by the [Application Inspector](https://github.com/microsoft/ApplicationInspector)
|
|
89
|
+
project created by Microsoft. Insider even uses the same input files as Application Inspector.
|
package/TODO.txt
ADDED
package/bin/insider.bat
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
java -Xmx4g -jar insider.jar %*
|
package/bin/insider.sh
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
java -jar -Xmx4g insider.jar $@
|
package/build.gradle
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
plugins {
|
|
2
|
+
id 'java'
|
|
3
|
+
id 'io.freefair.lombok' version '6.6'
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
group 'org.dxworks'
|
|
7
|
+
version '2.6.0-SNAPSHOT'
|
|
8
|
+
|
|
9
|
+
sourceCompatibility = 11
|
|
10
|
+
|
|
11
|
+
repositories {
|
|
12
|
+
mavenCentral()
|
|
13
|
+
mavenLocal()
|
|
14
|
+
maven {
|
|
15
|
+
name 'ossrh'
|
|
16
|
+
url 'https://s01.oss.sonatype.org/content/repositories/snapshots'
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
dependencies {
|
|
21
|
+
|
|
22
|
+
//command line runner
|
|
23
|
+
implementation group: 'info.picocli', name: 'picocli', version: '4.0.0-alpha-2'
|
|
24
|
+
|
|
25
|
+
implementation group: 'me.tongfei', name: 'progressbar', version: '0.7.2'
|
|
26
|
+
|
|
27
|
+
//data format parsers
|
|
28
|
+
implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.11.0.rc1'
|
|
29
|
+
implementation 'com.opencsv:opencsv:4.1'
|
|
30
|
+
implementation group: 'javax.xml.bind', name: 'jaxb-api', version: '2.2.4'
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
implementation group: 'commons-io', name: 'commons-io', version: '2.6'
|
|
34
|
+
implementation 'commons-lang:commons-lang:2.6'
|
|
35
|
+
implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.1'
|
|
36
|
+
implementation 'org.apache.commons:commons-collections4:4.4'
|
|
37
|
+
|
|
38
|
+
implementation group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3'
|
|
39
|
+
|
|
40
|
+
implementation 'org.dxworks:dx-ignore:1.1.0-SNAPSHOT'
|
|
41
|
+
implementation 'org.dxworks:argumenthor:1.1.0-SNAPSHOT'
|
|
42
|
+
implementation 'org.dxworks:dx-linguist:1.0.0-SNAPSHOT'
|
|
43
|
+
testImplementation group: 'junit', name: 'junit', version: '4.12'
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
jar {
|
|
47
|
+
duplicatesStrategy = DuplicatesStrategy.EXCLUDE
|
|
48
|
+
manifest {
|
|
49
|
+
attributes "Main-Class": "org.dxworks.insider.Insider"
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
from {
|
|
53
|
+
configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) }
|
|
54
|
+
}
|
|
55
|
+
}
|
package/config/.ignore
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
[
|
|
2
|
+
{
|
|
3
|
+
"languages": [
|
|
4
|
+
"c",
|
|
5
|
+
"cpp",
|
|
6
|
+
"csharp",
|
|
7
|
+
"coffeescript",
|
|
8
|
+
"fsharp",
|
|
9
|
+
"go",
|
|
10
|
+
"groovy",
|
|
11
|
+
"jade",
|
|
12
|
+
"oc",
|
|
13
|
+
"rust",
|
|
14
|
+
"swift",
|
|
15
|
+
"javascript",
|
|
16
|
+
"java",
|
|
17
|
+
"typescript",
|
|
18
|
+
"php"
|
|
19
|
+
],
|
|
20
|
+
"inline": "//",
|
|
21
|
+
"preffix": "/*",
|
|
22
|
+
"suffix": "*/"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"languages": [
|
|
26
|
+
"perl",
|
|
27
|
+
"perl6",
|
|
28
|
+
"r",
|
|
29
|
+
"shellscript",
|
|
30
|
+
"ruby",
|
|
31
|
+
"yaml",
|
|
32
|
+
"powershell",
|
|
33
|
+
"python"
|
|
34
|
+
],
|
|
35
|
+
"inline": "#"
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
"languages": [
|
|
39
|
+
"lua",
|
|
40
|
+
"sql"
|
|
41
|
+
],
|
|
42
|
+
"inline": "--"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"languages": [
|
|
46
|
+
"clojure"
|
|
47
|
+
],
|
|
48
|
+
"inline": ";;"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"languages": [
|
|
52
|
+
"vb"
|
|
53
|
+
],
|
|
54
|
+
"inline": "'"
|
|
55
|
+
},
|
|
56
|
+
{
|
|
57
|
+
"languages": [
|
|
58
|
+
"COBOL"
|
|
59
|
+
],
|
|
60
|
+
"inlinePatterns": [
|
|
61
|
+
{
|
|
62
|
+
"pattern": "^.{6}[*/](.*)$",
|
|
63
|
+
"modifiers": ["g", "m"]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"pattern": "(\\*>)(.*)$",
|
|
67
|
+
"modifiers": ["g", "m"]
|
|
68
|
+
}
|
|
69
|
+
]
|
|
70
|
+
}
|
|
71
|
+
]
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
{
|
|
2
|
+
"useProjectPrefix": true,
|
|
3
|
+
"technologies": [
|
|
4
|
+
{
|
|
5
|
+
"category": "Excessive Complexity",
|
|
6
|
+
"name": "Autogenerated Javadoc",
|
|
7
|
+
"languages": [
|
|
8
|
+
"java"
|
|
9
|
+
],
|
|
10
|
+
"extensions": [],
|
|
11
|
+
"fingerprints": [
|
|
12
|
+
"(?i)Auto-generated\\s+Javadoc"
|
|
13
|
+
],
|
|
14
|
+
"wrapAsImports": false
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
"category": "Abnormal Hierarchy Relations",
|
|
18
|
+
"name": "Instanceof Abuser",
|
|
19
|
+
"languages": [
|
|
20
|
+
"java"
|
|
21
|
+
],
|
|
22
|
+
"extensions": [],
|
|
23
|
+
"fingerprints": [
|
|
24
|
+
"instanceof"
|
|
25
|
+
],
|
|
26
|
+
"wrapAsImports": false
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"category": "Abnormal Hierarchy Relations",
|
|
30
|
+
"name": "Stub Implementer",
|
|
31
|
+
"languages": [
|
|
32
|
+
"java"
|
|
33
|
+
],
|
|
34
|
+
"extensions": [],
|
|
35
|
+
"fingerprints": [
|
|
36
|
+
"(?i)Auto-generated method stub",
|
|
37
|
+
"\\{\\s*\\/\\/Overridden Notification Method\\s*\\}",
|
|
38
|
+
"\\{\\s*return null;\\s*\\}"
|
|
39
|
+
],
|
|
40
|
+
"wrapAsImports": false
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"category": "Traceability Issues",
|
|
44
|
+
"name": "Console Writing",
|
|
45
|
+
"languages": [
|
|
46
|
+
"java"
|
|
47
|
+
],
|
|
48
|
+
"extensions": [],
|
|
49
|
+
"fingerprints": [
|
|
50
|
+
"System\\.out\\.print",
|
|
51
|
+
"System\\.err\\.print"
|
|
52
|
+
],
|
|
53
|
+
"wrapAsImports": false
|
|
54
|
+
},
|
|
55
|
+
{
|
|
56
|
+
"category": "Traceability Issues",
|
|
57
|
+
"name": "Stacktrace Dump",
|
|
58
|
+
"languages": [
|
|
59
|
+
"java"
|
|
60
|
+
],
|
|
61
|
+
"extensions": [],
|
|
62
|
+
"fingerprints": [
|
|
63
|
+
"printStackTrace\\("
|
|
64
|
+
],
|
|
65
|
+
"wrapAsImports": false
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"category": "Traceability Issues",
|
|
69
|
+
"name": "Catch Top-Level Exception",
|
|
70
|
+
"languages": [
|
|
71
|
+
"java"
|
|
72
|
+
],
|
|
73
|
+
"extensions": [],
|
|
74
|
+
"fingerprints": [
|
|
75
|
+
"catch\\s*\\(\\s*Exception ",
|
|
76
|
+
"catch\\s*\\(\\s*Error ",
|
|
77
|
+
"catch\\s*\\(\\s*Throwable "
|
|
78
|
+
],
|
|
79
|
+
"wrapAsImports": false
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"category": "Unit Testing",
|
|
83
|
+
"name": "Unit Test Files",
|
|
84
|
+
"languages": [
|
|
85
|
+
"java"
|
|
86
|
+
],
|
|
87
|
+
"extensions": [],
|
|
88
|
+
"fingerprints": [
|
|
89
|
+
"org.junit",
|
|
90
|
+
"junit.framework",
|
|
91
|
+
"org.hamcrest"
|
|
92
|
+
],
|
|
93
|
+
"wrapAsImports": true
|
|
94
|
+
},
|
|
95
|
+
{
|
|
96
|
+
"category": "Hardly Portable Technologies",
|
|
97
|
+
"name": "Embedded SQL Queries",
|
|
98
|
+
"languages": [
|
|
99
|
+
"java"
|
|
100
|
+
],
|
|
101
|
+
"extensions": [],
|
|
102
|
+
"fingerprints": [
|
|
103
|
+
"PreparedStatement",
|
|
104
|
+
"java.sql",
|
|
105
|
+
"javax.sql",
|
|
106
|
+
"oracle.jdbc",
|
|
107
|
+
"oracle.security.o3logon",
|
|
108
|
+
"oracle.sql",
|
|
109
|
+
"oracle.net",
|
|
110
|
+
"oracle.jpub",
|
|
111
|
+
"org.skife.jdbi"
|
|
112
|
+
],
|
|
113
|
+
"wrapAsImports": true
|
|
114
|
+
}
|
|
115
|
+
]
|
|
116
|
+
}
|