From 938c383004c78a28fb4dd696d0d081e7d767ba4e Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Mon, 14 Oct 2024 09:43:41 +0000 Subject: [PATCH 1/8] Linking issue #1109 to the branch 'failed-jars-branch-20241014' at https://github.com/soot-oss/SootUp/tree/failed-jars-branch-20241014 --- metadata/metadata.json | 504 ++++++++++++++++++ .../frontend/inputlocation/FixJars.java | 29 + .../src/test/resources/jar_failure.json | 14 + 3 files changed, 547 insertions(+) create mode 100644 metadata/metadata.json create mode 100644 sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java create mode 100644 sootup.java.bytecode.frontend/src/test/resources/jar_failure.json diff --git a/metadata/metadata.json b/metadata/metadata.json new file mode 100644 index 00000000000..3338d8aa820 --- /dev/null +++ b/metadata/metadata.json @@ -0,0 +1,504 @@ +{ + "jars": [ + { + "name": "mmm-ui-test-menu-0.9.10.jar", + "download_url": "https://repo1.maven.org/maven2/io/github/m-m-m/mmm-ui-test-menu/0.9.10/mmm-ui-test-menu-0.9.10.jar", + "date": "2024-10-14" + }, + { + "name": "simulator-core-1.1.jar", + "download_url": "https://repo1.maven.org/maven2/com/tacitknowledge/simulator-core/1.1/simulator-core-1.1.jar", + "date": "2024-10-14" + }, + { + "name": "hikaku-core-3.3.0.jar", + "download_url": "https://repo1.maven.org/maven2/de/codecentric/hikaku/hikaku-core/3.3.0/hikaku-core-3.3.0.jar", + "date": "2024-10-14" + }, + { + "name": "pureconfig-http4s022_2.12-0.17.7.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/pureconfig/pureconfig-http4s022_2.12/0.17.7/pureconfig-http4s022_2.12-0.17.7.jar", + "date": "2024-10-14" + }, + { + "name": "geomesa-hbase-processors-3.5.2_2.11.jar", + "download_url": "https://repo1.maven.org/maven2/org/geomesa/nifi/geomesa-hbase-processors/3.5.2_2.11/geomesa-hbase-processors-3.5.2_2.11.jar", + "date": "2024-10-14" + }, + { + "name": "starter-redis-2023.12.05.jar", + "download_url": "https://repo1.maven.org/maven2/io/github/leon406/starter-redis/2023.12.05/starter-redis-2023.12.05.jar", + "date": "2024-10-14" + }, + { + "name": "openstack4j-resteasy-3.2.0.jar", + "download_url": "https://repo1.maven.org/maven2/org/pacesys/openstack4j/connectors/openstack4j-resteasy/3.2.0/openstack4j-resteasy-3.2.0.jar", + "date": "2024-10-14" + }, + { + "name": "macros_sjs0.6_2.11-2016.11.0.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/chandu0101/macros_sjs0.6_2.11/2016.11.0/macros_sjs0.6_2.11-2016.11.0.jar", + "date": "2024-10-14" + }, + { + "name": "mtags-interfaces-1.3.5.jar", + "download_url": "https://repo1.maven.org/maven2/org/scalameta/mtags-interfaces/1.3.5/mtags-interfaces-1.3.5.jar", + "date": "2024-10-14" + }, + { + "name": "tapir-json-upickle_3-1.11.7.jar", + "download_url": "https://repo1.maven.org/maven2/com/softwaremill/sttp/tapir/tapir-json-upickle_3/1.11.7/tapir-json-upickle_3-1.11.7.jar", + "date": "2024-10-14" + }, + { + "name": "scalaz-scalatest_2.12-1.1.2.jar", + "download_url": "https://repo1.maven.org/maven2/org/typelevel/scalaz-scalatest_2.12/1.1.2/scalaz-scalatest_2.12-1.1.2.jar", + "date": "2024-10-14" + }, + { + "name": "common-zxing-1.0.1.jar", + "download_url": "https://repo1.maven.org/maven2/cn/com/jeeweb/common-zxing/1.0.1/common-zxing-1.0.1.jar", + "date": "2024-10-14" + }, + { + "name": "hawkular-apm-nodedetails-deriver-0.10.0.Final.jar", + "download_url": "https://repo1.maven.org/maven2/org/hawkular/apm/hawkular-apm-nodedetails-deriver/0.10.0.Final/hawkular-apm-nodedetails-deriver-0.10.0.Final.jar", + "date": "2024-10-14" + }, + { + "name": "cougar-core-api-3.2.1.jar", + "download_url": "https://repo1.maven.org/maven2/com/betfair/cougar/cougar-core-api/3.2.1/cougar-core-api-3.2.1.jar", + "date": "2024-10-14" + }, + { + "name": "qbicc-plugin-gc-semispace-0.77.0.jar", + "download_url": "https://repo1.maven.org/maven2/org/qbicc/qbicc-plugin-gc-semispace/0.77.0/qbicc-plugin-gc-semispace-0.77.0.jar", + "date": "2024-10-14" + }, + { + "name": "exam-core-2024.0.10.jar", + "download_url": "https://repo1.maven.org/maven2/io/github/adven27/exam-core/2024.0.10/exam-core-2024.0.10.jar", + "date": "2024-10-14" + }, + { + "name": "audiofile_3.0.0-RC2-2.3.3.jar", + "download_url": "https://repo1.maven.org/maven2/de/sciss/audiofile_3.0.0-RC2/2.3.3/audiofile_3.0.0-RC2-2.3.3.jar", + "date": "2024-10-14" + }, + { + "name": "xian-mongodbdao-sync-0.3.3.3.jar", + "download_url": "https://repo1.maven.org/maven2/info/xiancloud/xian-mongodbdao-sync/0.3.3.3/xian-mongodbdao-sync-0.3.3.3.jar", + "date": "2024-10-14" + }, + { + "name": "mica-core-0.0.1-RC1.jar", + "download_url": "https://repo1.maven.org/maven2/net/dreamlu/mica/mica-core/0.0.1-RC1/mica-core-0.0.1-RC1.jar", + "date": "2024-10-14" + }, + { + "name": "org.tinygroup.search-2.2.0.jar", + "download_url": "https://repo1.maven.org/maven2/org/tinygroup/org.tinygroup.search/2.2.0/org.tinygroup.search-2.2.0.jar", + "date": "2024-10-14" + }, + { + "name": "sscontrol-httpd-thin-1.0-alpha-4.jar", + "download_url": "https://repo1.maven.org/maven2/com/anrisoftware/sscontrol/sscontrol-httpd-thin/1.0-alpha-4/sscontrol-httpd-thin-1.0-alpha-4.jar", + "date": "2024-10-14" + }, + { + "name": "binny-tika-detect_3-0.11.0.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/eikek/binny-tika-detect_3/0.11.0/binny-tika-detect_3-0.11.0.jar", + "date": "2024-10-14" + }, + { + "name": "core_2.12-0.2.3.jar", + "download_url": "https://repo1.maven.org/maven2/com/softwaremill/kmq/core_2.12/0.2.3/core_2.12-0.2.3.jar", + "date": "2024-10-14" + }, + { + "name": "phaser_sjs0.6_2.12-2.6.2-5.jar", + "download_url": "https://repo1.maven.org/maven2/io/scalajs/phaser_sjs0.6_2.12/2.6.2-5/phaser_sjs0.6_2.12-2.6.2-5.jar", + "date": "2024-10-14" + }, + { + "name": "airstream_sjs1_2.13-17.1.0.jar", + "download_url": "https://repo1.maven.org/maven2/com/raquo/airstream_sjs1_2.13/17.1.0/airstream_sjs1_2.13-17.1.0.jar", + "date": "2024-10-14" + }, + { + "name": "kie-pmml-compiler-core-9.44.0.Final.jar", + "download_url": "https://repo1.maven.org/maven2/org/kie/kie-pmml-compiler-core/9.44.0.Final/kie-pmml-compiler-core-9.44.0.Final.jar", + "date": "2024-10-14" + }, + { + "name": "scala-io-performace_2.9.1-0.2.0.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/scala-incubator/io/scala-io-performace_2.9.1/0.2.0/scala-io-performace_2.9.1-0.2.0.jar", + "date": "2024-10-14" + }, + { + "name": "korolev-cats_3-1.0.1.jar", + "download_url": "https://repo1.maven.org/maven2/org/fomkin/korolev-cats_3/1.0.1/korolev-cats_3-1.0.1.jar", + "date": "2024-10-14" + }, + { + "name": "merchant-identifier-2.0.0.jar", + "download_url": "https://repo1.maven.org/maven2/com/mastercard/api/merchant-identifier/2.0.0/merchant-identifier-2.0.0.jar", + "date": "2024-10-14" + }, + { + "name": "java-path-0.2.3.jar", + "download_url": "https://repo1.maven.org/maven2/com/aegisql/java-path/0.2.3/java-path-0.2.3.jar", + "date": "2024-10-14" + }, + { + "name": "process-usertasks-with-security-oidc-quarkus-with-console-1.7.0.Final.jar", + "download_url": "https://repo1.maven.org/maven2/org/kie/kogito/process-usertasks-with-security-oidc-quarkus-with-console/1.7.0.Final/process-usertasks-with-security-oidc-quarkus-with-console-1.7.0.Final.jar", + "date": "2024-10-14" + }, + { + "name": "utils-0.5.3.jar", + "download_url": "https://repo1.maven.org/maven2/org/opendaylight/ttp/utils/0.5.3/utils-0.5.3.jar", + "date": "2024-10-14" + }, + { + "name": "log4s_sjs1_2.13-1.10.0.jar", + "download_url": "https://repo1.maven.org/maven2/org/log4s/log4s_sjs1_2.13/1.10.0/log4s_sjs1_2.13-1.10.0.jar", + "date": "2024-10-14" + }, + { + "name": "parquet-types_2.11-0.3.4.jar", + "download_url": "https://repo1.maven.org/maven2/me/lyh/parquet-types_2.11/0.3.4/parquet-types_2.11-0.3.4.jar", + "date": "2024-10-14" + }, + { + "name": "rabbitmq-1.8.3.jar", + "download_url": "https://repo1.maven.org/maven2/io/basc/framework/rabbitmq/1.8.3/rabbitmq-1.8.3.jar", + "date": "2024-10-14" + }, + { + "name": "flexy-tomee-2.2.3.jar", + "download_url": "https://repo1.maven.org/maven2/com/vladmihalcea/flexy-pool/flexy-tomee/2.2.3/flexy-tomee-2.2.3.jar", + "date": "2024-10-14" + }, + { + "name": "loading-attribute-polyfill-2.0.2.jar", + "download_url": "https://repo1.maven.org/maven2/org/webjars/npm/loading-attribute-polyfill/2.0.2/loading-attribute-polyfill-2.0.2.jar", + "date": "2024-10-14" + }, + { + "name": "component-api-notify-starter-1.0.75.jar", + "download_url": "https://repo1.maven.org/maven2/com/lyloou/component-api-notify-starter/1.0.75/component-api-notify-starter-1.0.75.jar", + "date": "2024-10-14" + }, + { + "name": "mime-db-1.53.0.jar", + "download_url": "https://repo1.maven.org/maven2/org/mvnpm/mime-db/1.53.0/mime-db-1.53.0.jar", + "date": "2024-10-14" + }, + { + "name": "appng-manager-1.20.0.jar", + "download_url": "https://repo1.maven.org/maven2/org/appng/appng-manager/1.20.0/appng-manager-1.20.0.jar", + "date": "2024-10-14" + }, + { + "name": "zio-elasticsearch-async-search_2.12-2.0.4.jar", + "download_url": "https://repo1.maven.org/maven2/io/megl/zio-elasticsearch-async-search_2.12/2.0.4/zio-elasticsearch-async-search_2.12-2.0.4.jar", + "date": "2024-10-14" + }, + { + "name": "servlet_2.12-0.8.4.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/acsgh/mad/scala/server/provider/servlet_2.12/0.8.4/servlet_2.12-0.8.4.jar", + "date": "2024-10-14" + }, + { + "name": "qtjambi-xml-native-android-arm-6.7.0.jar", + "download_url": "https://repo1.maven.org/maven2/io/qtjambi/qtjambi-xml-native-android-arm/6.7.0/qtjambi-xml-native-android-arm-6.7.0.jar", + "date": "2024-10-14" + }, + { + "name": "openurp-edu-stat-webapp-0.0.4.jar", + "download_url": "https://repo1.maven.org/maven2/org/openurp/edu/stat/openurp-edu-stat-webapp/0.0.4/openurp-edu-stat-webapp-0.0.4.jar", + "date": "2024-10-14" + }, + { + "name": "github-com-luckylooke-dragular-4.2.3.jar", + "download_url": "https://repo1.maven.org/maven2/org/webjars/bower/github-com-luckylooke-dragular/4.2.3/github-com-luckylooke-dragular-4.2.3.jar", + "date": "2024-10-14" + }, + { + "name": "zio-stacktracer_3.0.0-M3-1.0.4-2.jar", + "download_url": "https://repo1.maven.org/maven2/dev/zio/zio-stacktracer_3.0.0-M3/1.0.4-2/zio-stacktracer_3.0.0-M3-1.0.4-2.jar", + "date": "2024-10-14" + }, + { + "name": "jadex-applications-webservice-4.0.267.jar", + "download_url": "https://repo1.maven.org/maven2/org/activecomponents/jadex/jadex-applications-webservice/4.0.267/jadex-applications-webservice-4.0.267.jar", + "date": "2024-10-14" + }, + { + "name": "ironoxide-scala_2.12-0.15.0.jar", + "download_url": "https://repo1.maven.org/maven2/com/ironcorelabs/ironoxide-scala_2.12/0.15.0/ironoxide-scala_2.12-0.15.0.jar", + "date": "2024-10-14" + }, + { + "name": "nessie-quarkus-0.99.0.jar", + "download_url": "https://repo1.maven.org/maven2/org/projectnessie/nessie/nessie-quarkus/0.99.0/nessie-quarkus-0.99.0.jar", + "date": "2024-10-14" + }, + { + "name": "fuel-jackson-jvm-3.0.0-alpha03.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/kittinunf/fuel/fuel-jackson-jvm/3.0.0-alpha03/fuel-jackson-jvm-3.0.0-alpha03.jar", + "date": "2024-10-14" + }, + { + "name": "data-distribution-api-vivo_1_09-1.1.1.jar", + "download_url": "https://repo1.maven.org/maven2/edu/cornell/library/scholars/data-distribution-api-vivo_1_09/1.1.1/data-distribution-api-vivo_1_09-1.1.1.jar", + "date": "2024-10-14" + }, + { + "name": "refcodes-properties-ext-application-3.3.8.jar", + "download_url": "https://repo1.maven.org/maven2/org/refcodes/refcodes-properties-ext-application/3.3.8/refcodes-properties-ext-application-3.3.8.jar", + "date": "2024-10-14" + }, + { + "name": "crosswords-api-client_2.10-0.5.jar", + "download_url": "https://repo1.maven.org/maven2/com/gu/crosswords-api-client_2.10/0.5/crosswords-api-client_2.10-0.5.jar", + "date": "2024-10-14" + }, + { + "name": "tripod-search-lucene-0.5.2.jar", + "download_url": "https://repo1.maven.org/maven2/com/bbende/tripod/tripod-search-lucene/0.5.2/tripod-search-lucene-0.5.2.jar", + "date": "2024-10-14" + }, + { + "name": "rusheye-api-1.0.0.jar", + "download_url": "https://repo1.maven.org/maven2/org/arquillian/rusheye/rusheye-api/1.0.0/rusheye-api-1.0.0.jar", + "date": "2024-10-14" + }, + { + "name": "myUtils-all-1.0.5-RELEASE.jar", + "download_url": "https://repo1.maven.org/maven2/top/xzxsrq/myUtils-all/1.0.5-RELEASE/myUtils-all-1.0.5-RELEASE.jar", + "date": "2024-10-14" + }, + { + "name": "org.eclipse.scada.utils.propertyeditors-0.1.0.jar", + "download_url": "https://repo1.maven.org/maven2/org/eclipse/neoscada/utils/org.eclipse.scada.utils.propertyeditors/0.1.0/org.eclipse.scada.utils.propertyeditors-0.1.0.jar", + "date": "2024-10-14" + }, + { + "name": "aws-cdk-scala-servicediscovery_2.13-0.5.0.jar", + "download_url": "https://repo1.maven.org/maven2/io/burkard/aws-cdk-scala-servicediscovery_2.13/0.5.0/aws-cdk-scala-servicediscovery_2.13-0.5.0.jar", + "date": "2024-10-14" + }, + { + "name": "deploy-twitterharvester-0.0.11.jar", + "download_url": "https://repo1.maven.org/maven2/eu/dicode-project/deploy-twitterharvester/0.0.11/deploy-twitterharvester-0.0.11.jar", + "date": "2024-10-14" + }, + { + "name": "consul-2.1.37.jar", + "download_url": "https://repo1.maven.org/maven2/com/networknt/consul/2.1.37/consul-2.1.37.jar", + "date": "2024-10-14" + }, + { + "name": "connector-browse-1.1.55.jar", + "download_url": "https://repo1.maven.org/maven2/io/fabric8/funktion/connector/connector-browse/1.1.55/connector-browse-1.1.55.jar", + "date": "2024-10-14" + }, + { + "name": "eureka-client-jersey3-2.0.3.jar", + "download_url": "https://repo1.maven.org/maven2/com/netflix/eureka/eureka-client-jersey3/2.0.3/eureka-client-jersey3-2.0.3.jar", + "date": "2024-10-14" + }, + { + "name": "trace-id-test2-0.0.2.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/houbb/trace-id-test2/0.0.2/trace-id-test2-0.0.2.jar", + "date": "2024-10-14" + }, + { + "name": "org.eclipse.fx.code.editor-2.2.0.jar", + "download_url": "https://repo1.maven.org/maven2/at/bestsolution/eclipse/org.eclipse.fx.code.editor/2.2.0/org.eclipse.fx.code.editor-2.2.0.jar", + "date": "2024-10-14" + }, + { + "name": "scala-release-test_2.12-1.0.0-beta.2.jar", + "download_url": "https://repo1.maven.org/maven2/dev/atedeg/scala-release-test_2.12/1.0.0-beta.2/scala-release-test_2.12-1.0.0-beta.2.jar", + "date": "2024-10-14" + }, + { + "name": "azure-data-gremlin-spring-boot-starter-2.3.5.jar", + "download_url": "https://repo1.maven.org/maven2/com/microsoft/azure/azure-data-gremlin-spring-boot-starter/2.3.5/azure-data-gremlin-spring-boot-starter-2.3.5.jar", + "date": "2024-10-14" + }, + { + "name": "scalafix-testkit_2.12.13-0.9.28.jar", + "download_url": "https://repo1.maven.org/maven2/ch/epfl/scala/scalafix-testkit_2.12.13/0.9.28/scalafix-testkit_2.12.13-0.9.28.jar", + "date": "2024-10-14" + }, + { + "name": "camel-connector-2.3.14.jar", + "download_url": "https://repo1.maven.org/maven2/io/fabric8/django/camel-connector/2.3.14/camel-connector-2.3.14.jar", + "date": "2024-10-14" + }, + { + "name": "org.eclipse.pde.unittest.junit-1.1.500.jar", + "download_url": "https://repo1.maven.org/maven2/org/eclipse/pde/org.eclipse.pde.unittest.junit/1.1.500/org.eclipse.pde.unittest.junit-1.1.500.jar", + "date": "2024-10-14" + }, + { + "name": "resolvers-okhttp-5.1.1.jar", + "download_url": "https://repo1.maven.org/maven2/org/codehaus/httpcache4j/resolvers/resolvers-okhttp/5.1.1/resolvers-okhttp-5.1.1.jar", + "date": "2024-10-14" + }, + { + "name": "lol-esports-api-wrapper-0.1.21.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/mckernant1/lol-esports-api-wrapper/0.1.21/lol-esports-api-wrapper-0.1.21.jar", + "date": "2024-10-14" + }, + { + "name": "james-server-guice-smtp-3.8.1.jar", + "download_url": "https://repo1.maven.org/maven2/org/apache/james/james-server-guice-smtp/3.8.1/james-server-guice-smtp-3.8.1.jar", + "date": "2024-10-14" + }, + { + "name": "dynamicConfig-1.0.2.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/kl3answer/dynamicConfig/1.0.2/dynamicConfig-1.0.2.jar", + "date": "2024-10-14" + }, + { + "name": "clustering_2.11-1.4.16.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/pshirshov/izumi/legacy/clustering_2.11/1.4.16/clustering_2.11-1.4.16.jar", + "date": "2024-10-14" + }, + { + "name": "madura-vaadinsupport-2.6.0.jar", + "download_url": "https://repo1.maven.org/maven2/nz/co/senanque/madura-vaadinsupport/2.6.0/madura-vaadinsupport-2.6.0.jar", + "date": "2024-10-14" + }, + { + "name": "nirvana-storage-AN-0.0.1.jar", + "download_url": "https://repo1.maven.org/maven2/tech/aegean/next/nirvana-storage/AN-0.0.1/nirvana-storage-AN-0.0.1.jar", + "date": "2024-10-14" + }, + { + "name": "activiti-cloud-services-commons-io-7.1.0.M6.jar", + "download_url": "https://repo1.maven.org/maven2/org/activiti/cloud/common/activiti-cloud-services-commons-io/7.1.0.M6/activiti-cloud-services-commons-io-7.1.0.M6.jar", + "date": "2024-10-14" + }, + { + "name": "jimp__plugin-normalize-0.22.10.jar", + "download_url": "https://repo1.maven.org/maven2/org/webjars/npm/jimp__plugin-normalize/0.22.10/jimp__plugin-normalize-0.22.10.jar", + "date": "2024-10-14" + }, + { + "name": "com.liferay.app.builder.workflow.rest.impl-2.0.2.jar", + "download_url": "https://repo1.maven.org/maven2/com/liferay/com.liferay.app.builder.workflow.rest.impl/2.0.2/com.liferay.app.builder.workflow.rest.impl-2.0.2.jar", + "date": "2024-10-14" + }, + { + "name": "unfiltered-filter-async_2.12-0.12.0.jar", + "download_url": "https://repo1.maven.org/maven2/ws/unfiltered/unfiltered-filter-async_2.12/0.12.0/unfiltered-filter-async_2.12-0.12.0.jar", + "date": "2024-10-14" + }, + { + "name": "sling-configs-1.0.2.jar", + "download_url": "https://repo1.maven.org/maven2/hu/blackbelt/karaf/features/sling-configs/1.0.2/sling-configs-1.0.2.jar", + "date": "2024-10-14" + }, + { + "name": "rainier-base_2.12-0.3.5.jar", + "download_url": "https://repo1.maven.org/maven2/com/stripe/rainier-base_2.12/0.3.5/rainier-base_2.12-0.3.5.jar", + "date": "2024-10-14" + }, + { + "name": "jspdf-2.3.1.jar", + "download_url": "https://repo1.maven.org/maven2/org/webjars/bower/jspdf/2.3.1/jspdf-2.3.1.jar", + "date": "2024-10-14" + }, + { + "name": "dijon_2.12-0.6.0.jar", + "download_url": "https://repo1.maven.org/maven2/me/vican/jorge/dijon_2.12/0.6.0/dijon_2.12-0.6.0.jar", + "date": "2024-10-14" + }, + { + "name": "framework-boxing-1.0.0-SYLPHLIKE.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/sylphlike/framework-boxing/1.0.0-SYLPHLIKE/framework-boxing-1.0.0-SYLPHLIKE.jar", + "date": "2024-10-14" + }, + { + "name": "luoshu-spring-0.32.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/luoshu-open/luoshu-spring/0.32/luoshu-spring-0.32.jar", + "date": "2024-10-14" + }, + { + "name": "geronimo-servlet_2.5_spec-1.2.jar", + "download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-servlet_2.5_spec/1.2/geronimo-servlet_2.5_spec-1.2.jar", + "date": "2024-10-14" + }, + { + "name": "zeebe-client-java-1.0.0-alpha7.jar", + "download_url": "https://repo1.maven.org/maven2/io/zeebe/zeebe-client-java/1.0.0-alpha7/zeebe-client-java-1.0.0-alpha7.jar", + "date": "2024-10-14" + }, + { + "name": "oxalis-persistence-6.7.0.jar", + "download_url": "https://repo1.maven.org/maven2/network/oxalis/oxalis-persistence/6.7.0/oxalis-persistence-6.7.0.jar", + "date": "2024-10-14" + }, + { + "name": "infinispan-server-testdriver-junit5-jakarta-14.0.32.Final.jar", + "download_url": "https://repo1.maven.org/maven2/org/infinispan/infinispan-server-testdriver-junit5-jakarta/14.0.32.Final/infinispan-server-testdriver-junit5-jakarta-14.0.32.Final.jar", + "date": "2024-10-14" + }, + { + "name": "framework-net-3.0.6.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/fartherp/framework-net/3.0.6/framework-net-3.0.6.jar", + "date": "2024-10-14" + }, + { + "name": "avc-examples-users3-dao-inMemory-0.0.5.jar", + "download_url": "https://repo1.maven.org/maven2/net/avcompris/commons/avc-examples-users3-dao-inMemory/0.0.5/avc-examples-users3-dao-inMemory-0.0.5.jar", + "date": "2024-10-14" + }, + { + "name": "web-kotlin-1.0.4.jar", + "download_url": "https://repo1.maven.org/maven2/com/github/storm-bit/web-kotlin/1.0.4/web-kotlin-1.0.4.jar", + "date": "2024-10-14" + }, + { + "name": "cdc-util-csv-0.9.0.jar", + "download_url": "https://repo1.maven.org/maven2/com/gitlab/cdc-java/util/cdc-util-csv/0.9.0/cdc-util-csv-0.9.0.jar", + "date": "2024-10-14" + }, + { + "name": "postscribe-1.4.0.jar", + "download_url": "https://repo1.maven.org/maven2/org/webjars/bower/postscribe/1.4.0/postscribe-1.4.0.jar", + "date": "2024-10-14" + }, + { + "name": "activation-1.1.1.jar", + "download_url": "https://repo1.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar", + "date": "2024-10-14" + }, + { + "name": "activiti-cloud-services-subscriptions-7.1.0.M6.jar", + "download_url": "https://repo1.maven.org/maven2/org/activiti/cloud/rb/activiti-cloud-services-subscriptions/7.1.0.M6/activiti-cloud-services-subscriptions-7.1.0.M6.jar", + "date": "2024-10-14" + }, + { + "name": "gravitee-am-gateway-services-sync-4.5.0.jar", + "download_url": "https://repo1.maven.org/maven2/io/gravitee/am/gateway/gravitee-am-gateway-services-sync/4.5.0/gravitee-am-gateway-services-sync-4.5.0.jar", + "date": "2024-10-14" + }, + { + "name": "owlapi-gwt-4.3.2.1.jar", + "download_url": "https://repo1.maven.org/maven2/net/sourceforge/owlapi/owlapi-gwt/4.3.2.1/owlapi-gwt-4.3.2.1.jar", + "date": "2024-10-14" + }, + { + "name": "swak-core-2.3.1.jar", + "download_url": "https://repo1.maven.org/maven2/io/gitee/mcolley/swak-core/2.3.1/swak-core-2.3.1.jar", + "date": "2024-10-14" + } + ] +} \ No newline at end of file diff --git a/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java b/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java new file mode 100644 index 00000000000..2e3c1d1245b --- /dev/null +++ b/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java @@ -0,0 +1,29 @@ +package sootup.java.bytecode.frontend.inputlocation; + +import categories.TestCategories; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; +import sootup.java.core.views.JavaView; + +@Tag(TestCategories.JAVA_8_CATEGORY) +public class FixJars extends BaseFixJarsTest { + +@Test +public void executeexamcorejar(){ + String jarDownloadUrl = "https://repo1.maven.org/maven2/io/github/adven27/exam-core/2024.0.10/exam-core-2024.0.10.jar"; + String methodSignature = ""; + JavaView javaView = supplyJavaView(jarDownloadUrl); + assertMethodConversion(javaView,methodSignature); + assertJar(javaView); +} + +@Test +public void executeaudiofileRCjar(){ + String jarDownloadUrl = "https://repo1.maven.org/maven2/de/sciss/audiofile_3.0.0-RC2/2.3.3/audiofile_3.0.0-RC2-2.3.3.jar"; + String methodSignature = ""; + JavaView javaView = supplyJavaView(jarDownloadUrl); + assertMethodConversion(javaView,methodSignature); + assertJar(javaView); +} + +} \ No newline at end of file diff --git a/sootup.java.bytecode.frontend/src/test/resources/jar_failure.json b/sootup.java.bytecode.frontend/src/test/resources/jar_failure.json new file mode 100644 index 00000000000..21b5a3d9b23 --- /dev/null +++ b/sootup.java.bytecode.frontend/src/test/resources/jar_failure.json @@ -0,0 +1,14 @@ +[ +{ + "jar_name": "exam-core-2024.0.10.jar", + "exception": "Failed to apply sootup.interceptors.NopEliminator@3b7645f1 to ", + "download_url": "https://repo1.maven.org/maven2/io/github/adven27/exam-core/2024.0.10/exam-core-2024.0.10.jar", + "failedMethodSignature": "" +}, +{ + "jar_name": "audiofile_3.0.0-RC2-2.3.3.jar", + "exception": "Failed to convert ", + "download_url": "https://repo1.maven.org/maven2/de/sciss/audiofile_3.0.0-RC2/2.3.3/audiofile_3.0.0-RC2-2.3.3.jar", + "failedMethodSignature": "" +} +] \ No newline at end of file From ea94603c0042173afbd18cffc3ae983ffc5d5c2c Mon Sep 17 00:00:00 2001 From: sahilagichani Date: Sat, 14 Dec 2024 13:00:45 +0100 Subject: [PATCH 2/8] fix when removing complete blk, clear blk from all exceptionalBlks as well --- .../core/graph/MutableBlockStmtGraph.java | 24 +++++++++++++++ .../frontend/inputlocation/FixJars.java | 29 ++++++++++--------- 2 files changed, 40 insertions(+), 13 deletions(-) diff --git a/sootup.core/src/main/java/sootup/core/graph/MutableBlockStmtGraph.java b/sootup.core/src/main/java/sootup/core/graph/MutableBlockStmtGraph.java index d27f2170116..70e26580a67 100644 --- a/sootup.core/src/main/java/sootup/core/graph/MutableBlockStmtGraph.java +++ b/sootup.core/src/main/java/sootup/core/graph/MutableBlockStmtGraph.java @@ -908,6 +908,9 @@ public void removeNode(@Nonnull Stmt stmt, boolean keepFlow) { blockOfRemovedStmt.clearPredecessorBlocks(); blockOfRemovedStmt.clearSuccessorBlocks(); blockOfRemovedStmt.clearExceptionalSuccessorBlocks(); + + clearBlockFromAllExceptionalBlocks(blockOfRemovedStmt); + blockOfRemovedStmt.removeStmt(blockOfRemovedStmtPair.getLeft()); blocks.remove(blockOfRemovedStmt); @@ -977,6 +980,27 @@ public void removeNode(@Nonnull Stmt stmt, boolean keepFlow) { stmtToBlock.remove(stmt); } + public void clearBlockFromAllExceptionalBlocks(MutableBasicBlock blockOfRemovedStmt) { + // Remove blockOfRemovedStmt from all exceptionalBlocks in MutableBlockStmtGraph + for (Iterator iterator = blocks.iterator(); iterator.hasNext(); ) { + MutableBasicBlock block = iterator.next(); + Collection blockExceptionalSuccessors = + block.getExceptionalSuccessors().values(); + if (!blockExceptionalSuccessors.isEmpty()) { + for (MutableBasicBlock exceptionalBlock : blockExceptionalSuccessors) { + List exceptionalBlockSuccessors = exceptionalBlock.getSuccessors(); + List exceptionalBlockPredecessors = exceptionalBlock.getPredecessors(); + if (exceptionalBlockPredecessors.contains(blockOfRemovedStmt)) { + exceptionalBlock.removePredecessorBlock(blockOfRemovedStmt); + } + if (exceptionalBlockSuccessors.contains(blockOfRemovedStmt)) { + exceptionalBlock.removeFromSuccessorBlocks(blockOfRemovedStmt); + } + } + } + } + } + @Override public void replaceNode(@Nonnull Stmt oldStmt, @Nonnull Stmt newStmt) { if (oldStmt == newStmt) { diff --git a/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java b/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java index 2e3c1d1245b..685ce4b746d 100644 --- a/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java +++ b/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java @@ -8,22 +8,25 @@ @Tag(TestCategories.JAVA_8_CATEGORY) public class FixJars extends BaseFixJarsTest { -@Test -public void executeexamcorejar(){ - String jarDownloadUrl = "https://repo1.maven.org/maven2/io/github/adven27/exam-core/2024.0.10/exam-core-2024.0.10.jar"; - String methodSignature = ""; + @Test + public void executeexamcorejar() { + String jarDownloadUrl = + "https://repo1.maven.org/maven2/io/github/adven27/exam-core/2024.0.10/exam-core-2024.0.10.jar"; + String methodSignature = + ""; JavaView javaView = supplyJavaView(jarDownloadUrl); - assertMethodConversion(javaView,methodSignature); + assertMethodConversion(javaView, methodSignature); assertJar(javaView); -} + } -@Test -public void executeaudiofileRCjar(){ - String jarDownloadUrl = "https://repo1.maven.org/maven2/de/sciss/audiofile_3.0.0-RC2/2.3.3/audiofile_3.0.0-RC2-2.3.3.jar"; - String methodSignature = ""; + @Test + public void executeaudiofileRCjar() { + String jarDownloadUrl = + "https://repo1.maven.org/maven2/de/sciss/audiofile_3.0.0-RC2/2.3.3/audiofile_3.0.0-RC2-2.3.3.jar"; + String methodSignature = + ""; JavaView javaView = supplyJavaView(jarDownloadUrl); - assertMethodConversion(javaView,methodSignature); + assertMethodConversion(javaView, methodSignature); assertJar(javaView); + } } - -} \ No newline at end of file From 80ad90aa379a0851690d07fb49e9132b70d800ac Mon Sep 17 00:00:00 2001 From: sahilagichani Date: Fri, 3 Jan 2025 07:40:07 +0100 Subject: [PATCH 3/8] create minimal test case from the jar --- metadata/metadata.json | 504 ------------------ sootup.java.bytecode.frontend/pom.xml | 7 +- .../frontend/inputlocation/FixJars.java | 22 +- .../src/test/resources/jar_failure.json | 14 - .../resources/nopEliminatorBugTest.jimple | 43 ++ 5 files changed, 64 insertions(+), 526 deletions(-) delete mode 100644 metadata/metadata.json delete mode 100644 sootup.java.bytecode.frontend/src/test/resources/jar_failure.json create mode 100644 sootup.java.bytecode.frontend/src/test/resources/nopEliminatorBugTest.jimple diff --git a/metadata/metadata.json b/metadata/metadata.json deleted file mode 100644 index 3338d8aa820..00000000000 --- a/metadata/metadata.json +++ /dev/null @@ -1,504 +0,0 @@ -{ - "jars": [ - { - "name": "mmm-ui-test-menu-0.9.10.jar", - "download_url": "https://repo1.maven.org/maven2/io/github/m-m-m/mmm-ui-test-menu/0.9.10/mmm-ui-test-menu-0.9.10.jar", - "date": "2024-10-14" - }, - { - "name": "simulator-core-1.1.jar", - "download_url": "https://repo1.maven.org/maven2/com/tacitknowledge/simulator-core/1.1/simulator-core-1.1.jar", - "date": "2024-10-14" - }, - { - "name": "hikaku-core-3.3.0.jar", - "download_url": "https://repo1.maven.org/maven2/de/codecentric/hikaku/hikaku-core/3.3.0/hikaku-core-3.3.0.jar", - "date": "2024-10-14" - }, - { - "name": "pureconfig-http4s022_2.12-0.17.7.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/pureconfig/pureconfig-http4s022_2.12/0.17.7/pureconfig-http4s022_2.12-0.17.7.jar", - "date": "2024-10-14" - }, - { - "name": "geomesa-hbase-processors-3.5.2_2.11.jar", - "download_url": "https://repo1.maven.org/maven2/org/geomesa/nifi/geomesa-hbase-processors/3.5.2_2.11/geomesa-hbase-processors-3.5.2_2.11.jar", - "date": "2024-10-14" - }, - { - "name": "starter-redis-2023.12.05.jar", - "download_url": "https://repo1.maven.org/maven2/io/github/leon406/starter-redis/2023.12.05/starter-redis-2023.12.05.jar", - "date": "2024-10-14" - }, - { - "name": "openstack4j-resteasy-3.2.0.jar", - "download_url": "https://repo1.maven.org/maven2/org/pacesys/openstack4j/connectors/openstack4j-resteasy/3.2.0/openstack4j-resteasy-3.2.0.jar", - "date": "2024-10-14" - }, - { - "name": "macros_sjs0.6_2.11-2016.11.0.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/chandu0101/macros_sjs0.6_2.11/2016.11.0/macros_sjs0.6_2.11-2016.11.0.jar", - "date": "2024-10-14" - }, - { - "name": "mtags-interfaces-1.3.5.jar", - "download_url": "https://repo1.maven.org/maven2/org/scalameta/mtags-interfaces/1.3.5/mtags-interfaces-1.3.5.jar", - "date": "2024-10-14" - }, - { - "name": "tapir-json-upickle_3-1.11.7.jar", - "download_url": "https://repo1.maven.org/maven2/com/softwaremill/sttp/tapir/tapir-json-upickle_3/1.11.7/tapir-json-upickle_3-1.11.7.jar", - "date": "2024-10-14" - }, - { - "name": "scalaz-scalatest_2.12-1.1.2.jar", - "download_url": "https://repo1.maven.org/maven2/org/typelevel/scalaz-scalatest_2.12/1.1.2/scalaz-scalatest_2.12-1.1.2.jar", - "date": "2024-10-14" - }, - { - "name": "common-zxing-1.0.1.jar", - "download_url": "https://repo1.maven.org/maven2/cn/com/jeeweb/common-zxing/1.0.1/common-zxing-1.0.1.jar", - "date": "2024-10-14" - }, - { - "name": "hawkular-apm-nodedetails-deriver-0.10.0.Final.jar", - "download_url": "https://repo1.maven.org/maven2/org/hawkular/apm/hawkular-apm-nodedetails-deriver/0.10.0.Final/hawkular-apm-nodedetails-deriver-0.10.0.Final.jar", - "date": "2024-10-14" - }, - { - "name": "cougar-core-api-3.2.1.jar", - "download_url": "https://repo1.maven.org/maven2/com/betfair/cougar/cougar-core-api/3.2.1/cougar-core-api-3.2.1.jar", - "date": "2024-10-14" - }, - { - "name": "qbicc-plugin-gc-semispace-0.77.0.jar", - "download_url": "https://repo1.maven.org/maven2/org/qbicc/qbicc-plugin-gc-semispace/0.77.0/qbicc-plugin-gc-semispace-0.77.0.jar", - "date": "2024-10-14" - }, - { - "name": "exam-core-2024.0.10.jar", - "download_url": "https://repo1.maven.org/maven2/io/github/adven27/exam-core/2024.0.10/exam-core-2024.0.10.jar", - "date": "2024-10-14" - }, - { - "name": "audiofile_3.0.0-RC2-2.3.3.jar", - "download_url": "https://repo1.maven.org/maven2/de/sciss/audiofile_3.0.0-RC2/2.3.3/audiofile_3.0.0-RC2-2.3.3.jar", - "date": "2024-10-14" - }, - { - "name": "xian-mongodbdao-sync-0.3.3.3.jar", - "download_url": "https://repo1.maven.org/maven2/info/xiancloud/xian-mongodbdao-sync/0.3.3.3/xian-mongodbdao-sync-0.3.3.3.jar", - "date": "2024-10-14" - }, - { - "name": "mica-core-0.0.1-RC1.jar", - "download_url": "https://repo1.maven.org/maven2/net/dreamlu/mica/mica-core/0.0.1-RC1/mica-core-0.0.1-RC1.jar", - "date": "2024-10-14" - }, - { - "name": "org.tinygroup.search-2.2.0.jar", - "download_url": "https://repo1.maven.org/maven2/org/tinygroup/org.tinygroup.search/2.2.0/org.tinygroup.search-2.2.0.jar", - "date": "2024-10-14" - }, - { - "name": "sscontrol-httpd-thin-1.0-alpha-4.jar", - "download_url": "https://repo1.maven.org/maven2/com/anrisoftware/sscontrol/sscontrol-httpd-thin/1.0-alpha-4/sscontrol-httpd-thin-1.0-alpha-4.jar", - "date": "2024-10-14" - }, - { - "name": "binny-tika-detect_3-0.11.0.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/eikek/binny-tika-detect_3/0.11.0/binny-tika-detect_3-0.11.0.jar", - "date": "2024-10-14" - }, - { - "name": "core_2.12-0.2.3.jar", - "download_url": "https://repo1.maven.org/maven2/com/softwaremill/kmq/core_2.12/0.2.3/core_2.12-0.2.3.jar", - "date": "2024-10-14" - }, - { - "name": "phaser_sjs0.6_2.12-2.6.2-5.jar", - "download_url": "https://repo1.maven.org/maven2/io/scalajs/phaser_sjs0.6_2.12/2.6.2-5/phaser_sjs0.6_2.12-2.6.2-5.jar", - "date": "2024-10-14" - }, - { - "name": "airstream_sjs1_2.13-17.1.0.jar", - "download_url": "https://repo1.maven.org/maven2/com/raquo/airstream_sjs1_2.13/17.1.0/airstream_sjs1_2.13-17.1.0.jar", - "date": "2024-10-14" - }, - { - "name": "kie-pmml-compiler-core-9.44.0.Final.jar", - "download_url": "https://repo1.maven.org/maven2/org/kie/kie-pmml-compiler-core/9.44.0.Final/kie-pmml-compiler-core-9.44.0.Final.jar", - "date": "2024-10-14" - }, - { - "name": "scala-io-performace_2.9.1-0.2.0.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/scala-incubator/io/scala-io-performace_2.9.1/0.2.0/scala-io-performace_2.9.1-0.2.0.jar", - "date": "2024-10-14" - }, - { - "name": "korolev-cats_3-1.0.1.jar", - "download_url": "https://repo1.maven.org/maven2/org/fomkin/korolev-cats_3/1.0.1/korolev-cats_3-1.0.1.jar", - "date": "2024-10-14" - }, - { - "name": "merchant-identifier-2.0.0.jar", - "download_url": "https://repo1.maven.org/maven2/com/mastercard/api/merchant-identifier/2.0.0/merchant-identifier-2.0.0.jar", - "date": "2024-10-14" - }, - { - "name": "java-path-0.2.3.jar", - "download_url": "https://repo1.maven.org/maven2/com/aegisql/java-path/0.2.3/java-path-0.2.3.jar", - "date": "2024-10-14" - }, - { - "name": "process-usertasks-with-security-oidc-quarkus-with-console-1.7.0.Final.jar", - "download_url": "https://repo1.maven.org/maven2/org/kie/kogito/process-usertasks-with-security-oidc-quarkus-with-console/1.7.0.Final/process-usertasks-with-security-oidc-quarkus-with-console-1.7.0.Final.jar", - "date": "2024-10-14" - }, - { - "name": "utils-0.5.3.jar", - "download_url": "https://repo1.maven.org/maven2/org/opendaylight/ttp/utils/0.5.3/utils-0.5.3.jar", - "date": "2024-10-14" - }, - { - "name": "log4s_sjs1_2.13-1.10.0.jar", - "download_url": "https://repo1.maven.org/maven2/org/log4s/log4s_sjs1_2.13/1.10.0/log4s_sjs1_2.13-1.10.0.jar", - "date": "2024-10-14" - }, - { - "name": "parquet-types_2.11-0.3.4.jar", - "download_url": "https://repo1.maven.org/maven2/me/lyh/parquet-types_2.11/0.3.4/parquet-types_2.11-0.3.4.jar", - "date": "2024-10-14" - }, - { - "name": "rabbitmq-1.8.3.jar", - "download_url": "https://repo1.maven.org/maven2/io/basc/framework/rabbitmq/1.8.3/rabbitmq-1.8.3.jar", - "date": "2024-10-14" - }, - { - "name": "flexy-tomee-2.2.3.jar", - "download_url": "https://repo1.maven.org/maven2/com/vladmihalcea/flexy-pool/flexy-tomee/2.2.3/flexy-tomee-2.2.3.jar", - "date": "2024-10-14" - }, - { - "name": "loading-attribute-polyfill-2.0.2.jar", - "download_url": "https://repo1.maven.org/maven2/org/webjars/npm/loading-attribute-polyfill/2.0.2/loading-attribute-polyfill-2.0.2.jar", - "date": "2024-10-14" - }, - { - "name": "component-api-notify-starter-1.0.75.jar", - "download_url": "https://repo1.maven.org/maven2/com/lyloou/component-api-notify-starter/1.0.75/component-api-notify-starter-1.0.75.jar", - "date": "2024-10-14" - }, - { - "name": "mime-db-1.53.0.jar", - "download_url": "https://repo1.maven.org/maven2/org/mvnpm/mime-db/1.53.0/mime-db-1.53.0.jar", - "date": "2024-10-14" - }, - { - "name": "appng-manager-1.20.0.jar", - "download_url": "https://repo1.maven.org/maven2/org/appng/appng-manager/1.20.0/appng-manager-1.20.0.jar", - "date": "2024-10-14" - }, - { - "name": "zio-elasticsearch-async-search_2.12-2.0.4.jar", - "download_url": "https://repo1.maven.org/maven2/io/megl/zio-elasticsearch-async-search_2.12/2.0.4/zio-elasticsearch-async-search_2.12-2.0.4.jar", - "date": "2024-10-14" - }, - { - "name": "servlet_2.12-0.8.4.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/acsgh/mad/scala/server/provider/servlet_2.12/0.8.4/servlet_2.12-0.8.4.jar", - "date": "2024-10-14" - }, - { - "name": "qtjambi-xml-native-android-arm-6.7.0.jar", - "download_url": "https://repo1.maven.org/maven2/io/qtjambi/qtjambi-xml-native-android-arm/6.7.0/qtjambi-xml-native-android-arm-6.7.0.jar", - "date": "2024-10-14" - }, - { - "name": "openurp-edu-stat-webapp-0.0.4.jar", - "download_url": "https://repo1.maven.org/maven2/org/openurp/edu/stat/openurp-edu-stat-webapp/0.0.4/openurp-edu-stat-webapp-0.0.4.jar", - "date": "2024-10-14" - }, - { - "name": "github-com-luckylooke-dragular-4.2.3.jar", - "download_url": "https://repo1.maven.org/maven2/org/webjars/bower/github-com-luckylooke-dragular/4.2.3/github-com-luckylooke-dragular-4.2.3.jar", - "date": "2024-10-14" - }, - { - "name": "zio-stacktracer_3.0.0-M3-1.0.4-2.jar", - "download_url": "https://repo1.maven.org/maven2/dev/zio/zio-stacktracer_3.0.0-M3/1.0.4-2/zio-stacktracer_3.0.0-M3-1.0.4-2.jar", - "date": "2024-10-14" - }, - { - "name": "jadex-applications-webservice-4.0.267.jar", - "download_url": "https://repo1.maven.org/maven2/org/activecomponents/jadex/jadex-applications-webservice/4.0.267/jadex-applications-webservice-4.0.267.jar", - "date": "2024-10-14" - }, - { - "name": "ironoxide-scala_2.12-0.15.0.jar", - "download_url": "https://repo1.maven.org/maven2/com/ironcorelabs/ironoxide-scala_2.12/0.15.0/ironoxide-scala_2.12-0.15.0.jar", - "date": "2024-10-14" - }, - { - "name": "nessie-quarkus-0.99.0.jar", - "download_url": "https://repo1.maven.org/maven2/org/projectnessie/nessie/nessie-quarkus/0.99.0/nessie-quarkus-0.99.0.jar", - "date": "2024-10-14" - }, - { - "name": "fuel-jackson-jvm-3.0.0-alpha03.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/kittinunf/fuel/fuel-jackson-jvm/3.0.0-alpha03/fuel-jackson-jvm-3.0.0-alpha03.jar", - "date": "2024-10-14" - }, - { - "name": "data-distribution-api-vivo_1_09-1.1.1.jar", - "download_url": "https://repo1.maven.org/maven2/edu/cornell/library/scholars/data-distribution-api-vivo_1_09/1.1.1/data-distribution-api-vivo_1_09-1.1.1.jar", - "date": "2024-10-14" - }, - { - "name": "refcodes-properties-ext-application-3.3.8.jar", - "download_url": "https://repo1.maven.org/maven2/org/refcodes/refcodes-properties-ext-application/3.3.8/refcodes-properties-ext-application-3.3.8.jar", - "date": "2024-10-14" - }, - { - "name": "crosswords-api-client_2.10-0.5.jar", - "download_url": "https://repo1.maven.org/maven2/com/gu/crosswords-api-client_2.10/0.5/crosswords-api-client_2.10-0.5.jar", - "date": "2024-10-14" - }, - { - "name": "tripod-search-lucene-0.5.2.jar", - "download_url": "https://repo1.maven.org/maven2/com/bbende/tripod/tripod-search-lucene/0.5.2/tripod-search-lucene-0.5.2.jar", - "date": "2024-10-14" - }, - { - "name": "rusheye-api-1.0.0.jar", - "download_url": "https://repo1.maven.org/maven2/org/arquillian/rusheye/rusheye-api/1.0.0/rusheye-api-1.0.0.jar", - "date": "2024-10-14" - }, - { - "name": "myUtils-all-1.0.5-RELEASE.jar", - "download_url": "https://repo1.maven.org/maven2/top/xzxsrq/myUtils-all/1.0.5-RELEASE/myUtils-all-1.0.5-RELEASE.jar", - "date": "2024-10-14" - }, - { - "name": "org.eclipse.scada.utils.propertyeditors-0.1.0.jar", - "download_url": "https://repo1.maven.org/maven2/org/eclipse/neoscada/utils/org.eclipse.scada.utils.propertyeditors/0.1.0/org.eclipse.scada.utils.propertyeditors-0.1.0.jar", - "date": "2024-10-14" - }, - { - "name": "aws-cdk-scala-servicediscovery_2.13-0.5.0.jar", - "download_url": "https://repo1.maven.org/maven2/io/burkard/aws-cdk-scala-servicediscovery_2.13/0.5.0/aws-cdk-scala-servicediscovery_2.13-0.5.0.jar", - "date": "2024-10-14" - }, - { - "name": "deploy-twitterharvester-0.0.11.jar", - "download_url": "https://repo1.maven.org/maven2/eu/dicode-project/deploy-twitterharvester/0.0.11/deploy-twitterharvester-0.0.11.jar", - "date": "2024-10-14" - }, - { - "name": "consul-2.1.37.jar", - "download_url": "https://repo1.maven.org/maven2/com/networknt/consul/2.1.37/consul-2.1.37.jar", - "date": "2024-10-14" - }, - { - "name": "connector-browse-1.1.55.jar", - "download_url": "https://repo1.maven.org/maven2/io/fabric8/funktion/connector/connector-browse/1.1.55/connector-browse-1.1.55.jar", - "date": "2024-10-14" - }, - { - "name": "eureka-client-jersey3-2.0.3.jar", - "download_url": "https://repo1.maven.org/maven2/com/netflix/eureka/eureka-client-jersey3/2.0.3/eureka-client-jersey3-2.0.3.jar", - "date": "2024-10-14" - }, - { - "name": "trace-id-test2-0.0.2.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/houbb/trace-id-test2/0.0.2/trace-id-test2-0.0.2.jar", - "date": "2024-10-14" - }, - { - "name": "org.eclipse.fx.code.editor-2.2.0.jar", - "download_url": "https://repo1.maven.org/maven2/at/bestsolution/eclipse/org.eclipse.fx.code.editor/2.2.0/org.eclipse.fx.code.editor-2.2.0.jar", - "date": "2024-10-14" - }, - { - "name": "scala-release-test_2.12-1.0.0-beta.2.jar", - "download_url": "https://repo1.maven.org/maven2/dev/atedeg/scala-release-test_2.12/1.0.0-beta.2/scala-release-test_2.12-1.0.0-beta.2.jar", - "date": "2024-10-14" - }, - { - "name": "azure-data-gremlin-spring-boot-starter-2.3.5.jar", - "download_url": "https://repo1.maven.org/maven2/com/microsoft/azure/azure-data-gremlin-spring-boot-starter/2.3.5/azure-data-gremlin-spring-boot-starter-2.3.5.jar", - "date": "2024-10-14" - }, - { - "name": "scalafix-testkit_2.12.13-0.9.28.jar", - "download_url": "https://repo1.maven.org/maven2/ch/epfl/scala/scalafix-testkit_2.12.13/0.9.28/scalafix-testkit_2.12.13-0.9.28.jar", - "date": "2024-10-14" - }, - { - "name": "camel-connector-2.3.14.jar", - "download_url": "https://repo1.maven.org/maven2/io/fabric8/django/camel-connector/2.3.14/camel-connector-2.3.14.jar", - "date": "2024-10-14" - }, - { - "name": "org.eclipse.pde.unittest.junit-1.1.500.jar", - "download_url": "https://repo1.maven.org/maven2/org/eclipse/pde/org.eclipse.pde.unittest.junit/1.1.500/org.eclipse.pde.unittest.junit-1.1.500.jar", - "date": "2024-10-14" - }, - { - "name": "resolvers-okhttp-5.1.1.jar", - "download_url": "https://repo1.maven.org/maven2/org/codehaus/httpcache4j/resolvers/resolvers-okhttp/5.1.1/resolvers-okhttp-5.1.1.jar", - "date": "2024-10-14" - }, - { - "name": "lol-esports-api-wrapper-0.1.21.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/mckernant1/lol-esports-api-wrapper/0.1.21/lol-esports-api-wrapper-0.1.21.jar", - "date": "2024-10-14" - }, - { - "name": "james-server-guice-smtp-3.8.1.jar", - "download_url": "https://repo1.maven.org/maven2/org/apache/james/james-server-guice-smtp/3.8.1/james-server-guice-smtp-3.8.1.jar", - "date": "2024-10-14" - }, - { - "name": "dynamicConfig-1.0.2.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/kl3answer/dynamicConfig/1.0.2/dynamicConfig-1.0.2.jar", - "date": "2024-10-14" - }, - { - "name": "clustering_2.11-1.4.16.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/pshirshov/izumi/legacy/clustering_2.11/1.4.16/clustering_2.11-1.4.16.jar", - "date": "2024-10-14" - }, - { - "name": "madura-vaadinsupport-2.6.0.jar", - "download_url": "https://repo1.maven.org/maven2/nz/co/senanque/madura-vaadinsupport/2.6.0/madura-vaadinsupport-2.6.0.jar", - "date": "2024-10-14" - }, - { - "name": "nirvana-storage-AN-0.0.1.jar", - "download_url": "https://repo1.maven.org/maven2/tech/aegean/next/nirvana-storage/AN-0.0.1/nirvana-storage-AN-0.0.1.jar", - "date": "2024-10-14" - }, - { - "name": "activiti-cloud-services-commons-io-7.1.0.M6.jar", - "download_url": "https://repo1.maven.org/maven2/org/activiti/cloud/common/activiti-cloud-services-commons-io/7.1.0.M6/activiti-cloud-services-commons-io-7.1.0.M6.jar", - "date": "2024-10-14" - }, - { - "name": "jimp__plugin-normalize-0.22.10.jar", - "download_url": "https://repo1.maven.org/maven2/org/webjars/npm/jimp__plugin-normalize/0.22.10/jimp__plugin-normalize-0.22.10.jar", - "date": "2024-10-14" - }, - { - "name": "com.liferay.app.builder.workflow.rest.impl-2.0.2.jar", - "download_url": "https://repo1.maven.org/maven2/com/liferay/com.liferay.app.builder.workflow.rest.impl/2.0.2/com.liferay.app.builder.workflow.rest.impl-2.0.2.jar", - "date": "2024-10-14" - }, - { - "name": "unfiltered-filter-async_2.12-0.12.0.jar", - "download_url": "https://repo1.maven.org/maven2/ws/unfiltered/unfiltered-filter-async_2.12/0.12.0/unfiltered-filter-async_2.12-0.12.0.jar", - "date": "2024-10-14" - }, - { - "name": "sling-configs-1.0.2.jar", - "download_url": "https://repo1.maven.org/maven2/hu/blackbelt/karaf/features/sling-configs/1.0.2/sling-configs-1.0.2.jar", - "date": "2024-10-14" - }, - { - "name": "rainier-base_2.12-0.3.5.jar", - "download_url": "https://repo1.maven.org/maven2/com/stripe/rainier-base_2.12/0.3.5/rainier-base_2.12-0.3.5.jar", - "date": "2024-10-14" - }, - { - "name": "jspdf-2.3.1.jar", - "download_url": "https://repo1.maven.org/maven2/org/webjars/bower/jspdf/2.3.1/jspdf-2.3.1.jar", - "date": "2024-10-14" - }, - { - "name": "dijon_2.12-0.6.0.jar", - "download_url": "https://repo1.maven.org/maven2/me/vican/jorge/dijon_2.12/0.6.0/dijon_2.12-0.6.0.jar", - "date": "2024-10-14" - }, - { - "name": "framework-boxing-1.0.0-SYLPHLIKE.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/sylphlike/framework-boxing/1.0.0-SYLPHLIKE/framework-boxing-1.0.0-SYLPHLIKE.jar", - "date": "2024-10-14" - }, - { - "name": "luoshu-spring-0.32.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/luoshu-open/luoshu-spring/0.32/luoshu-spring-0.32.jar", - "date": "2024-10-14" - }, - { - "name": "geronimo-servlet_2.5_spec-1.2.jar", - "download_url": "https://repo1.maven.org/maven2/org/apache/geronimo/specs/geronimo-servlet_2.5_spec/1.2/geronimo-servlet_2.5_spec-1.2.jar", - "date": "2024-10-14" - }, - { - "name": "zeebe-client-java-1.0.0-alpha7.jar", - "download_url": "https://repo1.maven.org/maven2/io/zeebe/zeebe-client-java/1.0.0-alpha7/zeebe-client-java-1.0.0-alpha7.jar", - "date": "2024-10-14" - }, - { - "name": "oxalis-persistence-6.7.0.jar", - "download_url": "https://repo1.maven.org/maven2/network/oxalis/oxalis-persistence/6.7.0/oxalis-persistence-6.7.0.jar", - "date": "2024-10-14" - }, - { - "name": "infinispan-server-testdriver-junit5-jakarta-14.0.32.Final.jar", - "download_url": "https://repo1.maven.org/maven2/org/infinispan/infinispan-server-testdriver-junit5-jakarta/14.0.32.Final/infinispan-server-testdriver-junit5-jakarta-14.0.32.Final.jar", - "date": "2024-10-14" - }, - { - "name": "framework-net-3.0.6.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/fartherp/framework-net/3.0.6/framework-net-3.0.6.jar", - "date": "2024-10-14" - }, - { - "name": "avc-examples-users3-dao-inMemory-0.0.5.jar", - "download_url": "https://repo1.maven.org/maven2/net/avcompris/commons/avc-examples-users3-dao-inMemory/0.0.5/avc-examples-users3-dao-inMemory-0.0.5.jar", - "date": "2024-10-14" - }, - { - "name": "web-kotlin-1.0.4.jar", - "download_url": "https://repo1.maven.org/maven2/com/github/storm-bit/web-kotlin/1.0.4/web-kotlin-1.0.4.jar", - "date": "2024-10-14" - }, - { - "name": "cdc-util-csv-0.9.0.jar", - "download_url": "https://repo1.maven.org/maven2/com/gitlab/cdc-java/util/cdc-util-csv/0.9.0/cdc-util-csv-0.9.0.jar", - "date": "2024-10-14" - }, - { - "name": "postscribe-1.4.0.jar", - "download_url": "https://repo1.maven.org/maven2/org/webjars/bower/postscribe/1.4.0/postscribe-1.4.0.jar", - "date": "2024-10-14" - }, - { - "name": "activation-1.1.1.jar", - "download_url": "https://repo1.maven.org/maven2/javax/activation/activation/1.1.1/activation-1.1.1.jar", - "date": "2024-10-14" - }, - { - "name": "activiti-cloud-services-subscriptions-7.1.0.M6.jar", - "download_url": "https://repo1.maven.org/maven2/org/activiti/cloud/rb/activiti-cloud-services-subscriptions/7.1.0.M6/activiti-cloud-services-subscriptions-7.1.0.M6.jar", - "date": "2024-10-14" - }, - { - "name": "gravitee-am-gateway-services-sync-4.5.0.jar", - "download_url": "https://repo1.maven.org/maven2/io/gravitee/am/gateway/gravitee-am-gateway-services-sync/4.5.0/gravitee-am-gateway-services-sync-4.5.0.jar", - "date": "2024-10-14" - }, - { - "name": "owlapi-gwt-4.3.2.1.jar", - "download_url": "https://repo1.maven.org/maven2/net/sourceforge/owlapi/owlapi-gwt/4.3.2.1/owlapi-gwt-4.3.2.1.jar", - "date": "2024-10-14" - }, - { - "name": "swak-core-2.3.1.jar", - "download_url": "https://repo1.maven.org/maven2/io/gitee/mcolley/swak-core/2.3.1/swak-core-2.3.1.jar", - "date": "2024-10-14" - } - ] -} \ No newline at end of file diff --git a/sootup.java.bytecode.frontend/pom.xml b/sootup.java.bytecode.frontend/pom.xml index 2a6a65200af..c7be9014518 100644 --- a/sootup.java.bytecode.frontend/pom.xml +++ b/sootup.java.bytecode.frontend/pom.xml @@ -60,6 +60,11 @@ gson 2.8.9 - + + org.soot-oss + sootup.jimple.frontend + test + + diff --git a/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java b/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java index 685ce4b746d..1bdb2387b16 100644 --- a/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java +++ b/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java @@ -3,20 +3,28 @@ import categories.TestCategories; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; +import sootup.core.inputlocation.AnalysisInputLocation; +import sootup.core.model.Body; +import sootup.core.model.SourceType; +import sootup.interceptors.NopEliminator; import sootup.java.core.views.JavaView; +import sootup.jimple.frontend.JimpleAnalysisInputLocation; +import sootup.jimple.frontend.JimpleView; + +import java.nio.file.Paths; +import java.util.Collections; +import java.util.concurrent.atomic.AtomicReference; @Tag(TestCategories.JAVA_8_CATEGORY) public class FixJars extends BaseFixJarsTest { @Test public void executeexamcorejar() { - String jarDownloadUrl = - "https://repo1.maven.org/maven2/io/github/adven27/exam-core/2024.0.10/exam-core-2024.0.10.jar"; - String methodSignature = - ""; - JavaView javaView = supplyJavaView(jarDownloadUrl); - assertMethodConversion(javaView, methodSignature); - assertJar(javaView); + AnalysisInputLocation inputLocation = new JimpleAnalysisInputLocation(Paths.get("./src/test/resources/"), SourceType.Application, Collections.singletonList(new NopEliminator())); + JimpleView jimpleView = new JimpleView(inputLocation); + jimpleView.getClasses().forEach(sootClass -> { + Body body = sootClass.getMethodsByName("nopEliminatorBug").stream().findFirst().get().getBody(); + }); } @Test diff --git a/sootup.java.bytecode.frontend/src/test/resources/jar_failure.json b/sootup.java.bytecode.frontend/src/test/resources/jar_failure.json deleted file mode 100644 index 21b5a3d9b23..00000000000 --- a/sootup.java.bytecode.frontend/src/test/resources/jar_failure.json +++ /dev/null @@ -1,14 +0,0 @@ -[ -{ - "jar_name": "exam-core-2024.0.10.jar", - "exception": "Failed to apply sootup.interceptors.NopEliminator@3b7645f1 to ", - "download_url": "https://repo1.maven.org/maven2/io/github/adven27/exam-core/2024.0.10/exam-core-2024.0.10.jar", - "failedMethodSignature": "" -}, -{ - "jar_name": "audiofile_3.0.0-RC2-2.3.3.jar", - "exception": "Failed to convert ", - "download_url": "https://repo1.maven.org/maven2/de/sciss/audiofile_3.0.0-RC2/2.3.3/audiofile_3.0.0-RC2-2.3.3.jar", - "failedMethodSignature": "" -} -] \ No newline at end of file diff --git a/sootup.java.bytecode.frontend/src/test/resources/nopEliminatorBugTest.jimple b/sootup.java.bytecode.frontend/src/test/resources/nopEliminatorBugTest.jimple new file mode 100644 index 00000000000..ec1175ddfb0 --- /dev/null +++ b/sootup.java.bytecode.frontend/src/test/resources/nopEliminatorBugTest.jimple @@ -0,0 +1,43 @@ +class DummyClass extends java.lang.Object { + + public int nopEliminatorBug() { + this := @this: io.github.adven27.concordion.extensions.exam.core.logger.LoggingFormatterExtension$LoggingFormatterListener; + event := @parameter0: org.concordion.api.listener.ExampleEvent; + staticinvoke (event, "event"); + + label1: + nop; + $stack5 = this.; + it = interfaceinvoke $stack5.(); + $stack6 = virtualinvoke it.(); + + if $stack6 == 0 goto label2; + specialinvoke this.(event, it); + + label2: + nop; + nop; + + label3: + $stack7 = this.; + interfaceinvoke $stack7.(); + + goto label6; + + label4: + $stack8 := @caughtexception; + l2 = $stack8; + + label5: + $stack9 = this.; + interfaceinvoke $stack9.(); + + throw l2; + + label6: + return; + + catch java.lang.Throwable from label1 to label3 with label4; + catch java.lang.Throwable from label4 to label5 with label4; + } +} From 747d22048f39b4c14b35c6dd88c0c8e4cbce5a8a Mon Sep 17 00:00:00 2001 From: sahilagichani Date: Fri, 3 Jan 2025 07:58:29 +0100 Subject: [PATCH 4/8] create minimal test case from the jar --- .../frontend/inputlocation/FixJars.java | 25 +++++++++++++------ 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java b/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java index 1bdb2387b16..7e3580c97e0 100644 --- a/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java +++ b/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java @@ -1,6 +1,8 @@ package sootup.java.bytecode.frontend.inputlocation; import categories.TestCategories; +import java.nio.file.Paths; +import java.util.Collections; import org.junit.jupiter.api.Tag; import org.junit.jupiter.api.Test; import sootup.core.inputlocation.AnalysisInputLocation; @@ -11,20 +13,27 @@ import sootup.jimple.frontend.JimpleAnalysisInputLocation; import sootup.jimple.frontend.JimpleView; -import java.nio.file.Paths; -import java.util.Collections; -import java.util.concurrent.atomic.AtomicReference; - @Tag(TestCategories.JAVA_8_CATEGORY) public class FixJars extends BaseFixJarsTest { @Test public void executeexamcorejar() { - AnalysisInputLocation inputLocation = new JimpleAnalysisInputLocation(Paths.get("./src/test/resources/"), SourceType.Application, Collections.singletonList(new NopEliminator())); + AnalysisInputLocation inputLocation = + new JimpleAnalysisInputLocation( + Paths.get("./src/test/resources/"), + SourceType.Application, + Collections.singletonList(new NopEliminator())); JimpleView jimpleView = new JimpleView(inputLocation); - jimpleView.getClasses().forEach(sootClass -> { - Body body = sootClass.getMethodsByName("nopEliminatorBug").stream().findFirst().get().getBody(); - }); + jimpleView + .getClasses() + .forEach( + sootClass -> { + Body body = + sootClass.getMethodsByName("nopEliminatorBug").stream() + .findFirst() + .get() + .getBody(); + }); } @Test From b77af0940c669fe9d5d6da60e6a3824977ae983a Mon Sep 17 00:00:00 2001 From: sahilagichani Date: Wed, 8 Jan 2025 11:33:21 +0100 Subject: [PATCH 5/8] rename variable --- .../java/sootup/core/util/printer/LabeledStmtPrinter.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sootup.core/src/main/java/sootup/core/util/printer/LabeledStmtPrinter.java b/sootup.core/src/main/java/sootup/core/util/printer/LabeledStmtPrinter.java index 01f4eb5eb75..fedc68e68bc 100644 --- a/sootup.core/src/main/java/sootup/core/util/printer/LabeledStmtPrinter.java +++ b/sootup.core/src/main/java/sootup/core/util/printer/LabeledStmtPrinter.java @@ -113,10 +113,10 @@ public Iterable initializeSootMethod(@Nonnull StmtGraph stmtGraph) { @Nonnull public List getStmts(@Nonnull StmtGraph stmtGraph) { - final Collection targetStmtsOfBranches = stmtGraph.getLabeledStmts(); + final Collection labeledStmts = stmtGraph.getLabeledStmts(); final List traps = stmtGraph.buildTraps(); - final int maxEstimatedSize = targetStmtsOfBranches.size() + traps.size() * 3; + final int maxEstimatedSize = labeledStmts.size() + traps.size() * 3; labels = new HashMap<>(maxEstimatedSize, 1); references = new HashMap<>(maxEstimatedSize, 1); @@ -135,7 +135,7 @@ public List getStmts(@Nonnull StmtGraph stmtGraph) { // Build labelStmts and refStmts -> is stmt head of a block (as its a branch target/trapHandler // or is the begin of a trap-range) or does it mark the end of a trap range // does it need a label - for (Stmt stmt : targetStmtsOfBranches) { + for (Stmt stmt : labeledStmts) { if (stmtGraph.isStmtBranchTarget(stmt) || trapStmts.contains(stmt)) { labelStmts.add(stmt); } else { From d42255658fb02ef40711a58e25fe6667e1b24831 Mon Sep 17 00:00:00 2001 From: sahilagichani Date: Thu, 9 Jan 2025 10:08:51 +0100 Subject: [PATCH 6/8] revertt change --- .../java/sootup/core/util/printer/LabeledStmtPrinter.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sootup.core/src/main/java/sootup/core/util/printer/LabeledStmtPrinter.java b/sootup.core/src/main/java/sootup/core/util/printer/LabeledStmtPrinter.java index fedc68e68bc..01f4eb5eb75 100644 --- a/sootup.core/src/main/java/sootup/core/util/printer/LabeledStmtPrinter.java +++ b/sootup.core/src/main/java/sootup/core/util/printer/LabeledStmtPrinter.java @@ -113,10 +113,10 @@ public Iterable initializeSootMethod(@Nonnull StmtGraph stmtGraph) { @Nonnull public List getStmts(@Nonnull StmtGraph stmtGraph) { - final Collection labeledStmts = stmtGraph.getLabeledStmts(); + final Collection targetStmtsOfBranches = stmtGraph.getLabeledStmts(); final List traps = stmtGraph.buildTraps(); - final int maxEstimatedSize = labeledStmts.size() + traps.size() * 3; + final int maxEstimatedSize = targetStmtsOfBranches.size() + traps.size() * 3; labels = new HashMap<>(maxEstimatedSize, 1); references = new HashMap<>(maxEstimatedSize, 1); @@ -135,7 +135,7 @@ public List getStmts(@Nonnull StmtGraph stmtGraph) { // Build labelStmts and refStmts -> is stmt head of a block (as its a branch target/trapHandler // or is the begin of a trap-range) or does it mark the end of a trap range // does it need a label - for (Stmt stmt : labeledStmts) { + for (Stmt stmt : targetStmtsOfBranches) { if (stmtGraph.isStmtBranchTarget(stmt) || trapStmts.contains(stmt)) { labelStmts.add(stmt); } else { From 82a2b61b8f76f0439f831a8f7c8f79bcbe5a76d7 Mon Sep 17 00:00:00 2001 From: sahilagichani Date: Thu, 9 Jan 2025 12:46:30 +0100 Subject: [PATCH 7/8] review changes --- .../bytecode/frontend/inputlocation/FixJars.java | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java b/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java index 7e3580c97e0..83c6d75a0d6 100644 --- a/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java +++ b/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java @@ -17,6 +17,10 @@ public class FixJars extends BaseFixJarsTest { @Test + /* Isolated testcase from: + * String jarDownloadUrl = "https://repo1.maven.org/maven2/io/github/adven27/exam-core/2024.0.10/exam-core-2024.0.10.jar"; + * String methodSignature = ""; + */ public void executeexamcorejar() { AnalysisInputLocation inputLocation = new JimpleAnalysisInputLocation( @@ -35,15 +39,4 @@ public void executeexamcorejar() { .getBody(); }); } - - @Test - public void executeaudiofileRCjar() { - String jarDownloadUrl = - "https://repo1.maven.org/maven2/de/sciss/audiofile_3.0.0-RC2/2.3.3/audiofile_3.0.0-RC2-2.3.3.jar"; - String methodSignature = - ""; - JavaView javaView = supplyJavaView(jarDownloadUrl); - assertMethodConversion(javaView, methodSignature); - assertJar(javaView); - } } From a887000364bae7d8cebf9287270835507be55e58 Mon Sep 17 00:00:00 2001 From: sahilagichani Date: Thu, 9 Jan 2025 13:02:46 +0100 Subject: [PATCH 8/8] review changes --- .../java/bytecode/frontend/inputlocation/FixJars.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java b/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java index 83c6d75a0d6..cdda50e5ea4 100644 --- a/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java +++ b/sootup.java.bytecode.frontend/src/test/java/sootup/java/bytecode/frontend/inputlocation/FixJars.java @@ -9,7 +9,6 @@ import sootup.core.model.Body; import sootup.core.model.SourceType; import sootup.interceptors.NopEliminator; -import sootup.java.core.views.JavaView; import sootup.jimple.frontend.JimpleAnalysisInputLocation; import sootup.jimple.frontend.JimpleView; @@ -18,9 +17,9 @@ public class FixJars extends BaseFixJarsTest { @Test /* Isolated testcase from: - * String jarDownloadUrl = "https://repo1.maven.org/maven2/io/github/adven27/exam-core/2024.0.10/exam-core-2024.0.10.jar"; - * String methodSignature = ""; - */ + * String jarDownloadUrl = "https://repo1.maven.org/maven2/io/github/adven27/exam-core/2024.0.10/exam-core-2024.0.10.jar"; + * String methodSignature = ""; + */ public void executeexamcorejar() { AnalysisInputLocation inputLocation = new JimpleAnalysisInputLocation(