Bioinspired Similarity-Based Planning Support for the Porting of Scientific Applications

In this paper, we propose a methodology to address an important aspect of software porting that receives little attention, namely planning support. When a scientific application consisting of many subroutines is to be ported, the selection of key subroutines greatly impacts the productivity and overall porting strategy because these subroutines may represent a significant aspect of the code in terms of functionality or performance. They may as well serve as indicators of the difficulty and amount of effort involved in porting a code to a new platform. The proposed methodology is based on the idea that similar subroutines can be ported with similar strategies and result in a similar-quality porting. By viewing subroutines as DNA-like sequences, we are able to use various bioinformatics techniques to conduct the similarity analysis of subroutines. To the best of our knowledge, we are one of the first exploring this bioinspired view of program to the planning problem. In the paper we describe the methodology and present a tool called Klonos to facilitate the execution of the methodology. As a proof of concept, we use Klonos to conduct experiments on the OpenMP porting of several scientific benchmarks. We also identify the advantages and limitations of the bioinspired view of a program code.

[1]  Alessandro Bianchi,et al.  A Storytest-Driven Approach to the Migration of Legacy Systems , 2009, XP.

[2]  William G. Griswold,et al.  Effective pattern matching of source code using abstract syntax patterns , 2006, Softw. Pract. Exp..

[3]  Beniamino Di Martino,et al.  PAP Recognizer: a tool for automatic recognition of parallelizable patterns , 1996, WPC '96. 4th Workshop on Program Comprehension.

[4]  Christoph W. Kessler,et al.  Automatic Parallelization by Pattern-Matching , 1993, ACPC.

[5]  I. Longden,et al.  EMBOSS: the European Molecular Biology Open Software Suite. , 2000, Trends in genetics : TIG.

[6]  Surin Kittitornkun,et al.  MT-ClustalW: multithreading multiple sequence alignment , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[7]  Chanchal Kumar Roy,et al.  An Empirical Study of Function Clones in Open Source Software , 2008, 2008 15th Working Conference on Reverse Engineering.

[8]  Mark Hennessy,et al.  Ensuring behavioural equivalence in test-driven porting , 2006, CASCON.

[9]  Iulian Neamtiu,et al.  Towards a better understanding of software evolution: An empirical study on open source software , 2009, 2009 IEEE International Conference on Software Maintenance.

[10]  Beth Tibbitts,et al.  NextGen eXtreme porting: structured by automation , 2005, SAC '05.

[11]  Pradeep Varma Process and Planning Support for Iterative Porting , 2006, J. Inf. Sci. Eng..

[12]  Steven P. Reiss Specifying what to search for , 2009, 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation.

[13]  Geoffrey J. Barton,et al.  Jalview Version 2—a multiple sequence alignment editor and analysis workbench , 2009, Bioinform..

[14]  Carlo Ghezzi,et al.  A hybrid approach (syntactic and textual) to clone detection , 2010, IWSC '10.

[15]  Christus,et al.  A General Method Applicable to the Search for Similarities in the Amino Acid Sequence of Two Proteins , 2022 .

[16]  Susan Horwitz,et al.  Detecting and Measuring Similarity in Code Clones , 2009 .

[17]  Michael Frumkin,et al.  The OpenMP Implementation of NAS Parallel Benchmarks and its Performance , 2013 .

[18]  Stéphane Ducasse,et al.  A language independent approach for detecting duplicated code , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[19]  Mohammad El-Ramly,et al.  Similarity in Programs , 2006, Duplication, Redundancy, and Similarity in Software.

[20]  J. Howard Johnson,et al.  Substring matching for clone detection and change tracking , 1994, Proceedings 1994 International Conference on Software Maintenance.

[21]  Romain Robbes,et al.  Language-Independent Clone Detection Applied to Plagiarism Detection , 2010, 2010 10th IEEE Working Conference on Source Code Analysis and Manipulation.