首页 > 最新文献

2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)最新文献

英文 中文
Modeling and Verifying Transaction Scheduling for Software Transactional Memory using CSP 基于CSP的软件事务性内存事务调度建模与验证
Chao Xu, Xi Wu, Huibiao Zhu, M. Popovic
Transaction Memory (TM) is designed for simplifying parallel programming, while some key problems exist in it, such as starvation and reduced performance with high contention among transactions. In order to improve the performance of TM, researchers have designed several transaction scheduling algorithms and given their experimental results. However, the evaluations on the algorithms given by these researches are rather partial and lack of generality. Since these experimental results ignore the verification of properties which are necessary for transaction scheduling and could be greatly affected by the execution environment, thus it is still challenging for us to judge the quality of the algorithms for TM. In this paper, we provide a formal approach to evaluate transaction scheduling algorithms in a more comprehensive and strict way. We choose three recently proposed algorithms as motivating examples and formalize them using the process algebra CSP. We also use a model checker PAT to verify the properties (e.g., deadlock freeness and starvation freeness) of the models. Besides, it is also easier to compare the performance of the algorithms, from the perspective of makespan, speedup, aborts time and throughput, based on the statistics given by PAT. Consequently, a formal approach can be achieved to evaluate transaction scheduling algorithms, which is also a good guide for the further design of the algorithms for TM.
事务内存(Transaction Memory, TM)是为简化并行编程而设计的,但它存在一些关键问题,如事务间高争用导致的饥饿和性能下降。为了提高TM的性能,研究人员设计了几种事务调度算法,并给出了实验结果。然而,这些研究对算法的评价比较片面,缺乏通用性。由于这些实验结果忽略了对事务调度所必需的属性的验证,并且这些属性会受到执行环境的很大影响,因此判断TM算法的质量仍然是一个挑战。在本文中,我们提供了一种更全面和严格的评估事务调度算法的形式化方法。我们选择了最近提出的三种算法作为激励实例,并使用过程代数CSP将它们形式化。我们还使用模型检查器PAT来验证模型的属性(例如,死锁自由和饥饿自由)。此外,基于PAT给出的统计数据,也更容易从makespan、加速、中止时间和吞吐量的角度来比较算法的性能。因此,可以获得一种形式化的方法来评估事务调度算法,这也为TM算法的进一步设计提供了很好的指导。
{"title":"Modeling and Verifying Transaction Scheduling for Software Transactional Memory using CSP","authors":"Chao Xu, Xi Wu, Huibiao Zhu, M. Popovic","doi":"10.1109/TASE.2019.00009","DOIUrl":"https://doi.org/10.1109/TASE.2019.00009","url":null,"abstract":"Transaction Memory (TM) is designed for simplifying parallel programming, while some key problems exist in it, such as starvation and reduced performance with high contention among transactions. In order to improve the performance of TM, researchers have designed several transaction scheduling algorithms and given their experimental results. However, the evaluations on the algorithms given by these researches are rather partial and lack of generality. Since these experimental results ignore the verification of properties which are necessary for transaction scheduling and could be greatly affected by the execution environment, thus it is still challenging for us to judge the quality of the algorithms for TM. In this paper, we provide a formal approach to evaluate transaction scheduling algorithms in a more comprehensive and strict way. We choose three recently proposed algorithms as motivating examples and formalize them using the process algebra CSP. We also use a model checker PAT to verify the properties (e.g., deadlock freeness and starvation freeness) of the models. Besides, it is also easier to compare the performance of the algorithms, from the perspective of makespan, speedup, aborts time and throughput, based on the statistics given by PAT. Consequently, a formal approach can be achieved to evaluate transaction scheduling algorithms, which is also a good guide for the further design of the algorithms for TM.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133648922","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
Understanding Ineffective Events and Reducing Test Sequences for Android Applications 理解无效事件并减少Android应用程序的测试序列
Ping Wang, Jiwei Yan, Xi Deng, Jun Yan, Jian Zhang
Monkey, which is integrated with the Android system, becomes the most widely used test input generation tool, owing to the simplicity, effectiveness and good compatibility. However, Monkey is based on coordinates of screen and oblivious to the widgets and the GUI states, which results in a great many ineffective events that have no contribution to the test. To address the major drawbacks, this paper parses the events of 200 test sequences generated by Monkey into human-readable scripts and manually investigate the effects of these events. We find three types of patterns on the ineffective events, including no-ops, single and combination of effect-free ones, and summarize them into ten rules for sequence reduction. Then, we implement a tool CHARD to match these patterns in real-world traces and prune the redundant events. The evaluation on 923 traces from various apps covering 16 categories shows that CHARD can process 1,000 events in a few seconds and identifies 41.3% events as ineffective ones. Meanwhile, the reduced sequence keeps the same functionality with the original one that can trigger the same behaviors. Our work can be applied to lessen the diagnose effort for record-and-replay, and as a preprocessing step for other works on analyzing sequences. For instance, CHARD can remove 72.6% ineffective events and saves 67.6% time of delta debugging in our experiments.
与Android系统集成的Monkey以其简单、有效、兼容性好等优点,成为目前应用最广泛的测试输入生成工具。然而,Monkey基于屏幕坐标,忽略了小部件和GUI状态,这导致了许多对测试没有贡献的无效事件。为了解决主要缺陷,本文将Monkey生成的200个测试序列的事件解析为人类可读的脚本,并手动研究这些事件的影响。我们找到了无效事件的三种模式,即无操作、单一和无影响事件的组合,并将其归纳为10条序列约简规则。然后,我们实现了一个工具CHARD来匹配这些模式在现实世界的轨迹和修剪冗余的事件。通过对来自16个类别的923条trace的评估,CHARD可以在几秒内处理1000个事件,并将41.3%的事件识别为无效事件。同时,简化后的序列与原序列保持相同的功能,可以触发相同的行为。我们的工作可以用于减少记录和回放的诊断工作量,并作为分析序列的其他工作的预处理步骤。例如,在我们的实验中,CHARD可以去除72.6%的无效事件,节省了67.6%的增量调试时间。
{"title":"Understanding Ineffective Events and Reducing Test Sequences for Android Applications","authors":"Ping Wang, Jiwei Yan, Xi Deng, Jun Yan, Jian Zhang","doi":"10.1109/TASE.2019.00012","DOIUrl":"https://doi.org/10.1109/TASE.2019.00012","url":null,"abstract":"Monkey, which is integrated with the Android system, becomes the most widely used test input generation tool, owing to the simplicity, effectiveness and good compatibility. However, Monkey is based on coordinates of screen and oblivious to the widgets and the GUI states, which results in a great many ineffective events that have no contribution to the test. To address the major drawbacks, this paper parses the events of 200 test sequences generated by Monkey into human-readable scripts and manually investigate the effects of these events. We find three types of patterns on the ineffective events, including no-ops, single and combination of effect-free ones, and summarize them into ten rules for sequence reduction. Then, we implement a tool CHARD to match these patterns in real-world traces and prune the redundant events. The evaluation on 923 traces from various apps covering 16 categories shows that CHARD can process 1,000 events in a few seconds and identifies 41.3% events as ineffective ones. Meanwhile, the reduced sequence keeps the same functionality with the original one that can trigger the same behaviors. Our work can be applied to lessen the diagnose effort for record-and-replay, and as a preprocessing step for other works on analyzing sequences. For instance, CHARD can remove 72.6% ineffective events and saves 67.6% time of delta debugging in our experiments.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130552028","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
Certified Embedding of B Models in an Integrated Verification Framework 集成验证框架中B模型的认证嵌入
Alexandra Halchin, Y. A. Ameur, N. Singh, Abderrahmane Feliachi, J. Ordioni
To check the correctness of heterogeneous models of a complex critical system is challenging to meet the certification standard. Such guarantee can be provided by embedding the heterogeneous models into an integrated modelling framework. This work is proposed in the B-PERFect project of RATP (Parisian Public Transport Operator and Maintainer), it aims to apply formal verification using the PERF approach on the integrated safety-critical software related to railway domain expressed in a single modelling language: HLL. This paper presents a certified translation from B formal language to HLL. The proposed approach uses HOL as a unified logical framework to describe the formal semantics and to formalize the translation relation of both languages. The developed Isabelle/HOL models are proved in order to guarantee the correctness of our translation process. Moreover, we have also used weak-bisimulation relation to check the correctness of translation steps. The overall approach is illustrated through a case study issued from a railway software system: onboard localization function. Furthermore, it discusses the integrated verification at system level.
检验复杂关键系统异构模型的正确性是一项很难达到认证标准的工作。这种保证可以通过将异构模型嵌入到集成的建模框架中来提供。这项工作是在RATP(巴黎公共交通运营商和维护者)的B-PERFect项目中提出的,它旨在使用PERF方法对以单一建模语言HLL表示的与铁路领域相关的集成安全关键软件进行形式化验证。本文给出了B形式语言到HLL的认证翻译。本文提出的方法使用语义语义作为统一的逻辑框架来描述形式语义并形式化两种语言的翻译关系。为了保证翻译过程的正确性,对所开发的Isabelle/HOL模型进行了验证。此外,我们还利用弱双仿真关系来检验翻译步骤的正确性。通过一个铁路软件系统的案例研究说明了整个方法:车载定位功能。进一步讨论了系统级的集成验证。
{"title":"Certified Embedding of B Models in an Integrated Verification Framework","authors":"Alexandra Halchin, Y. A. Ameur, N. Singh, Abderrahmane Feliachi, J. Ordioni","doi":"10.1109/TASE.2019.000-4","DOIUrl":"https://doi.org/10.1109/TASE.2019.000-4","url":null,"abstract":"To check the correctness of heterogeneous models of a complex critical system is challenging to meet the certification standard. Such guarantee can be provided by embedding the heterogeneous models into an integrated modelling framework. This work is proposed in the B-PERFect project of RATP (Parisian Public Transport Operator and Maintainer), it aims to apply formal verification using the PERF approach on the integrated safety-critical software related to railway domain expressed in a single modelling language: HLL. This paper presents a certified translation from B formal language to HLL. The proposed approach uses HOL as a unified logical framework to describe the formal semantics and to formalize the translation relation of both languages. The developed Isabelle/HOL models are proved in order to guarantee the correctness of our translation process. Moreover, we have also used weak-bisimulation relation to check the correctness of translation steps. The overall approach is illustrated through a case study issued from a railway software system: onboard localization function. Furthermore, it discusses the integrated verification at system level.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134402285","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
Efficient Counter-factual Type Error Debugging 有效的反事实类型错误调试
Sheng Chen, Baijun Wu
Type inference is an important part of functional programming languages and has been increasingly adopted to imperative programming. However, providing effective error messages in response to type inference failures (due to type errors in programs) continues to be a challenge. Type error messages generated by compilers and existing error debugging approaches often point to bogus error locations or lack sufficient information for removing the type error, making error debugging ineffective. Counter-factual typing (CFT) addressed this problem by generating comprehensive error messages with each message includes a rich set of information. However, CFT has a large response time, making it too slow for interactive use. In particular, our recent study shows that programmers usually have to go through multiple iterations of updating and recompiling programs to remove a type error. Interestingly, our study also reveals that program updates are minor in each iteration during type error debugging. We exploit this fact and develop eCFT, an efficient version of CFT, which doesn't recompute all error fixes from scratch for each updated program but only recomputes error fixes that are changed in response to the update. Our key observation is that minor program changes lead to minor error suggestion changes. eCFT is based on principal typing, a typing scheme more amenable to reuse previous typing results. We have evaluated our approach and found it is about 12.4× faster than CFT in updating error fixes.
类型推断是函数式编程语言的重要组成部分,在命令式编程中得到越来越多的应用。然而,在响应类型推断失败(由于程序中的类型错误)时提供有效的错误消息仍然是一个挑战。编译器和现有错误调试方法生成的类型错误消息通常指向虚假的错误位置,或者缺乏足够的信息来消除类型错误,从而使错误调试无效。反事实类型(CFT)通过生成全面的错误消息来解决这个问题,每个消息都包含一组丰富的信息。然而,CFT有很大的响应时间,使得它对于交互式使用来说太慢了。特别是,我们最近的研究表明,程序员通常必须经历多次更新和重新编译程序的迭代,以消除类型错误。有趣的是,我们的研究还表明,在类型错误调试期间,程序更新在每次迭代中都是次要的。我们利用这一事实并开发了eCFT,这是CFT的一个有效版本,它不会为每个更新的程序从头开始重新计算所有错误修复,而只会重新计算响应更新而更改的错误修复。我们的主要观察是,较小的程序更改会导致较小的错误建议更改。eCFT基于主体类型,这是一种更易于重用以前的类型结果的类型方案。我们已经评估了我们的方法,发现它在更新错误修复方面比CFT快12.4倍。
{"title":"Efficient Counter-factual Type Error Debugging","authors":"Sheng Chen, Baijun Wu","doi":"10.1109/TASE.2019.00-13","DOIUrl":"https://doi.org/10.1109/TASE.2019.00-13","url":null,"abstract":"Type inference is an important part of functional programming languages and has been increasingly adopted to imperative programming. However, providing effective error messages in response to type inference failures (due to type errors in programs) continues to be a challenge. Type error messages generated by compilers and existing error debugging approaches often point to bogus error locations or lack sufficient information for removing the type error, making error debugging ineffective. Counter-factual typing (CFT) addressed this problem by generating comprehensive error messages with each message includes a rich set of information. However, CFT has a large response time, making it too slow for interactive use. In particular, our recent study shows that programmers usually have to go through multiple iterations of updating and recompiling programs to remove a type error. Interestingly, our study also reveals that program updates are minor in each iteration during type error debugging. We exploit this fact and develop eCFT, an efficient version of CFT, which doesn't recompute all error fixes from scratch for each updated program but only recomputes error fixes that are changed in response to the update. Our key observation is that minor program changes lead to minor error suggestion changes. eCFT is based on principal typing, a typing scheme more amenable to reuse previous typing results. We have evaluated our approach and found it is about 12.4× faster than CFT in updating error fixes.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131892207","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
Non-Intrusive MC/DC Measurement Based on Traces 基于走线的非侵入式MC/DC测量
Faustin Ahishakiye, S. Jaksic, F. D. Lange, Malte Schmitz, V. Stolz, Daniel Thoma
We present a novel, non-intrusive approach to MC/DC coverage measurement using modern processor-based tracing facilities. Our approach does not require recompilation or instrumentation of the software under test. Instead, we use the Intel Processor Trace (Intel PT) facility present on modern Intel CPUs. Our tooling consists of the following parts: a frontend that detects so-called decisions (Boolean expressions) that are used in conditionals in C source code, a mapping from conditional jumps in the object code back to those decisions, and an analysis that computes satisfaction of the MC/DC coverage relation on those decisions from an execution trace. This analysis takes as input a stream of instruction addresses decoded from Intel PT trace data, which was recorded while running the software under test. We describe our architecture and discuss limitations and future work.
我们提出了一种新颖的,非侵入式的MC/DC覆盖测量方法,使用现代基于处理器的跟踪设施。我们的方法不需要重新编译或测试软件。相反,我们使用现代Intel cpu上的Intel Processor Trace (Intel PT)工具。我们的工具由以下部分组成:检测C源代码条件语句中使用的所谓决策(布尔表达式)的前端,从目标代码中的条件跳转到这些决策的映射,以及从执行跟踪计算这些决策的MC/DC覆盖关系满意度的分析。该分析将从英特尔PT跟踪数据中解码的指令地址流作为输入,这些数据是在运行测试中的软件时记录的。我们描述了我们的架构,并讨论了局限性和未来的工作。
{"title":"Non-Intrusive MC/DC Measurement Based on Traces","authors":"Faustin Ahishakiye, S. Jaksic, F. D. Lange, Malte Schmitz, V. Stolz, Daniel Thoma","doi":"10.1109/TASE.2019.00-15","DOIUrl":"https://doi.org/10.1109/TASE.2019.00-15","url":null,"abstract":"We present a novel, non-intrusive approach to MC/DC coverage measurement using modern processor-based tracing facilities. Our approach does not require recompilation or instrumentation of the software under test. Instead, we use the Intel Processor Trace (Intel PT) facility present on modern Intel CPUs. Our tooling consists of the following parts: a frontend that detects so-called decisions (Boolean expressions) that are used in conditionals in C source code, a mapping from conditional jumps in the object code back to those decisions, and an analysis that computes satisfaction of the MC/DC coverage relation on those decisions from an execution trace. This analysis takes as input a stream of instruction addresses decoded from Intel PT trace data, which was recorded while running the software under test. We describe our architecture and discuss limitations and future work.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"103 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134594719","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
Identify Blackboard Pattern Based on Ontology 基于本体的黑板模式识别
Lihui Tang, Lulu Wang, Bixin Li
Blackboard pattern identification is significant for the programmer to maintain the software system. Whether and how the system uses the blackboard pattern could help the programmers unfamiliar with the target system. This paper proposes a blackboard-instance identification approach based on ontology, which not only judges whether the target system uses the blackboard pattern but also provides the blackboard pattern implementation of the target system. The target system is described by ontology and input into the ABox of the knowledge base, the blackboard pattern is described by ontology and input into the TBox of the knowledge base. And the inference engine will reason out the raw pattern instance. Finally, the final pattern instance will be outputted by iterative refinement. To study the accuracy of our approach, sixty-eight projects have been tested and two of them have been analyzed the components' identification accuracy.
黑板模式识别对于程序员维护软件系统具有重要意义。系统是否以及如何使用黑板模式可以帮助不熟悉目标系统的程序员。本文提出了一种基于本体的黑板实例识别方法,既能判断目标系统是否使用了黑板模式,又能提供目标系统的黑板模式实现。目标系统用本体描述,输入到知识库的ABox中;黑板模式用本体描述,输入到知识库的TBox中。推理引擎将推理出原始模式实例。最后,将通过迭代细化输出最终的模式实例。为了研究该方法的准确性,对68个项目进行了测试,并对其中两个项目的成分识别精度进行了分析。
{"title":"Identify Blackboard Pattern Based on Ontology","authors":"Lihui Tang, Lulu Wang, Bixin Li","doi":"10.1109/TASE.2019.00007","DOIUrl":"https://doi.org/10.1109/TASE.2019.00007","url":null,"abstract":"Blackboard pattern identification is significant for the programmer to maintain the software system. Whether and how the system uses the blackboard pattern could help the programmers unfamiliar with the target system. This paper proposes a blackboard-instance identification approach based on ontology, which not only judges whether the target system uses the blackboard pattern but also provides the blackboard pattern implementation of the target system. The target system is described by ontology and input into the ABox of the knowledge base, the blackboard pattern is described by ontology and input into the TBox of the knowledge base. And the inference engine will reason out the raw pattern instance. Finally, the final pattern instance will be outputted by iterative refinement. To study the accuracy of our approach, sixty-eight projects have been tested and two of them have been analyzed the components' identification accuracy.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"21 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132569148","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
A Logical Approach for the Schedulability Analysis of CCSL CCSL可调度性分析的逻辑方法
Yuanrui Zhang, F. Mallet, Huibiao Zhu, Yixiang Chen
The Clock Constraint Specification Language (CCSL) is a clock-based formalism for formal specification and analysis of real-time embedded systems. Previous approaches for the schedulability analysis of CCSL specifications are mainly based on model checking or SMT-checking. In this paper we propose a logical approach mainly based on theorem proving. We build a dynamic logic called 'clock-based dynamic logic' (cDL) to capture the CCSL specifications and build a proof calculus to analyze the schedule problem of the specifications. Comparing with previous approaches, our method benefits from the dynamic logic that provides a natural way of capturing the dynamic behaviour of CCSL and a divide-and-conquer way for 'decomposing' a complex formula into simple ones for an SMT-checking procedure. Based on cDL, we outline a method for the schedulability analysis of CCSL. We illustrate our theory through one example.
时钟约束规范语言(CCSL)是一种基于时钟的形式化语言,用于实时嵌入式系统的形式化规范和分析。以往CCSL规范可调度性分析的方法主要基于模型检查或smt检查。本文提出了一种主要基于定理证明的逻辑方法。我们构建了一个称为“基于时钟的动态逻辑”(cDL)的动态逻辑来捕获CCSL规范,并构建了一个证明演算来分析规范的进度问题。与以前的方法相比,我们的方法受益于动态逻辑,它提供了一种捕获CCSL动态行为的自然方法,以及一种将复杂公式“分解”成简单公式的分而治之的方法,用于smt检查过程。在cDL的基础上,提出了CCSL可调度性分析的一种方法。我们通过一个例子来说明我们的理论。
{"title":"A Logical Approach for the Schedulability Analysis of CCSL","authors":"Yuanrui Zhang, F. Mallet, Huibiao Zhu, Yixiang Chen","doi":"10.1109/TASE.2019.00-23","DOIUrl":"https://doi.org/10.1109/TASE.2019.00-23","url":null,"abstract":"The Clock Constraint Specification Language (CCSL) is a clock-based formalism for formal specification and analysis of real-time embedded systems. Previous approaches for the schedulability analysis of CCSL specifications are mainly based on model checking or SMT-checking. In this paper we propose a logical approach mainly based on theorem proving. We build a dynamic logic called 'clock-based dynamic logic' (cDL) to capture the CCSL specifications and build a proof calculus to analyze the schedule problem of the specifications. Comparing with previous approaches, our method benefits from the dynamic logic that provides a natural way of capturing the dynamic behaviour of CCSL and a divide-and-conquer way for 'decomposing' a complex formula into simple ones for an SMT-checking procedure. Based on cDL, we outline a method for the schedulability analysis of CCSL. We illustrate our theory through one example.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115553368","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
Learning-based Probabilistic Modeling and Verifying Driver Behavior using MDP 基于学习的概率建模及基于MDP的驾驶员行为验证
Xin Bai, Chenghao Xu, Yi Ao, Biao Chen, Dehui Du
Assisted driving has always been a hot research issue. The existing work mainly focuses on modeling vehicles behavior. However, there still lacks research work of modeling and verifying driver behavior. To solve these problems, we are committed to modeling and analyzing the driver behavior with Markov Decision Process (MDP). The aim is to achieve safe driving by monitoring and predicting the driver's states. In this paper, we propose a novel approach to construct MDP models of driver behavior. It comprises four phases: (1) data preprocessing using Convolutional Neural Network (CNN), wherein we adopt CNN to extract the features of driver behavior with the simulation data; (2) Bayes-based learning, wherein we construct a training set and use the Naive Bayes algorithm to train the State Prediction Model (SPM); (3) MDP generating, wherein we propose an algorithm to generate MDP models for the driver behavior with the help of SPM; and (4) quantitative analysis, wherein we analyze the uncertain behavior of the driver with probabilistic model checking technology. The main novelty of our work is to model and verify the driver behavior by integrating the learning and the model checking technology. To implement our approach, we have developed the MDP generator. Moreover, the quantitative analyses of the driver behavior are conducted with the model checker PRISM. The experiment results show that our approach facilitates generating MDP models, which helps to model and analyze the uncertain behavior of the driver.
辅助驾驶一直是一个研究热点问题。现有的工作主要集中在车辆行为建模上。然而,目前还缺乏对驾驶员行为建模和验证的研究工作。为了解决这些问题,我们致力于用马尔可夫决策过程(Markov Decision Process, MDP)对驾驶员行为进行建模和分析。其目的是通过监测和预测驾驶员的状态来实现安全驾驶。本文提出了一种新的方法来构建驾驶员行为的MDP模型。它包括四个阶段:(1)利用卷积神经网络(CNN)对数据进行预处理,利用卷积神经网络对仿真数据提取驾驶员行为特征;(2)基于贝叶斯的学习,构建训练集,使用朴素贝叶斯算法训练状态预测模型(SPM);(3) MDP生成,提出了一种基于SPM的驱动行为MDP模型生成算法;(4)定量分析,利用概率模型检验技术对驾驶员的不确定行为进行分析。本研究的主要新颖之处在于将学习和模型检测技术相结合,对驾驶员行为进行建模和验证。为了实现我们的方法,我们开发了MDP生成器。此外,利用模型检查器PRISM对驾驶员行为进行了定量分析。实验结果表明,该方法有利于生成MDP模型,有助于对驾驶员的不确定性行为进行建模和分析。
{"title":"Learning-based Probabilistic Modeling and Verifying Driver Behavior using MDP","authors":"Xin Bai, Chenghao Xu, Yi Ao, Biao Chen, Dehui Du","doi":"10.1109/TASE.2019.000-6","DOIUrl":"https://doi.org/10.1109/TASE.2019.000-6","url":null,"abstract":"Assisted driving has always been a hot research issue. The existing work mainly focuses on modeling vehicles behavior. However, there still lacks research work of modeling and verifying driver behavior. To solve these problems, we are committed to modeling and analyzing the driver behavior with Markov Decision Process (MDP). The aim is to achieve safe driving by monitoring and predicting the driver's states. In this paper, we propose a novel approach to construct MDP models of driver behavior. It comprises four phases: (1) data preprocessing using Convolutional Neural Network (CNN), wherein we adopt CNN to extract the features of driver behavior with the simulation data; (2) Bayes-based learning, wherein we construct a training set and use the Naive Bayes algorithm to train the State Prediction Model (SPM); (3) MDP generating, wherein we propose an algorithm to generate MDP models for the driver behavior with the help of SPM; and (4) quantitative analysis, wherein we analyze the uncertain behavior of the driver with probabilistic model checking technology. The main novelty of our work is to model and verify the driver behavior by integrating the learning and the model checking technology. To implement our approach, we have developed the MDP generator. Moreover, the quantitative analyses of the driver behavior are conducted with the model checker PRISM. The experiment results show that our approach facilitates generating MDP models, which helps to model and analyze the uncertain behavior of the driver.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128755635","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}
引用次数: 5
Using Recurrent Neural Network to Predict Tactics for Proving Component Connector Properties in Coq 基于递归神经网络的Coq组件连接件性能验证预测策略
Xiyue Zhang, Yi Li, Weijiang Hong, Mengyong Sun
Formal modeling and verification of component connectors in complex software systems are getting more interests with recent advancements and evolution in modern software techniques. Various properties of connectors can be specified as high-order logic propositions and verified using theorem proving techniques. However, most high-order logic provers still highly rely on human interactions and thus make the proving process difficult and time-consuming. In this paper, we propose an approach based on recurrent neural networks (RNNs) to predict the correct tactics in the proving process. Recurrent layers consisting of Long-Short-Term-Memory (LSTM) units provide a better correctness rate comparing with simple RNN units. Under this framework, properties of connectors can be naturally formalized and semi-automatically proved in Coq.
随着现代软件技术的进步和发展,复杂软件系统中组件连接器的形式化建模和验证受到越来越多的关注。连接器的各种性质可以指定为高阶逻辑命题,并使用定理证明技术进行验证。然而,大多数高阶逻辑证明仍然高度依赖于人的交互,从而使证明过程变得困难和耗时。在本文中,我们提出了一种基于递归神经网络(RNNs)的方法来预测证明过程中的正确策略。与简单的RNN单元相比,由长短期记忆(LSTM)单元组成的循环层提供了更好的正确率。在这个框架下,连接器的属性可以在Coq中自然形式化和半自动证明。
{"title":"Using Recurrent Neural Network to Predict Tactics for Proving Component Connector Properties in Coq","authors":"Xiyue Zhang, Yi Li, Weijiang Hong, Mengyong Sun","doi":"10.1109/TASE.2019.00-12","DOIUrl":"https://doi.org/10.1109/TASE.2019.00-12","url":null,"abstract":"Formal modeling and verification of component connectors in complex software systems are getting more interests with recent advancements and evolution in modern software techniques. Various properties of connectors can be specified as high-order logic propositions and verified using theorem proving techniques. However, most high-order logic provers still highly rely on human interactions and thus make the proving process difficult and time-consuming. In this paper, we propose an approach based on recurrent neural networks (RNNs) to predict the correct tactics in the proving process. Recurrent layers consisting of Long-Short-Term-Memory (LSTM) units provide a better correctness rate comparing with simple RNN units. Under this framework, properties of connectors can be naturally formalized and semi-automatically proved in Coq.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"100 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122881155","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
Verifying the Relationship Among Three Descriptions in Problem Frames Using CSP 用CSP验证问题框架中三个描述之间的关系
Xiaohong Chen, Xi Wu, Mengyao Zhao, Haiying Sun
In requirements engineering (RE), there are three essential descriptions, i.e., requirements, specification and domain properties. Their relationship is proposed by Jackson et al, and verified in various requirements approaches. However, at present, there is no formal verification for the relationship in the Problem Frames (PF) which is a well known approach in the RE. Our previous work based on the PF explicitly captures the three descriptions. Based on that work, this paper further formalizes the three descriptions using Communicating Sequential Process (CSP), transforms the relationship into two "refines", and verifies them with Process Analysis Tool (PAT). The verification ensures that the machine which behaves as in the specification installed in a specific domain will satisfy the requirements.
在需求工程(RE)中,有三个基本的描述,即需求、规范和领域属性。它们的关系由Jackson等人提出,并在各种需求方法中得到验证。然而,目前,在问题框架(PF)中还没有对这种关系进行正式的验证,这是RE中众所周知的方法。我们之前基于PF的工作明确地捕获了这三种描述。在此基础上,本文利用通信顺序过程(CSP)进一步形式化了这三种描述,将它们的关系转化为两个“细化”,并用过程分析工具(PAT)对它们进行了验证。验证确保安装在特定域中的机器的行为符合规范将满足要求。
{"title":"Verifying the Relationship Among Three Descriptions in Problem Frames Using CSP","authors":"Xiaohong Chen, Xi Wu, Mengyao Zhao, Haiying Sun","doi":"10.1109/TASE.2019.00010","DOIUrl":"https://doi.org/10.1109/TASE.2019.00010","url":null,"abstract":"In requirements engineering (RE), there are three essential descriptions, i.e., requirements, specification and domain properties. Their relationship is proposed by Jackson et al, and verified in various requirements approaches. However, at present, there is no formal verification for the relationship in the Problem Frames (PF) which is a well known approach in the RE. Our previous work based on the PF explicitly captures the three descriptions. Based on that work, this paper further formalizes the three descriptions using Communicating Sequential Process (CSP), transforms the relationship into two \"refines\", and verifies them with Process Analysis Tool (PAT). The verification ensures that the machine which behaves as in the specification installed in a specific domain will satisfy the requirements.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"34 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117097061","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
期刊
2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)
全部 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学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1