Published January 20, 2023 | Version 1.1
Software Open

UpCy: Safely Updating Outdated Dependencies

  • 1. Andreas
  • 2. Ben
  • 3. Eric

Description

This archive contains the implementation and source code of the tool UpCy as published in the ICSE2023 paper "UpCy: Safely Updating Outdated Dependencies".
Further, the repository contains a Neo4j database of Maven Central, a database of API incompatibilities, generated by SigTest, and evaluation results.

A detailed description of the artifacts and their usage is contained in the README.md.

What is UpCy
UpCy is a tool for Maven projects that automatically finds a list of update steps that updates a dependency to a target version while minimizing the number of API incompatibilities (source code- and ABI).
Typically a dependency in a Maven project is used by multiple libraries in the project's dependency tree. Thus, developers usually need to update not only the single dependencies but find out what other dependencies use that dependency as well and find a compatible version.
To ease fixing of remaining incompatibilities, UpCy uses static analysis to identify API incompatible methods that are *actually* used in the project.
UpCy does this automatically and reports (remaining) incompatible API methods.

 

Content

  • incompabilities_mongodb.tar.gz: MongoDB containing the API incompatibilities between analyzed libraries
  • maven-central_neo4j.tar.gz: Neo4j database of the Maven Central Repository mentioned in Section IV
  • experimental-results_dataset.zip: The experimental results and analysis scripts to compute the metrics mentioned in Section V
  • docker-compose*.yml: docker-compose files for running an instance of Neo4j and MongoDB
  • src*.zip: source code release of UpCy
  • *.jar: executable version of UpCy
  • setup_scripts.zip: a set of ready-to-use scripts for running the code

Usage:

  • Download the archive from zenodo
  • Decompress the archive
  • Read README.md

Files

artifact_submission_addition_files.zip

Files (5.7 GB)

Name Size Download all
md5:5233aaeba3b7d739c10dfe582fe501d5
400.1 kB Preview Download
md5:da7e9e361cbaf39f89543024cd326b2c
1.0 kB Download
md5:40f53882c33e881bf76292a0a24391a9
1.5 kB Download
md5:121069acb2112d04a032489d1a0977f9
73.1 MB Preview Download
md5:748af365e5b4c7d5d9fc28f5d0838bd2
1.8 GB Download
md5:47350593d633c085702e292652c1604b
3.8 kB Preview Download
md5:2b42edef8fa55315f34f2370b4715ca9
11.4 kB Download
md5:09850e64d868a1049347a850e3f91084
3.5 GB Download
md5:ec30b8c420acbe6ff81f5d5c76e1cb54
6.5 MB Preview Download
md5:9a1ae720874e2ca35d4d9676d6406c48
61 Bytes Download
md5:dea4045bdf6ed72604b8d0bbb3c10497
450.9 kB Download
md5:9a5510e755e7d69b21cdedf7a821c0db
8.6 kB Preview Download
md5:3784cd3b6d01f1b04b948eb4deb71067
544 Bytes Preview Download
md5:36693e78452a64bd5b0bb60d025b2254
4.3 kB Preview Download
md5:794cceb433550ebb87a7ed37b364f405
318.1 kB Preview Download
md5:1371a9cda2f1df27572b1ef7773fd34c
59.5 MB Download
md5:77e14c46450874942103e10e805262c7
296.4 MB Download
md5:8d4d2112df104aec00d2e3cf7890a45d
488 Bytes Download