In this study, we propose a methodology that utilizes data from system call level dynamic analysis (DA) to select better code translation candidates. For the DA data, we recorded the history of system call invocations to understand the program’s actions during execution, providing insights independent of the programming language. We implemented and released a DA system that enables fully automated analysis. Our method generates multiple translation candidates using TransCoder. We then performed DA on all the generated candidates as well as the original code. To select the optimal candidate, we compared the DA data of the original code with that of the generated candidates and calculated their similarities. We employed natural language processing techniques to normalize the sequence length of the DA data for comparison. Additionally, we explored direct comparisons of variable-length system call sequences. We found that DA data for the same code can exhibit significant variation in sequence length and that the initialization process for the modules can significantly influence the DA data. To address these issues, we developed an extended version of our DA system. We also present methods to reduce the variation in sequence length and obtain only the system call information invoked by specific lines of the program under analysis.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Linux System Call Level Dynamic Analysis Towards Programming Language Translation

  • Narumi Yoneda,
  • Ryo Hatano,
  • Hiroyuki Nishiyama

摘要

In this study, we propose a methodology that utilizes data from system call level dynamic analysis (DA) to select better code translation candidates. For the DA data, we recorded the history of system call invocations to understand the program’s actions during execution, providing insights independent of the programming language. We implemented and released a DA system that enables fully automated analysis. Our method generates multiple translation candidates using TransCoder. We then performed DA on all the generated candidates as well as the original code. To select the optimal candidate, we compared the DA data of the original code with that of the generated candidates and calculated their similarities. We employed natural language processing techniques to normalize the sequence length of the DA data for comparison. Additionally, we explored direct comparisons of variable-length system call sequences. We found that DA data for the same code can exhibit significant variation in sequence length and that the initialization process for the modules can significantly influence the DA data. To address these issues, we developed an extended version of our DA system. We also present methods to reduce the variation in sequence length and obtain only the system call information invoked by specific lines of the program under analysis.