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

Saved in:
Bibliographic Details
Title: Locating Need-to-Externalize Constant Strings for Software Internationalization with Generalized String-Taint Analysis.
Authors: Wang, Xiaoyin1, Zhang, Lu1, Xie, Tao2, Mei, Hong1, Sun, Jiasu1
Source: IEEE Transactions on Software Engineering. Apr2013, Vol. 39 Issue 4, p516-536. 21p. 4 Diagrams, 10 Charts.
Subjects: Software localization, Computer software marketing, Computer software development, Graphical user interfaces, Source code
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. [ABSTRACT FROM AUTHOR]
Copyright of IEEE Transactions on Software Engineering is the property of IEEE Computer Society and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract. (Copyright applies to all Abstracts.)
Database: Engineering Source
FullText Links:
  – Type: pdflink
Text:
  Availability: 0
Header DbId: egs
DbLabel: Engineering Source
An: 86919971
AccessLevel: 6
PubType: Academic Journal
PubTypeId: academicJournal
PreciseRelevancyScore: 0
IllustrationInfo
Items – Name: Title
  Label: Title
  Group: Ti
  Data: Locating Need-to-Externalize Constant Strings for Software Internationalization with Generalized String-Taint Analysis.
– Name: Author
  Label: Authors
  Group: Au
  Data: <searchLink fieldCode="AR" term="%22Wang%2C+Xiaoyin%22">Wang, Xiaoyin</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Zhang%2C+Lu%22">Zhang, Lu</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Xie%2C+Tao%22">Xie, Tao</searchLink><relatesTo>2</relatesTo><br /><searchLink fieldCode="AR" term="%22Mei%2C+Hong%22">Mei, Hong</searchLink><relatesTo>1</relatesTo><br /><searchLink fieldCode="AR" term="%22Sun%2C+Jiasu%22">Sun, Jiasu</searchLink><relatesTo>1</relatesTo>
– Name: TitleSource
  Label: Source
  Group: Src
  Data: <searchLink fieldCode="JN" term="%22IEEE+Transactions+on+Software+Engineering%22">IEEE Transactions on Software Engineering</searchLink>. Apr2013, Vol. 39 Issue 4, p516-536. 21p. 4 Diagrams, 10 Charts.
– Name: Subject
  Label: Subjects
  Group: Su
  Data: <searchLink fieldCode="DE" term="%22Software+localization%22">Software localization</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+software+marketing%22">Computer software marketing</searchLink><br /><searchLink fieldCode="DE" term="%22Computer+software+development%22">Computer software development</searchLink><br /><searchLink fieldCode="DE" term="%22Graphical+user+interfaces%22">Graphical user interfaces</searchLink><br /><searchLink fieldCode="DE" term="%22Source+code%22">Source code</searchLink>
– Name: Abstract
  Label: Abstract
  Group: Ab
  Data: 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. [ABSTRACT FROM AUTHOR]
– Name: AbstractSuppliedCopyright
  Label:
  Group: Ab
  Data: <i>Copyright of IEEE Transactions on Software Engineering is the property of IEEE Computer Society and its content may not be copied or emailed to multiple sites without the copyright holder's express written permission. Additionally, content may not be used with any artificial intelligence tools or machine learning technologies. However, users may print, download, or email articles for individual use. This abstract may be abridged. No warranty is given about the accuracy of the copy. Users should refer to the original published version of the material for the full abstract.</i> (Copyright applies to all Abstracts.)
PLink https://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=egs&AN=86919971
RecordInfo BibRecord:
  BibEntity:
    Identifiers:
      – Type: doi
        Value: 10.1109/TSE.2012.40
    Languages:
      – Code: eng
        Text: English
    PhysicalDescription:
      Pagination:
        PageCount: 21
        StartPage: 516
    Subjects:
      – SubjectFull: Software localization
        Type: general
      – SubjectFull: Computer software marketing
        Type: general
      – SubjectFull: Computer software development
        Type: general
      – SubjectFull: Graphical user interfaces
        Type: general
      – SubjectFull: Source code
        Type: general
    Titles:
      – TitleFull: Locating Need-to-Externalize Constant Strings for Software Internationalization with Generalized String-Taint Analysis.
        Type: main
  BibRelationships:
    HasContributorRelationships:
      – PersonEntity:
          Name:
            NameFull: Wang, Xiaoyin
      – PersonEntity:
          Name:
            NameFull: Zhang, Lu
      – PersonEntity:
          Name:
            NameFull: Xie, Tao
      – PersonEntity:
          Name:
            NameFull: Mei, Hong
      – PersonEntity:
          Name:
            NameFull: Sun, Jiasu
    IsPartOfRelationships:
      – BibEntity:
          Dates:
            – D: 01
              M: 04
              Text: Apr2013
              Type: published
              Y: 2013
          Identifiers:
            – Type: issn-print
              Value: 00985589
          Numbering:
            – Type: volume
              Value: 39
            – Type: issue
              Value: 4
          Titles:
            – TitleFull: IEEE Transactions on Software Engineering
              Type: main
ResultId 1