Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

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

Published: 01 April 2013 Publication History

Abstract

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.

Cited By

View all
  • (2017)NTAppsProceedings of the 22nd ACM on Symposium on Access Control Models and Technologies10.1145/3078861.3084175(199-206)Online publication date: 7-Jun-2017
  • (2017)NetDroidProceedings of the 25th International Conference on Program Comprehension10.1109/ICPC.2017.3(165-175)Online publication date: 20-May-2017

Recommendations

Reviews

Claudiu Popescu

The results of research on string internationalization (abbreviated as i18n) in software are presented in this paper. It begins by defining the problem: strings in a graphical user interface (GUI) must be translated into many languages (along with standard usages for locales, such as the words for measures or date formats). Today, professional programming addresses the problem from the beginning, by not hard-coding any string that is visible to the user. However, older programs and some open-source programs often contain such strings. Therefore, there is a need to locate all strings in a program that require i18n. The proposed method retrieves such strings by collecting the methods from the GUI application programming interface (API) and finding the problematic strings that they use (hence the name "string-taint analysis"). Once a string is found, it is marked for i18n. The same method is also used for strings that are transmitted over a network. Wang et al. give examples of such strings in Java, and the processing algorithm is described in pseudocode. The method has been applied to several large systems, and the paper includes a section on evaluating the results, the analysis of false findings, and the efficiency of the algorithm. The paper concludes with a useful evaluation of the method and a comparison with other published techniques. The reference list contains 31 papers and books. The paper covers the important problem of adapting software for use in different countries with different languages. The method is interesting and well described. As the authors note, there is still more to do to improve the validity of the method. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 39, Issue 4
April 2013
143 pages

Publisher

IEEE Press

Publication History

Published: 01 April 2013

Author Tags

  1. Globalization
  2. Graphical user interfaces
  3. Java
  4. Libraries
  5. Production
  6. Prototypes
  7. Software
  8. Software internationalization
  9. need-to-externalize constant strings
  10. string-taint analysis

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2017)NTAppsProceedings of the 22nd ACM on Symposium on Access Control Models and Technologies10.1145/3078861.3084175(199-206)Online publication date: 7-Jun-2017
  • (2017)NetDroidProceedings of the 25th International Conference on Program Comprehension10.1109/ICPC.2017.3(165-175)Online publication date: 20-May-2017

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media