论文标题
部分可观测时空混沌系统的无模型预测
MLSmellHound: A Context-Aware Code Analysis Tool
论文作者
论文摘要
满足将机器学习(ML)组件(ML)组件纳入软件系统的行业需求的增加,需要跨学科的团队为共享代码库做出贡献。为了保持一致性,减少缺陷并确保可维护性,开发人员使用代码分析工具来帮助他们识别缺陷和维护标准。随着机器学习的包含,工具必须解释团队内的文化差异,这些文化差异表现为多种编程语言以及相互冲突的定义和目标。现有工具无法识别这些文化差异,并旨在用于减少其在ML项目中采用的软件工程。在我们的方法中,我们试图通过探索上下文的使用来解决此问题,该上下文包括i)源代码的目的,ii)技术域,iii)问题域,iv)团队规范,v)操作环境和vi)开发生命周期阶段,以提供上下文化的错误报告,以进行代码分析。为了证明我们的方法,我们根据分析中的单个项目文件的范围将pylint适应pylint,并将一组上下文转换应用于覆盖结果。这允许最终用户的上下文化和有意义的错误报告。
Meeting the rise of industry demand to incorporate machine learning (ML) components into software systems requires interdisciplinary teams contributing to a shared code base. To maintain consistency, reduce defects and ensure maintainability, developers use code analysis tools to aid them in identifying defects and maintaining standards. With the inclusion of machine learning, tools must account for the cultural differences within the teams which manifests as multiple programming languages, and conflicting definitions and objectives. Existing tools fail to identify these cultural differences and are geared towards software engineering which reduces their adoption in ML projects. In our approach we attempt to resolve this problem by exploring the use of context which includes i) purpose of the source code, ii) technical domain, iii) problem domain, iv) team norms, v) operational environment, and vi) development lifecycle stage to provide contextualised error reporting for code analysis. To demonstrate our approach, we adapt Pylint as an example and apply a set of contextual transformations to the linting results based on the domain of individual project files under analysis. This allows for contextualised and meaningful error reporting for the end-user.