首页 > 最新文献

Fundamentals of Software Engineering最新文献

英文 中文
Case studies of development of verified programs with Dafny for accessibility assessment 与Dafny一起开发可访问性评估的验证程序的案例研究
Pub Date : 2023-01-09 DOI: 10.48550/arXiv.2301.03224
J. Faria, Rui Abreu
Formal verification techniques aim at formally proving the correctness of a computer program with respect to a formal specification, but the expertise and effort required for applying formal specification and verification techniques and scalability issues have limited their practical application. In recent years, the tremendous progress with SAT and SMT solvers enabled the construction of a new generation of tools that promise to make formal verification more accessible for software engineers, by automating most if not all of the verification process. The Dafny system is a prominent example of that trend. However, little evidence exists yet about its accessibility. To help fill this gap, we conducted a set of 10 case studies of developing verified implementations in Dafny of some real-world algorithms and data structures, to determine its accessibility for software engineers. We found that, on average, the amount of code written for specification and verification purposes is of the same order of magnitude as the traditional code written for implementation and testing purposes (ratio of 1.14) -- an ``overhead'' that certainly pays off for high-integrity software. The performance of the Dafny verifier was impressive, with 2.4 proof obligations generated per line of code written, and 24 ms spent per proof obligation generated and verified, on average. However, we also found that the manual work needed in writing auxiliary verification code may be significant and difficult to predict and master. Hence, further automation and systematization of verification tasks are possible directions for future advances in the field.
形式化验证技术的目标是形式化地证明计算机程序相对于形式化规范的正确性,但是应用形式化规范和验证技术所需的专业知识和努力以及可伸缩性问题限制了它们的实际应用。近年来,SAT和SMT求解器的巨大进步使新一代工具的构建成为可能,通过自动化大多数(如果不是全部的话)验证过程,这些工具有望使软件工程师更容易获得正式的验证。Dafny系统就是这一趋势的一个突出例子。然而,几乎没有证据表明它的可及性。为了帮助填补这一空白,我们进行了一组10个案例研究,在Dafny中开发一些真实世界算法和数据结构的验证实现,以确定软件工程师的可访问性。我们发现,平均而言,为规范和验证目的而编写的代码数量与为实现和测试目的而编写的传统代码数量是相同的(比率为1.14)——这种“开销”对于高完整性的软件来说无疑是值得的。Dafny验证器的性能令人印象深刻,每行代码生成2.4个证明义务,平均每个证明义务生成和验证花费24毫秒。然而,我们也发现编写辅助验证码所需的手工工作可能是重要的,并且难以预测和掌握。因此,核查任务的进一步自动化和系统化是该领域未来发展的可能方向。
{"title":"Case studies of development of verified programs with Dafny for accessibility assessment","authors":"J. Faria, Rui Abreu","doi":"10.48550/arXiv.2301.03224","DOIUrl":"https://doi.org/10.48550/arXiv.2301.03224","url":null,"abstract":"Formal verification techniques aim at formally proving the correctness of a computer program with respect to a formal specification, but the expertise and effort required for applying formal specification and verification techniques and scalability issues have limited their practical application. In recent years, the tremendous progress with SAT and SMT solvers enabled the construction of a new generation of tools that promise to make formal verification more accessible for software engineers, by automating most if not all of the verification process. The Dafny system is a prominent example of that trend. However, little evidence exists yet about its accessibility. To help fill this gap, we conducted a set of 10 case studies of developing verified implementations in Dafny of some real-world algorithms and data structures, to determine its accessibility for software engineers. We found that, on average, the amount of code written for specification and verification purposes is of the same order of magnitude as the traditional code written for implementation and testing purposes (ratio of 1.14) -- an ``overhead'' that certainly pays off for high-integrity software. The performance of the Dafny verifier was impressive, with 2.4 proof obligations generated per line of code written, and 24 ms spent per proof obligation generated and verified, on average. However, we also found that the manual work needed in writing auxiliary verification code may be significant and difficult to predict and master. Hence, further automation and systematization of verification tasks are possible directions for future advances in the field.","PeriodicalId":161142,"journal":{"name":"Fundamentals of Software Engineering","volume":"60 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-01-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127149244","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Genetic Algorithm for Program Synthesis 程序合成的遗传算法
Pub Date : 2022-11-22 DOI: 10.48550/arXiv.2211.11937
Yutaka Nagashima
A deductive program synthesis tool takes a specification as input and derives a program that satisfies the specification. The drawback of this approach is that search spaces for such correct programs tend to be enormous, making it difficult to derive correct programs within a realistic timeout. To speed up such program derivation, we improve the search strategy of a deductive program synthesis tool, SuSLik, using evolutionary computation. Our cross-validation shows that the improvement brought by evolutionary computation generalises to unforeseen problems.
演绎程序综合工具以规范为输入,派生出满足规范的程序。这种方法的缺点是,这种正确程序的搜索空间往往非常大,因此很难在实际超时时间内推导出正确的程序。为了加快程序派生的速度,我们使用进化计算改进了演绎程序合成工具SuSLik的搜索策略。我们的交叉验证表明,进化计算带来的改进可以推广到不可预见的问题。
{"title":"Genetic Algorithm for Program Synthesis","authors":"Yutaka Nagashima","doi":"10.48550/arXiv.2211.11937","DOIUrl":"https://doi.org/10.48550/arXiv.2211.11937","url":null,"abstract":"A deductive program synthesis tool takes a specification as input and derives a program that satisfies the specification. The drawback of this approach is that search spaces for such correct programs tend to be enormous, making it difficult to derive correct programs within a realistic timeout. To speed up such program derivation, we improve the search strategy of a deductive program synthesis tool, SuSLik, using evolutionary computation. Our cross-validation shows that the improvement brought by evolutionary computation generalises to unforeseen problems.","PeriodicalId":161142,"journal":{"name":"Fundamentals of Software Engineering","volume":"94 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124723279","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Template-Based Conjecturing for Automated Induction in Isabelle/HOL 基于模板的Isabelle/HOL自动感应猜想
Pub Date : 2022-11-20 DOI: 10.1007/978-3-031-42441-0_9
Yutaka Nagashima, Zijin Xu, Ningli Wang, Daniel Goc, James Bang
{"title":"Template-Based Conjecturing for Automated Induction in Isabelle/HOL","authors":"Yutaka Nagashima, Zijin Xu, Ningli Wang, Daniel Goc, James Bang","doi":"10.1007/978-3-031-42441-0_9","DOIUrl":"https://doi.org/10.1007/978-3-031-42441-0_9","url":null,"abstract":"","PeriodicalId":161142,"journal":{"name":"Fundamentals of Software Engineering","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122330554","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Deadlock in packet switching networks 分组交换网络中的死锁
Pub Date : 2021-01-15 DOI: 10.1007/978-3-030-89247-0_9
Annamaria Stramaglia, J. Keiren, H. Zantema
{"title":"Deadlock in packet switching networks","authors":"Annamaria Stramaglia, J. Keiren, H. Zantema","doi":"10.1007/978-3-030-89247-0_9","DOIUrl":"https://doi.org/10.1007/978-3-030-89247-0_9","url":null,"abstract":"","PeriodicalId":161142,"journal":{"name":"Fundamentals of Software Engineering","volume":"44 15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2021-01-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126118820","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Term Rewriting on GPUs gpu上的术语重写
Pub Date : 2020-09-15 DOI: 10.1007/978-3-030-89247-0_12
Johri van Eerd, J. F. Groote, P. Hijma, Jan Martens, Anton Wijs
{"title":"Term Rewriting on GPUs","authors":"Johri van Eerd, J. F. Groote, P. Hijma, Jan Martens, Anton Wijs","doi":"10.1007/978-3-030-89247-0_12","DOIUrl":"https://doi.org/10.1007/978-3-030-89247-0_12","url":null,"abstract":"","PeriodicalId":161142,"journal":{"name":"Fundamentals of Software Engineering","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133816719","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
Greenify: A Game with the Purpose of Test Data Generation for Unit Testing Greenify:一款旨在为单元测试生成测试数据的游戏
Pub Date : 2019-05-01 DOI: 10.1007/978-3-030-31517-7_6
Sharmin Moosavi, H. Haghighi, Hasti Sahabi, Farzam Vatanzade, M. Vahidi-Asl
{"title":"Greenify: A Game with the Purpose of Test Data Generation for Unit Testing","authors":"Sharmin Moosavi, H. Haghighi, Hasti Sahabi, Farzam Vatanzade, M. Vahidi-Asl","doi":"10.1007/978-3-030-31517-7_6","DOIUrl":"https://doi.org/10.1007/978-3-030-31517-7_6","url":null,"abstract":"","PeriodicalId":161142,"journal":{"name":"Fundamentals of Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128782857","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
A Formal Model to Integrate Behavioral and Structural Adaptations in Self-adaptive Systems 自适应系统中整合行为和结构适应的形式化模型
Pub Date : 2019-05-01 DOI: 10.1007/978-3-030-31517-7_1
Narges Khakpour, J. Kleijn, M. Sirjani
{"title":"A Formal Model to Integrate Behavioral and Structural Adaptations in Self-adaptive Systems","authors":"Narges Khakpour, J. Kleijn, M. Sirjani","doi":"10.1007/978-3-030-31517-7_1","DOIUrl":"https://doi.org/10.1007/978-3-030-31517-7_1","url":null,"abstract":"","PeriodicalId":161142,"journal":{"name":"Fundamentals of Software Engineering","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127548633","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Modeling Non-deterministic C Code with Active Objects 用活动对象建模不确定的C代码
Pub Date : 2019-05-01 DOI: 10.1007/978-3-030-31517-7_15
Nathan Wasser, Asmae Heydari Tabar, Reiner Hähnle
{"title":"Modeling Non-deterministic C Code with Active Objects","authors":"Nathan Wasser, Asmae Heydari Tabar, Reiner Hähnle","doi":"10.1007/978-3-030-31517-7_15","DOIUrl":"https://doi.org/10.1007/978-3-030-31517-7_15","url":null,"abstract":"","PeriodicalId":161142,"journal":{"name":"Fundamentals of Software Engineering","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134417462","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
Taming Hierarchical Connectors 驯服分层连接器
Pub Date : 2019-05-01 DOI: 10.1007/978-3-030-31517-7_13
J. Proença, A. Madeira
{"title":"Taming Hierarchical Connectors","authors":"J. Proença, A. Madeira","doi":"10.1007/978-3-030-31517-7_13","DOIUrl":"https://doi.org/10.1007/978-3-030-31517-7_13","url":null,"abstract":"","PeriodicalId":161142,"journal":{"name":"Fundamentals of Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116509524","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 4
Case Study on Certifying Distributed Algorithms: Reducing Intrusiveness 分布式算法认证的案例研究:降低侵入性
Pub Date : 2019-05-01 DOI: 10.1007/978-3-030-31517-7_12
Samira Akili, Kim Völlinger
{"title":"Case Study on Certifying Distributed Algorithms: Reducing Intrusiveness","authors":"Samira Akili, Kim Völlinger","doi":"10.1007/978-3-030-31517-7_12","DOIUrl":"https://doi.org/10.1007/978-3-030-31517-7_12","url":null,"abstract":"","PeriodicalId":161142,"journal":{"name":"Fundamentals of Software Engineering","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130749043","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
期刊
Fundamentals of Software Engineering
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1