Making application build safer through static analysis of naming
Résumé
A lot of studies demonstrate that many builds of software fail, due to dependency issues. We make the assump- tion that failures are caused by the difficulty of tools to check interdependencies in a context of heterogeneity of languages. This article describes a novel approach to improving applications builds safety based on an abstract interpretation of name usage. Since application building relies on very heterogeneous resources and languages, the approach extracts what appears as a common factor: names. We reuse a name dependency approach (scope graph) already used in single language context, and adapt it to a multi-language environment. It allows to check external references and ensure the resolution of names. Thanks to an operational semantics of build operations on scope graphs, the verification can be done statically, prior to any real build run.