TY - GEN
T1 - A Platform-Specific Code Smell Alert System for High Performance Computing Applications
AU - Wang, Chunyan
AU - Hirasawa, Shoichi
AU - Takizawa, Hiroyuki
AU - Kobayashi, Hiroaki
N1 - Publisher Copyright:
© 2014 IEEE.
PY - 2014/11/27
Y1 - 2014/11/27
N2 - A code smell is any part of an application code that might indicate a code or design problem, which makes the application code hard to evolve and maintain. Automatic detection of code smells has been studied to help programmers find which parts of their application codes should be refactored. However, code smells have not been defined in a formal manner. Moreover, existing detection tools are designed for object-oriented applications, but rarely provided for high performance computing (HPC) applications. HPC applications are usually optimized for a particular platform to achieve a high performance, and hence have special code smells called platform-specific code smells (PSCSs). The purpose of this work is to develop a code smell alert system to help programmers find PSCSs of HPC applications to improve the performance portability across different platforms. This paper presents a PSCS alert system that is based on an abstract syntax tree (AST) and XML. Code patterns of PSCSs are defined in a formal way using the AST information represented in XML. XML Path Language (XPath) is used to describe those patterns. The evaluation results obtained by using real applications show that the proposed system can alert potential PSCSs to programmers.
AB - A code smell is any part of an application code that might indicate a code or design problem, which makes the application code hard to evolve and maintain. Automatic detection of code smells has been studied to help programmers find which parts of their application codes should be refactored. However, code smells have not been defined in a formal manner. Moreover, existing detection tools are designed for object-oriented applications, but rarely provided for high performance computing (HPC) applications. HPC applications are usually optimized for a particular platform to achieve a high performance, and hence have special code smells called platform-specific code smells (PSCSs). The purpose of this work is to develop a code smell alert system to help programmers find PSCSs of HPC applications to improve the performance portability across different platforms. This paper presents a PSCS alert system that is based on an abstract syntax tree (AST) and XML. Code patterns of PSCSs are defined in a formal way using the AST information represented in XML. XML Path Language (XPath) is used to describe those patterns. The evaluation results obtained by using real applications show that the proposed system can alert potential PSCSs to programmers.
KW - AST
KW - Code Smell Detection
KW - HPC
KW - XML representation
UR - http://www.scopus.com/inward/record.url?scp=84918833323&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84918833323&partnerID=8YFLogxK
U2 - 10.1109/IPDPSW.2014.76
DO - 10.1109/IPDPSW.2014.76
M3 - Conference contribution
AN - SCOPUS:84918833323
T3 - Proceedings - IEEE 28th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2014
SP - 652
EP - 661
BT - Proceedings - IEEE 28th International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2014
PB - IEEE Computer Society
T2 - 28th IEEE International Parallel and Distributed Processing Symposium Workshops, IPDPSW 2014
Y2 - 19 May 2014 through 23 May 2014
ER -