{“状态”:“确定”,“消息类型”:“工作”,“信息版本”:“1.0.0”,“讯息”:{“索引”:{“日期-部件”:[[2023,1,9]],“日期-时间”:“2023-01-09T05:28:29Z”,“时间戳”:167324210933},“参考-计数”:34,“出版商”:“计算机协会(ACM)”,“发行”:“OOPSLA”,“许可证”:[{“开始”:{-“日期-零件”:[2017,10,12],“日期时间“:”2017-10-12T00:00:00Z“,“timestamp”:1507766400000},“content-version”:“vor”,“delay-in-days”:0,“URL”:“http://www.acm.org\/publications\/policys\/corpyright_policy#Background”}],“content-domain”:{“domain”:[“dl.acm.org”],“crossmark-restriction”:true},”shortcontainer-title“:[”Proc.acm Program.Lang.“],”published-print“:{”date-parts“:[2017,10,12]]},“抽象”:“阵列计算是数值建模和计算科学应用的核心。然而,数组索引的低级操作是程序错误的来源。许多从业者都意识到需要确保程序的正确性,但很少有来自编程研究社区的技术被科学家应用。我们的目标是通过为科学代码提供有针对性的轻量级验证技术来改变这种情况。我们将重点放在阵列偏移误差这一非常常见的错误上,将其概括为离差误差。首先,我们报告了对11个真实世界计算科学代码库的代码分析研究,确定了数组使用的常见习惯用法及其空间特性。这为科学代码中常见的数组编程习惯用法提供了急需的数据。根据这些数据,我们设计了一种轻量级声明性规范语言,它通过一组小的组合符捕获大多数数组访问模式。我们详细介绍了一个语义模型,以及规范语言验证工具的设计和实现,该工具可以检查和推断规范。我们根据科学代码语料库来评估我们的工具。使用推理模式,我们在大约110万行代码中找到了大约87000个规范目标,这表明绝大多数数组计算都是以简单、规则、静态的形式从数组中读取的。我们还研究了其中一个语料库包的提交日志,发现了过去的错误修复,我们的规范系统对这些修复进行了区分,因此可以应用于检测此类错误<\/jats:p>“,”DOI“:”10.1145\/3133899“,”type“:”journal-article“,”created“:{”date-parts“:[[2017,10,13]],”date-time“:”2017-10-13T15:45Z“,”timestamp“:1507907745000},”page“:title“:[”验证数组计算的空间属性“],”前缀“:”10.1145“,”卷“:”1“,”作者“:[{”给定“:”多米尼克“,”家族“:”果园“,”序列“:”第一“,”从属关系“:[}”名称“:”英国肯特大学“}]},{”给出“:”米斯特拉尔“,“家族”:”Contrastin“,”sequence“:”additional“,”affiliation“:[[{“name”:“University of Cambridge,UK”}]},{“给定”:“Matthew”,“family”:“丹麦语”,“sequence”:“additional”,“隶属关系”:[{“name“:”剑桥大学“}]},{“given”:“Andrew”,“family”:“Rice”,“sequence”:“additional”,“affiliation”:[{“name”:“University of Cambridge,UK”}]}],“member”:“320”,“published-online”:{“date-parts”:[[2017,10,12]},“reference”:[[{”key“:”e_1_2_1_1“,”doi-asserted-by“:”publisher“,”doi“:”10.1109\/IPDPSW.2013.9 0“},{“键”:“e_1_2_2_1”,“volume-title”:“MUDPACK:线性椭圆偏微分方程多重网格软件,3.0版”,“作者”:“Adams J.”,“非结构化”:“J.Adams。MUDPACK:线性椭圆偏微分方程多重网格软件,3.0版。科罗拉多州博尔德国家大气研究中心。科学计算部用户文件。J.亚当斯。MUDPACK:线性椭圆偏微分方程多重网格软件,3.0版。科罗拉多州博尔德国家大气研究中心。科学计算部用户文件。“},{”key“:”e_1_2_2_3_1“,”volume-title“:”Bryan Christopher Catanzaro、Joseph James Gebis、Parry Husbands、Kurt Keutzer、David A.Patterson、William Lester Plishker、John Shalf、Samuel Webb Williams和Katherine A.Yelick“,”author“:”Asanovi Krste“,”year“2006年”,“非结构化”:“Krste Asanovi`c、Ras Bodik、Bryan Christopher Catanzaro、Joseph James Gebis、Parry丈夫、Kurt Keutzer、David A.Patterson、William Lester Plishker、John Shalf、Samuel Webb Williams和Katherine A.Yelick。2006 . 并行计算研究的前景:伯克利的观点。技术报告UCB \/EECS-2006-183。加州大学伯克利分校EECS系。http:\/\/www2.eecs.berkeley.edu\/Pubs\/TechRpts\/2006\/eecs-2006-183.html Krste Asanovi`c、Ras Bodik、Bryan Christopher Catanzaro、Joseph James Gebis、Parry Husbands、Kurt Keutzer、David A.Patterson、William Lester Plishker、John Shalf、Samuel Webb Williams和Katherine A.Yelick。2006.并行计算研究的前景:伯克利观点。技术报告UCB \/EECS-2006-183。加州大学伯克利分校EECS系。http:\/\/wwww2.eecs.berkeley.edu\/Pubs\/TechRpts\/2006\/eecs-2006-183.html“},{“密钥”:“e_1_2_4_1”,“卷标题”:“特别I”,“作者”:“Barker Terry”,“年份”:“2006”,“非结构化”:“Terry Barker,Haoran Pan,Jonathan Kohler,Rachel Warren,and Sarah Winne.2006。通过诱发技术变革实现全球经济脱碳:使用E3MG到2100年的情景。《能源杂志》第0期,特刊I(2006),241\u2013258。https://ideas.repec.org\/a\/aen\/journal\/2006se-a12.html特里·巴克、郝兰·潘、乔纳森·科勒、雷切尔·沃伦和莎拉·温恩。2006.通过诱发技术变革实现全球经济脱碳:使用E3MG实现2100年的情景。《能源杂志》第0期,特刊I(2006),241\u2013258。https:\/\/ides.repec.org\/a\/aen\/journal\/2006se-a12.html“},{“key”:“e_1_2_5_1”,“volume-title”:“ACSL:ANSI C规范语言”,“author”:“Baudin Patrick”,“year”:“2008”,“unstructured”:“Patrick Baudin、Jean-Christophe Filli、Claude March、Benjamin Monate、Yannick Moy和Virgile Prevosto。2008 . ACSL:ANSI C规范语言。(2008). Patrick Baudin、Jean-Christophe Filli\u00e2tre、Claude March\u00e9、Benjamin Monate、Yannick Moy和Virgile Prevosto。ACSL:ANSI C规范语言。(2008).“},{”key“:”e_1_2_6_1“,”doi-asserted-by“:”publisher“,“doi”:“10.1029\/2001JD000807”},“key”:“e_1_i_2_7_1”,“doi-assert-by”:“publisher”,”doi“:”10.1145\/56786.567807“}”,{“key“:”e_2_8_1“,{“key”:“e_1_2_2_9_1”,“doi-asserted-by”:“publisher”,”doi“:”10.1006\/jpdc.1996.0107“},{”key“:”e_1_2_10_1”,“卷标题”:“例如ACSL,指向已验证的C标准库。DEVICESOFT项目出版物”,“作者”:“Burghardt Jochen”,“年份”:“2011年”,“非结构化”:“Jochen Burghartt,J Gerlach,L Gu,Kerstin Hartig,Hans Pohl,J Soto,and K V\u00f6llinger。2010年。ACSL示例,指向一个经过验证的C标准库。DEVICESOFT项目发布。弗劳恩霍夫第一研究所(2011年12月)(2010年)。Jochen Burghardt、J Gerlach、L Gu、Kerstin Hartig、Hans Pohl、J Soto和K V \u00f6llinger。2010年。ACSL示例,指向一个经过验证的C标准库。DEVICESOFT项目发布。弗劳恩霍夫第一研究所(2011年12月)(2010年)。“},{”key“:”e_1_2_2_11_1“,”volume-title“:“第四届可持续科学软件研讨会论文集:实践与经验(WSSSPE4)”,“volume”:“1686”,“author”:“Contrastin Mistral”,“year”:“2016”,“unstructured”:“Mistral Contrastin、Matthew Danish、Dominic Orchard和Andrew Rice。2016 . Lightning Talk:通过轻量级规范支持软件可持续性。英国曼彻斯特大学可持续科学软件:实践与经验第四次研讨会论文集,2013年9月12日,第1686卷。CEUR研讨会记录。Mistral Contrastin、Matthew Danish、Dominic Orchard和Andrew Rice。2016年,Lightning Talk:通过轻量级规范支持软件可持续性。英国曼彻斯特大学可持续科学软件:实践与经验第四次研讨会论文集,2013年9月12日,第1686卷。CEUR研讨会记录。“},{”key“:”e_1_2_2_12_1“,”volume-title“:”CamFort-科学Fortran程序的重构、分析和验证工具。https:\/\/CamFort.github.com。(2017)。访问时间:23日“,”author“:”Contrastin Mistral“,”year“:”2017“,”unstructured“:”Mistral Contrastin、Matthew Danish、Dominic Orchard和Andrew Rice.2017。CamFort-科学Fortran程序的重构、分析和验证工具。https:\/\/camfort.github.com。(2017). 访问日期:2017年8月23日。Mistral Contrastin、Matthew Danish、Dominic Orchard和Andrew Rice。2017.CamFort-科学Fortran程序的重构、分析和验证工具。https:\/\/camfort.github.com。(2017). 访问时间:2017年8月23日。“},{“key”:“e_1_2_2_13_1”,“volume-title”:“边缘检测技术综述。计算机图形和图像处理4,3”,“author”:“Davis Larry S”,“year”:“1975”,“unstructured”:“Larry S-Davis.1975”。边缘检测技术综述。计算机图形和图像处理4,3(1975),248\u2013270。拉里·戴维斯。1975年,边缘检测技术综述。计算机图形和图像处理4,3(1975),248\u2013270。“},{”key“:”e_1_2_14_1“,”doi-asserted-by“:”publisher“,“doi”:“10.1090\/S0025-5718-1991-1079011-4”},“key”:“e_1_i_2_15_1”,“doi-assert-by”:“publisher”,”doi“:”10.5555\/1792734.1792766“}”,{,“doi”:“10.5194\/gmdd-3-1587-2010”},{“键”:“e_1_2_17_1“,“doi-asserted-by”:“publisher”,“doi”:“10.1029\/1999GB900085”},{“key”:“e_1_i_2_18_1”,”doi-assert-by“:”crossref“,”unstructured“:”M.Griebel T.Dornsheifer和T.Neunhoeffer.1997。流体动力学数值模拟:实用入门。第3卷。工业数学学会。M.Griebel T.Dornsheifer和T.Neunhoeffer。1997年。流体动力学数值模拟:实用简介。第3卷。工业数学学会。“,”DOI“:”10.1137\/1.9780898719703“},{”key“:”e_1_2_19_1“,”DOI-asserted-by“:”publisher“,“DOI”:“10.1145\/2908080.2908117”},“{”key“:“e_1_i_2_20_1”,“volume-title”:“https:\/\/github.com\/geodynamics\/specfem3d.(2016).Accessed”,“author”:“Komatitsch Dimitri”,“year”:“2016”,“unstructured”:“Dimitri Komatitsch、Jeroen Tromp等人,2016年。SPECFEM3 D.https:\/\/github.com/geodynamics\/specfem3d。(2016). 访问时间:2016年11月15日。迪米特里·科马提奇(Dimitri Komatitsch)、杰伦·特隆普(Jeroen Tromp)等。2016年规范3D。https:\/\/github.com/geodynamics\/specfem3d。(2016). 访问时间:2016年11月15日。“},{”key“:”e_1_2_2_21_1“,”doi-asserted-by“:”publisher“,“doi”:“10.1007\/978-3642-31057-7_5”},“key”:“e_1_i_2_22_22_1”,“doi-assert-by”:“publisher”,”doi“:”10.1017\/CBO9780511760396“}”,{/j.procs.2014.05.064“},{“key”:“e_1_2_25_1”,“volume-title”:“计算物理导论。(1999)“,”作者“:”庞涛“,”非结构化“:”陶庞。1999年,计算物理导论。(1999) . 第1版。陶庞。1999年,计算物理导论。(1999). 第1版。“,”“edition”:“1”},{“key”:“e_1_2_2_26_1”,“doi-asserted-by”:“publisher”,”“doi”:“10.1063\/1.1881898”}ktenwald G.W.“,”年份“:”2004“,”非结构化“:”G.W.Recktenwald公司。2004.热量方程的有限差分近似。课堂笔记(2004)。http://www.f.kth.se\/~jjalap\/numme\/FHeat.pdf。G.W.Recktenwald公司。2004.热量方程的有限差分近似。课堂笔记(2004)。http://www.f.kth.se\/~jjalap\/numme\/FDheat.pdf。“},{”key“:”e_1_2_29_1“,”doi-asserted-by“:”publisher“,“doi”:“10.1145\/1273442.1250754”},“key”:“e_1_i_2_30_1”,“unstructured”:“David Sorenson Richard Lehoucq Chao Yang Kristi Maschhoff Sylvestre Ledru and Allan Cornet.2017。ARPACK-NG.https:\/\/github.com/opencollab\/ARPACK-NG。(2017). 大卫·索伦森·理查德·勒霍克(David Sorenson Richard Lehoucq)、朝阳·克里斯蒂·马斯霍夫(Chao Yang Kristi Maschhoff)、西尔维斯特·莱德鲁(Sylvestre Ledru)和艾伦·科奈特(Allan Cornet)。2017.ARPACK-NG.https:\/\/github.com/opencollab\/ARPACK-NG。(2017).“},{”key“:”e_1_2_31_1“,”doi-asserted-by“:”publisher“,“doi”:“10.1145\/1989493.1989508”},“key”:“e_1_i_2_32_32_1”,“doi-assert-by”:“publisher”,”doi“:”10.1007\/s00024-014-0825-8“}”,{“1990年”,“非结构化”:“菲利普·沃德勒。1990 . 线性类型可以改变世界。在IFIP TC第2卷中。Citeseer,347\u2013359。菲利普·沃德勒。1990年。线型可以改变世界。在IFIP TC第2卷中。Citeseer,347\u2013359.“},{”键“:”e_1_2_34_1“,”doi断言“:”crossref“,”非结构化“:”David A Wheeler,2001。SLOC计数。(2001). 大卫·A·惠勒。2001年SLOCCount。(2001).“,”DOI“:”10.1515\/semi.2001.009“},{”key“:”e_1_2_35_1“,”DOI-asserted-by“:”publisher“,“DOI”:“10.1002\/qj.4971255707”}],“container-title”:[“ACM关于编程语言的会议记录”],“original-title“:[],”language“:”en“,”link“:[{”URL“:”https:\\/dl.ACM.org\/DOI\/pdf\/10.1145\/31338 99“,”content-type“:”unspecified“,”content-version“:”vor“,”intended-application“:”similarity-checking“}],”deposed“:{”date-parts“:[2022,12,31]],”date-time“:”2022-12-31T21:25:22Z“,”timestamp“:1672521922000},”score“:1,”resource“:{“primary”:{“URL”:“https:\/\/dl.acm.org\/doi\/10.1145\/3133899”}},“subtitle”:[],“shorttitle”:[],“issued”:{“date-part”:[2017],10,12]]},“引用计数”:34,“日志发布”:{“issue“:”OOPSLA“,”published-print“:{”date-parts“:[[2017,10,12]]}},”alternative-id“:[”10.1145\/3133899“],”URL“:”http://\\/dx.doi.org\/10.1145\/3133999“,”relationship“:{},“ISSN”:[”2475-1421“],“ISSN-type”:[{“value”:“2475-14211”,”type“:”electronic“}],”subject“:[],“published”:{“日期部分”:[[2017,10,12]]},“断言”:[{“值”:“2017-10-12”,“顺序”:2,“名称”:“published“,”label“:”published“,”group“:{”name“:”publication_history“,”标签“:”publication history“}}]}}