VeTSpec: Verified Trustworthy Software Specification
VeTSpec: Verified Trustworthy Software Specification
批准号:
EP/R034567/1
负责人:
Philippa Gardner
金额:
$201.3万
依托单位:
依托单位国家:
英国
项目类别:
Fellowship
财政年份:
2018
资助国家:
英国
项目状态:
未结题
起止时间:
2018 至 --
中文摘要
点击翻译按钮获取中文摘要
英文摘要
Modern society faces a fundamental problem: the reliability of complex, evolving software systems on which it critically depends cannot be guaranteed by the established, non-mathematical techniques, such as informal prose specification and ad-hoc testing. Modern companies are moving fast, leaving little time for code analysis and testing; concurrent and distributed programs cannot be adequately assessed via traditional testing methods; users of mobile applications neglect to apply software fixes; and malicious users increasingly exploit programming errors, causing major security disruptions. Trustworthy, reliable software is becoming harder to achieve, whilst new business and cyber-security challenges make it of escalating importance.Developers cope with complexity using abstraction: the breaking up of systems into components and layers connected via software interfaces. These interfaces are described using specifications: for example, documentation in English; test suites with varying degrees of rigour; static typing embedded in programming languages; and formal specifications written in various logics. In computer science, despite widespread agreement on the importance of abstraction, specifications are often seen as an afterthought and a hindrance to software development, and are rarely justified.Formal specification as part of the industrial software design process is in its infancy. My over-arching research vision is to bring scientific, mathematical method to the specification and verification of modern software systems. A fundamental unifying theme of my current work is my unique emphasis on what it means for a formal specification to be appropriate for the task in hand, properly evaluated and useful for real-world applications. Specifications should be validated, with proper evidence that they describe what they should. This validation can come in many forms, from formal verification through systematic testing to precise argumentation that a formal specification accurately captures an English standard. Specifications should be useful, identifying compositional building blocks that are intuitive and helpful to clients both now and in future. Specifications should be just right, providing a clear logical boundary between implementations and client programs.VeTSpec has four related objectives, exploring different strengths of program specification, real-world program library specification and mechanised language specification, in each case determining what it means for the specification to be appropriate, properly evaluated and useful for real-world applications.Objective A: Tractable reasoning about concurrency and distribution is a long-standing, difficult problem. I will develop the fundamental theory for the verified specification of concurrent programs and distributed systems, focussing on safety properties for programs based on primitive atomic commands, safety properties for programs based on more complex atomic transactions used in software transactional memory and distributed databases, and progress properties.Objective B: JavaScript is the most widespread dynamic language, used by 94.8% of websites. Its dynamic nature and complex semantics make it a difficult target for verified specification. I will develop logic-based analysis tools for the specification, verification and testing of JavaScript programs, intertwining theoretical results with properly engineered tool development.Objective C: The mechanised specification of real-world programming languages is well-established. Such specifications are difficult to maintain and their use is not fully explored. I will provide a maintainable mechanised specification of Javascript, together with systematic test generation from this specification.Objective D: I will explore fundamental, conceptual questions associated with the ambitious VeTSpec goal to bring scientific, mathematical method to the specification of modern software systems.
期刊论文(10)
专著(0)
科研奖励(0)
会议论文
登录
查看更多内容
Iris-Wasm: Robust and Modular Verification of WebAssembly Programs
Iris-Wasm:WebAssembly 程序的稳健和模块化验证
DOI:
10.1145/3591265
发表时间:
2023
期刊:
Proceedings of the ACM on Programming Languages
影响因子:
--
作者:
[Rao X]
通讯作者:
Rao X
DOI:
10.1145/3290357
发表时间:
2019
期刊:
Proceedings of the ACM on Programming Languages
影响因子:
--
作者:
[Bodin M]
通讯作者:
Bodin M
Non-Deterministic Functions as Non-Deterministic Processes (Extended Version)
作为非确定性过程的非确定性函数(扩展版本)
DOI:
10.46298/lmcs-19(4:1)2023
发表时间:
2023
期刊:
Logical Methods in Computer Science
影响因子:
0.6
作者:
[Paulus J]
通讯作者:
Paulus J
JaVerT 2.0: compositional symbolic execution for JavaScript
JaVerT 2.0:JavaScript 的组合符号执行
DOI:
10.1145/3290379
发表时间:
2019
期刊:
Proceedings of the ACM on Programming Languages
影响因子:
--
作者:
[Fragoso Santos J]
通讯作者:
Fragoso Santos J
DOI:
10.1145/3477082
发表时间:
2019-01
期刊:
ACM Transactions on Programming Languages and Systems (TOPLAS)
影响因子:
--
作者:
[Emanuele D’Osualdo;Julian Sutherland;Azadeh Farzan;Philippa Gardner]
通讯作者:
Emanuele D’Osualdo;Julian Sutherland;Azadeh Farzan;Philippa Gardner
共 9 条
Research Institute in Verified Trustworthy Software Systems (VeTSS)
-
批准号:EP/P021921/1
-
项目类别:Research Grant
-
资助金额:$83.44万
-
财政年份:2017
-
负责人:Philippa Gardner
-
依托单位:
Certified Verification of Client-Side Web Programs
-
批准号:EP/K032089/1
-
项目类别:Research Grant
-
资助金额:$113.9万
-
财政年份:2013
-
负责人:Philippa Gardner
-
依托单位:
海外基金