DVALIDATOR: An approach for validating dependencies in build configurations

JOURNAL OF SYSTEMS AND SOFTWARE(2024)

引用 0|浏览20
暂无评分
摘要
Reusing components is a well-established practice in modern software engineering and brings many advantages, such as a reduction of development costs and time. However, there are still several problems when reusing software components, such as the management of the dependencies of a project. Modern build systems provide dependency managers to support developers when dealing with dependencies. But even with this tool support, dependency management is an error-prone task which can lead to dependency hell if it gets out of control. In this paper, we propose DVALIDATOR, an approach that considers dependencies on project level and method call level for validating dependencies in build configurations. First, DVALIDATOR encodes a project's dependency graph as specified in a build configuration and its call graph into a representation using Answer Set Programming (ASP). Then it uses Clingo as a solver to detect problems with the dependencies in that build configuration. In a preliminary evaluation with four open source Maven projects we show that our approach can detect selected dependency smells in less than eight seconds. Next steps concern the investigation of our approach for automatically improving dependency configurations, such as automatically repairing dependency smells and conflicts.
更多
查看译文
关键词
Dependency management,Apache Maven,Answer set programming,Build engineering
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要