首页> 外文会议>ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering >Array resizing for scientific code debugging, maintenance and reuse
【24h】

Array resizing for scientific code debugging, maintenance and reuse

机译:阵列调整科学代码调试,维护和重用的大小

获取原文

摘要

Software debugging, maintenance and reuse have to deal with many problems from Fortran scientific codes that do not fully respect the standard specification. Our study on Linpack, PerfectClub and SPEC95 benchmarks and several industrial software reveals a large number of unprecise variable declarations that prevent program analysis, verification and parallelization. Furthermore, they decrease the readability of programs and make reverse-engineering more difficult.

This paper presents two different methods to compute the exact size of arrays in Fortran codes that have pointer-type erb+REAL A(1)+ or assumed-size erb+REAL A(*)+ declarations.

The first method uses the relationship between actual and formal arguments from parameter-passing rules. New array declarations in the called procedure are computed with respect to the declarations in the calling procedures.

The second approach is based on an array region analysis that gives information about the set of array elements accessed during the execution of code. This approach to array resizing could be applied to other languages without array declaration such as MATLAB and APL in order to reduce the execution overhead of dynamic test and resizing.

Our two approaches are combined to yield very good results for Linpack, PerfectClub and SPEC95 benchmarks.

机译:

软件调试,维护和重用必须处理来自Fortran科学代码的许多问题,这些代码不完全尊重标准规范。我们对Linpack的研究,PerfectClub和Spec95基准测试和几个工业软件揭示了大量毫无前提的变量声明,防止程序分析,验证和并行化。此外,它们降低了程序的可读性,使逆向工程更加困难。 >本文呈现了两种不同的方法来计算具有指针型动词+真实A的FORTRAN代码中数组的精确大小( 1)+或假设大小动词+真实A(*)+声明。 >第一个方法使用来自参数传递规则的实际和形式参数之间的关系。在调用过程中的声明中计算被叫过程中的新阵列声明。 >第二种方法基于阵列区域分析,其提供关于在执行期间访问的一组阵列元素的信息代码。阵列调整的方法可以应用于没有阵列声明的其他语言,例如MATLAB和APL,以减少动态测试和调整大小的执行开销。 >我们的两种方法组合以产生非常好的结果Linpack,PerfectClub和Spec95基准。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号