...
首页> 外文期刊>Software Engineering, IEEE Transactions on >Locating Need-to-Externalize Constant Strings for Software Internationalization with Generalized String-Taint Analysis
【24h】

Locating Need-to-Externalize Constant Strings for Software Internationalization with Generalized String-Taint Analysis

机译:使用通用字符串污点分析查找需要外部化的常量字符串以进行软件国际化

获取原文
获取原文并翻译 | 示例
   

获取外文期刊封面封底 >>

       

摘要

Nowadays, a software product usually faces a global market. To meet the requirements of different local users, the software product must be internationalized. In an internationalized software product, user-visible hard-coded constant strings are externalized to resource files so that local versions can be generated by translating the resource files. In many cases, a software product is not internationalized at the beginning of the software development process. To internationalize an existing product, the developers must locate the user-visible constant strings that should be externalized. This locating process is tedious and error-prone due to 1) the large number of both user-visible and non-user-visible constant strings and 2) the complex data flows from constant strings to the Graphical User Interface (GUI). In this paper, we propose an automatic approach to locating need-to-externalize constant strings in the source code of a software product. Given a list of precollected API methods that output values of their string argument variables to the GUI and the source code of the software product under analysis, our approach traces from the invocation sites (within the source code) of these methods back to the need-to-externalize constant strings using generalized string-taint analysis. In our empirical evaluation, we used our approach to locate need-to-externalize constant strings in the uninternationalized versions of seven real-world open source software products. The results of our evaluation demonstrate that our approach is able to effectively locate need-to-externalize constant strings in uninternationalized software products. Furthermore, to help developers understand why a constant string requires translation and properly translate the need-to-externalize strings, we provide visual representation of the string dependencies related to the need-to-externalize strings.
机译:如今,软件产品通常面向全球市场。为了满足不同本地用户的要求,必须对软件产品进行国际化。在国际化的软件产品中,用户可见的硬编码常量字符串被外部化到资源文件中,以便可以通过翻译资源文件来生成本地版本。在许多情况下,软件产品在软件开发过程的开始就没有被国际化。为了使现有产品国际化,开发人员必须找到应该被外部化的用户可见常量字符串。由于1)大量用户可见和非用户可见的常量字符串,以及2)复杂的数据从常量字符串流到图形用户界面(GUI),因此该定位过程非常繁琐且容易出错。在本文中,我们提出了一种自动方法来在软件产品的源代码中定位需要外部化的常量字符串。给定一系列预先收集的API方法,这些方法将其字符串参数变量的值输出到GUI以及正在分析的软件产品的源代码,我们的方法从这些方法的调用站点(在源代码内)追溯到需要-使用广义字符串污点分析将常量字符串外部化。在我们的经验评估中,我们使用了我们的方法来在七个实际的开放源代码软件产品的非国际化版本中定位需要外部化常量字符串的位置。我们的评估结果表明,我们的方法能够有效地定位需要在非国际化的软件产品中外部化常量字符串的位置。此外,为了帮助开发人员理解为什么常量字符串需要翻译并正确翻译需要外部化的字符串,我们提供了与需要外部化的字符串相关的字符串依赖关系的直观表示。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号