Software Internationalization and Localization: An Industrial Experience

Software internationalization and localization are important steps in distributing and deploying software to different regions of the world. Internationalization refers to the process of reengineering a system such that it could support various languages and regions without further modification. Loc...

Full description

Saved in:
Bibliographic Details
Main Authors: XIA, Xin, LO, David, ZHU, Feng, WANG, Xinyu, ZHOU, Bo
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2013
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/2016
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-3015
record_format dspace
spelling sg-smu-ink.sis_research-30152018-12-05T06:00:55Z Software Internationalization and Localization: An Industrial Experience XIA, Xin LO, David ZHU, Feng WANG, Xinyu ZHOU, Bo Software internationalization and localization are important steps in distributing and deploying software to different regions of the world. Internationalization refers to the process of reengineering a system such that it could support various languages and regions without further modification. Localization refers to the process of adapting an internationalized software for a specific language or region. Due to various reasons, many large legacy systems did not consider internationalization and localization at the early stage of development. In this paper, we present our experience on, and propose a process along with tool supports for software internationalization and localization. We reengineer a large legacy commercial financial system called PAM of State Street Corporation, which is written in C/C++, containing 30 different modules, and more than 5 millions of lines of source code. We propose a source code ranker that recovers important source code to be analyzed. Based on this code, we extract general patterns of the source code that need to be reengineered for internationalization. We divide the patterns into 2 categories: convertible patterns and suspicious patterns. To locate the source code that need to be modified, we develop an automated tool I18nLocator, that consumes these patterns and outputs the locations that match the patterns. The source codes matching the convertible patterns are automatically converted, and those matching the suspicious patterns are converted by developers considering the context of the corresponding codes. For localization, we extract hard-coded strings, translate them, and store them into resource data files. Out of the 504 thousands of lines of source code that are modified using our proposed approach, we can automatically modify 79.76% of them, saving much valuable developers' time. The quality of the resultant system is also good. The number of bugs per lines of code modified found during user acceptance test and deployme- t to the production environment is 0.000218 bugs/LOC. 2013-07-01T07:00:00Z text https://ink.library.smu.edu.sg/sis_research/2016 info:doi/10.1109/ICECCS.2013.40 Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Industry Experience Reengineering Software Internationalization Software Localization Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Industry Experience
Reengineering
Software Internationalization
Software Localization
Software Engineering
spellingShingle Industry Experience
Reengineering
Software Internationalization
Software Localization
Software Engineering
XIA, Xin
LO, David
ZHU, Feng
WANG, Xinyu
ZHOU, Bo
Software Internationalization and Localization: An Industrial Experience
description Software internationalization and localization are important steps in distributing and deploying software to different regions of the world. Internationalization refers to the process of reengineering a system such that it could support various languages and regions without further modification. Localization refers to the process of adapting an internationalized software for a specific language or region. Due to various reasons, many large legacy systems did not consider internationalization and localization at the early stage of development. In this paper, we present our experience on, and propose a process along with tool supports for software internationalization and localization. We reengineer a large legacy commercial financial system called PAM of State Street Corporation, which is written in C/C++, containing 30 different modules, and more than 5 millions of lines of source code. We propose a source code ranker that recovers important source code to be analyzed. Based on this code, we extract general patterns of the source code that need to be reengineered for internationalization. We divide the patterns into 2 categories: convertible patterns and suspicious patterns. To locate the source code that need to be modified, we develop an automated tool I18nLocator, that consumes these patterns and outputs the locations that match the patterns. The source codes matching the convertible patterns are automatically converted, and those matching the suspicious patterns are converted by developers considering the context of the corresponding codes. For localization, we extract hard-coded strings, translate them, and store them into resource data files. Out of the 504 thousands of lines of source code that are modified using our proposed approach, we can automatically modify 79.76% of them, saving much valuable developers' time. The quality of the resultant system is also good. The number of bugs per lines of code modified found during user acceptance test and deployme- t to the production environment is 0.000218 bugs/LOC.
format text
author XIA, Xin
LO, David
ZHU, Feng
WANG, Xinyu
ZHOU, Bo
author_facet XIA, Xin
LO, David
ZHU, Feng
WANG, Xinyu
ZHOU, Bo
author_sort XIA, Xin
title Software Internationalization and Localization: An Industrial Experience
title_short Software Internationalization and Localization: An Industrial Experience
title_full Software Internationalization and Localization: An Industrial Experience
title_fullStr Software Internationalization and Localization: An Industrial Experience
title_full_unstemmed Software Internationalization and Localization: An Industrial Experience
title_sort software internationalization and localization: an industrial experience
publisher Institutional Knowledge at Singapore Management University
publishDate 2013
url https://ink.library.smu.edu.sg/sis_research/2016
_version_ 1770571766069985280