|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
Locating Need-to-Externalize Constant Strings for Software Internationalization with Generalized String-Taint Analysis
April 2013 (vol. 39 no. 4)
pp. 516-536
| ASCII Text | x | ||
| Xiaoyin Wang, Lu Zhang, Tao Xie, Hong Mei, Jiasu Sun, "Locating Need-to-Externalize Constant Strings for Software Internationalization with Generalized String-Taint Analysis," IEEE Transactions on Software Engineering, vol. 39, no. 4, pp. 516-536, April, 2013. | |||
| BibTex | x | ||
| @article{ 10.1109/TSE.2012.40, author = {Xiaoyin Wang and Lu Zhang and Tao Xie and Hong Mei and Jiasu Sun}, title = {Locating Need-to-Externalize Constant Strings for Software Internationalization with Generalized String-Taint Analysis}, journal ={IEEE Transactions on Software Engineering}, volume = {39}, number = {4}, issn = {0098-5589}, year = {2013}, pages = {516-536}, doi = {http://doi.ieeecomputersociety.org/10.1109/TSE.2012.40}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - JOUR JO - IEEE Transactions on Software Engineering TI - Locating Need-to-Externalize Constant Strings for Software Internationalization with Generalized String-Taint Analysis IS - 4 SN - 0098-5589 SP516 EP536 EPD - 516-536 A1 - Xiaoyin Wang, A1 - Lu Zhang, A1 - Tao Xie, A1 - Hong Mei, A1 - Jiasu Sun, PY - 2013 KW - Software KW - Graphical user interfaces KW - Prototypes KW - Java KW - Libraries KW - Production KW - Globalization KW - string-taint analysis KW - Software internationalization KW - need-to-externalize constant strings VL - 39 JA - IEEE Transactions on Software Engineering ER - | |||
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2012.40
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.
Index Terms:
Software,Graphical user interfaces,Prototypes,Java,Libraries,Production,Globalization,string-taint analysis,Software internationalization,need-to-externalize constant strings
Citation:
Xiaoyin Wang, Lu Zhang, Tao Xie, Hong Mei, Jiasu Sun, "Locating Need-to-Externalize Constant Strings for Software Internationalization with Generalized String-Taint Analysis," IEEE Transactions on Software Engineering, vol. 39, no. 4, pp. 516-536, April 2013, doi:10.1109/TSE.2012.40
Usage of this product signifies your acceptance of the Terms of Use.

