F-IDE最新文献

筛选
英文 中文
Formal Reasoning Using an Iterative Approach with an Integrated Web IDE 使用集成Web IDE的迭代方法进行形式推理
F-IDE Pub Date : 2015-08-17 DOI: 10.4204/EPTCS.187.5
Nabil M. Kabbani, Daniel Welch, Caleb Priester, S. Schaub, B. Durkee, Yu-Shan Sun, M. Sitaraman
{"title":"Formal Reasoning Using an Iterative Approach with an Integrated Web IDE","authors":"Nabil M. Kabbani, Daniel Welch, Caleb Priester, S. Schaub, B. Durkee, Yu-Shan Sun, M. Sitaraman","doi":"10.4204/EPTCS.187.5","DOIUrl":"https://doi.org/10.4204/EPTCS.187.5","url":null,"abstract":"This paper summarizes our experience in communicating the elements of reasoning about correctness, and the central role of formal specifications in reasoning about modular, component-based software using a language and an integrated Web IDE designed for the purpose. Our experience in using such an IDE, supported by a 'push-button' verifying compiler in a classroom setting, reveals the highly iterative process learners use to arrive at suitably specified, automatically provable code. We explain how the IDE facilitates reasoning at each step of this process by providing human readable verification conditions (VCs) and feedback from an integrated prover that clearly indicates unprovable VCs to help identify obstacles to completing proofs. The paper discusses the IDE's usage in verified software development using several examples drawn from actual classroom lectures and student assignments to illustrate principles of design-by-contract and the iterative process of creating and subsequently refining assertions, such as loop invariants in object-based code.","PeriodicalId":108511,"journal":{"name":"F-IDE","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127720466","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}
引用次数: 9
Towards Enabling Overture as a Platform for Formal Notation IDEs 使序曲成为正式符号ide的平台
F-IDE Pub Date : 2015-08-17 DOI: 10.4204/EPTCS.187.2
L. Couto, P. Larsen, Miran Hasanagic, Georgios Kanakis, Kenneth Lausdahl, P. Tran-Jørgensen
{"title":"Towards Enabling Overture as a Platform for Formal Notation IDEs","authors":"L. Couto, P. Larsen, Miran Hasanagic, Georgios Kanakis, Kenneth Lausdahl, P. Tran-Jørgensen","doi":"10.4204/EPTCS.187.2","DOIUrl":"https://doi.org/10.4204/EPTCS.187.2","url":null,"abstract":"Formal Methods tools will never have as many users as tools for popular programming languages and so the effort spent on constructing Integrated Development Environments (IDEs) will be orders of magnitudes lower than that of programming languages such as Java. This means newcomers to formal methods do not get the same user experience as with their favourite programming IDE. In order to improve this situation it is essential that efforts are combined so it is possible to reuse common features and thus not start from scratch every time. This paper presents the Overture platform where such a reuse philosophy is present. We give an overview of the platform itself as well as the extensibility principles that enable much of the reuse. The paper also contains several examples platform extensions, both in the form of new features and a new IDE supporting a new language.","PeriodicalId":108511,"journal":{"name":"F-IDE","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130989996","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}
引用次数: 8
Building an IDE for the Calculational Derivation of Imperative Programs 为命令式程序的计算推导建立一个IDE
F-IDE Pub Date : 2015-08-17 DOI: 10.4204/EPTCS.187.1
Dipak Chaudhari, O. Damani
{"title":"Building an IDE for the Calculational Derivation of Imperative Programs","authors":"Dipak Chaudhari, O. Damani","doi":"10.4204/EPTCS.187.1","DOIUrl":"https://doi.org/10.4204/EPTCS.187.1","url":null,"abstract":"In this paper, we describe an IDE called CAPS (Calculational Assistant for Programming from Specifications) for the interactive, calculational derivation of imperative programs. In building CAPS, our aim has been to make the IDE accessible to non-experts while retaining the overall flavor of the pen-and-paper calculational style. We discuss the overall architecture of the CAPS system, the main features of the IDE, the GUI design, and the trade-offs involved.","PeriodicalId":108511,"journal":{"name":"F-IDE","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123214847","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
A Holistic Approach in Embedded System Development 嵌入式系统开发的整体方法
F-IDE Pub Date : 2015-08-17 DOI: 10.4204/EPTCS.187.6
Bojan Nokovic, E. Sekerinski
{"title":"A Holistic Approach in Embedded System Development","authors":"Bojan Nokovic, E. Sekerinski","doi":"10.4204/EPTCS.187.6","DOIUrl":"https://doi.org/10.4204/EPTCS.187.6","url":null,"abstract":"We present pState, a tool for developing \"complex\" embedded systems by integrating validation into the design process. The goal is to reduce validation time. To this end, qualitative and quantitative properties are specified in system models expressed as pCharts, an extended version of hierarchical state machines. These properties are specified in an intuitive way such that they can be written by engineers who are domain experts, without needing to be familiar with temporal logic. From the system model, executable code that preserves the verified properties is generated. The design is documented on the model and the documentation is passed as comments into the generated code. On the series of examples we illustrate how models and properties are specified using pState.","PeriodicalId":108511,"journal":{"name":"F-IDE","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-08-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128582135","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
An experimental Study using ACSL and Frama-C to formulate and verify Low-Level Requirements from a DO-178C compliant Avionics Project 使用ACSL和Frama-C来制定和验证符合DO-178C的航空电子项目的低层次需求的实验研究
F-IDE Pub Date : 2015-08-01 DOI: 10.4204/EPTCS.187.3
F. Dordowsky
{"title":"An experimental Study using ACSL and Frama-C to formulate and verify Low-Level Requirements from a DO-178C compliant Avionics Project","authors":"F. Dordowsky","doi":"10.4204/EPTCS.187.3","DOIUrl":"https://doi.org/10.4204/EPTCS.187.3","url":null,"abstract":"Safety critical avionics software is a natural application area for formal verification. This is reflected in the formal method's inclusion into the certification guideline DO-178C and its formal methods supplement DO-333. Airbus and Dassault-Aviation, for example, have conducted studies in using formal verification. A large German national research project, Verisoft XT, also examined the application of formal methods in the avionics domain. \u0000However, formal methods are not yet mainstream, and it is questionable if formal verification, especially formal deduction, can be integrated into the software development processes of a resource constrained small or medium enterprise (SME). ESG, a Munich based medium sized company, has conducted a small experimental study on the application of formal verification on a small portion of a real avionics project. The low level specification of a software function was formalized with ACSL, and the corresponding source code was partially verified using Frama-C and the WP plugin, with Alt-Ergo as automated prover. \u0000We established a couple of criteria which a method should meet to be fit for purpose for industrial use in SME, and evaluated these criteria with the experience gathered by using ACSL with Frama-C on a real world example. The paper reports on the results of this study but also highlights some issues regarding the method in general which, in our view, will typically arise when using the method in the domain of embedded real-time programming.","PeriodicalId":108511,"journal":{"name":"F-IDE","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127694173","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
Software Architecture of Code Analysis Frameworks Matters: The Frama-C Example 代码分析框架的软件架构问题:Frama-C的例子
F-IDE Pub Date : 2015-08-01 DOI: 10.4204/EPTCS.187.7
Julien Signoles
{"title":"Software Architecture of Code Analysis Frameworks Matters: The Frama-C Example","authors":"Julien Signoles","doi":"10.4204/EPTCS.187.7","DOIUrl":"https://doi.org/10.4204/EPTCS.187.7","url":null,"abstract":"Implementing large software, as software analyzers which aim to be used in industrial settings, requires a well-engineered software architecture in order to ease its daily development and its maintenance process during its lifecycle. If the analyzer is not only a single tool, but an open extensible collaborative framework in which external developers may develop plug-ins collaborating with each other, such a well designed architecture even becomes more important. \u0000In this experience report, we explain difficulties of developing and maintaining open extensible collaborative analysis frameworks, through the example of Frama-C, a platform dedicated to the analysis of code written in C. We also present the new upcoming software architecture of Frama-C and how it aims to solve some of these issues.","PeriodicalId":108511,"journal":{"name":"F-IDE","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114482234","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
The AutoProof Verifier: Usability by Non-Experts and on Standard Code 自动验证器:非专家和标准代码的可用性
F-IDE Pub Date : 2015-08-01 DOI: 10.4204/EPTCS.187.4
Carlo A. Furia, Christopher M. Poskitt, Julian Tschannen
{"title":"The AutoProof Verifier: Usability by Non-Experts and on Standard Code","authors":"Carlo A. Furia, Christopher M. Poskitt, Julian Tschannen","doi":"10.4204/EPTCS.187.4","DOIUrl":"https://doi.org/10.4204/EPTCS.187.4","url":null,"abstract":"Formal verification tools are often developed by experts for experts; as a result, their usability by programmers with little formal methods experience may be severely limited. In this paper, we discuss this general phenomenon with reference to AutoProof: a tool that can verify the full functional correctness of object-oriented software. In particular, we present our experiences of using AutoProof in two contrasting contexts representative of non-expert usage. First, we discuss its usability by students in a graduate course on software verification, who were tasked with verifying implementations of various sorting algorithms. Second, we evaluate its usability in verifying code developed for programming assignments of an undergraduate course. The first scenario represents usability by serious non-experts; the second represents usability on \"standard code\", developed without full functional verification in mind. We report our experiences and lessons learnt, from which we derive some general suggestions for furthering the development of verification tools with respect to improving their usability.","PeriodicalId":108511,"journal":{"name":"F-IDE","volume":"72 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131152432","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}
引用次数: 15
OpenJML: Software verification for Java 7 using JML, OpenJDK, and Eclipse OpenJML:使用JML、OpenJDK和Eclipse对Java 7进行软件验证
F-IDE Pub Date : 2014-04-25 DOI: 10.4204/EPTCS.149.8
D. Cok
{"title":"OpenJML: Software verification for Java 7 using JML, OpenJDK, and Eclipse","authors":"D. Cok","doi":"10.4204/EPTCS.149.8","DOIUrl":"https://doi.org/10.4204/EPTCS.149.8","url":null,"abstract":"OpenJML is a tool for checking code and specifications of Java programs. We describe our experience building the tool on the foundation of JML, OpenJDK and Eclipse, as well as on many advances in specification-based software verification. The implementation demonstrates the value of integrating specification tools directly in the software development IDE and in automating as many tasks as possible. The tool, though still in progress, has now been used for several college-level courses on software specification and verification and for small-scale studies on existing Java programs. 1 Introduction to OpenJML OpenJML is a tool for verification (checking consistency of code and specifications) of Java programs. It is an implementation of the Java Modeling Language (JML) [29, 32] and is built using the OpenJDK [46] compiler. OpenJML can be used both as a command-line tool and through a GUI built on Eclipse. The tool has been under development in bursts since 2009. Initially the project was simply an experiment to see whether OpenJDK would make a good replacement for the custom parser that underlies ESC/Java(2) [37, 16] and the MultiJava compiler that underlies the JML2 tools, neither of which implemented Java generics. The development was reinvigorated in 2011 and is now supporting academic and trial users and staying current with developments in Java. OpenJML’s long-term goal is to provide an IDE for managing program specifications that naturally fits into the practice of daily software development and so becomes a part of expected software engineering practice. To that end, the project has several nearer-term objectives, discussed in more detail in the body of this paper: To create an implementation of JML, replacing ESC/Java2; To provide a tool that can be used in courses and tutorials on software specification and verification; To provide an integration of many techniques proposed in the software verification research or implemented as standalone proofs of concept over the past few decades; To be a platform for experimentation: ‐ with specification language features ‐ with specification encodings ‐ with SMT solvers on software verification problems To enable case studies of verification of industrial software; Eventually, to be a tool to be used in daily, industrial software development. OpenJML includes operations for a number of related tasks: parsing and typechecking of JML in conjunction with the corresponding Java code static checking of code and specifications. OpenJML translates Java + JML specifications into verification conditions that are then checked by SMT solvers.","PeriodicalId":108511,"journal":{"name":"F-IDE","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121115726","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}
引用次数: 60
Who watches the watchers: Validating the ProB Validation Tool 谁负责监视:验证ProB验证工具
F-IDE Pub Date : 2014-04-25 DOI: 10.4204/EPTCS.149.3
Jens Bendisposto, Sebastian Krings, M. Leuschel
{"title":"Who watches the watchers: Validating the ProB Validation Tool","authors":"Jens Bendisposto, Sebastian Krings, M. Leuschel","doi":"10.4204/EPTCS.149.3","DOIUrl":"https://doi.org/10.4204/EPTCS.149.3","url":null,"abstract":"Over the years, ProB has moved from a tool that complemented proving, to a development environment that is now sometimes used instead of proving for applications, such as exhaustive model checking or data validation. This has led to much more stringent requirements on the integrity of ProB. In this paper we present a summary of our validation efforts for ProB, in particular within the context of the norm EN 50128 and safety critical applications in the railway domain.","PeriodicalId":108511,"journal":{"name":"F-IDE","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130746624","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}
引用次数: 8
SPEEDY: An Eclipse-based IDE for invariant inference SPEEDY:用于不变量推理的基于eclipse的IDE
F-IDE Pub Date : 2014-04-25 DOI: 10.4204/EPTCS.149.5
D. Cok, S. Johnson
{"title":"SPEEDY: An Eclipse-based IDE for invariant inference","authors":"D. Cok, S. Johnson","doi":"10.4204/EPTCS.149.5","DOIUrl":"https://doi.org/10.4204/EPTCS.149.5","url":null,"abstract":"SPEEDY is an Eclipse-based IDE for exploring techniques that assist users in generating correct specifications, particularly including invariant inference algorithms and tools. It integrates with several back-end tools that propose invariants and will incorporate published algorithms for inferring object and loop invariants. Though the architecture is language-neutral, current SPEEDY targets C programs. Building and using SPEEDY has confirmed earlier experience demonstrating the importance of showing and editing specifications in the IDEs that developers customarily use, automating as much of the production and checking of specifications as possible, and showing counterexample information directly in the source code editing environment. As in previous work, automation of specification checking is provided by back-end SMT solvers. However, reducing the effort demanded of software developers using formal methods also requires a GUI design that guides users in writing, reviewing, and correcting specifications and automates specification inference.","PeriodicalId":108511,"journal":{"name":"F-IDE","volume":"354 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132583391","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}
引用次数: 10
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信
小红书