Downloads provided by UsageCounts
We present PacSolve, a semantics of dependency solving that we use to highlight the essential features and differences between NPM, PIP, and Cargo. We use PacSolve to implement MaxNPM, a drop-in replacement for NPM that allows the user to customize dependency solving with a variety of global objectives and consistency criteria. Using MaxNPM, developers can optimize dependency resolution to achieve goals that npm is unable to, such as: reduce the presence of vulnerabilities, resolve newer packages and reduce bloat. We evaluate MaxNPM on the top 1,000 packages in the NPM ecosystem, finding that our prototype introduces a median overhead of less than two seconds. We find that MaxNPM produces solutions with fewer dependencies and newer dependencies for many packages.
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 0 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Average | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Average |
| views | 24 | |
| downloads | 2 |

Views provided by UsageCounts
Downloads provided by UsageCounts