{"title":"Modeling and Verifying the TTCAN Protocol Using Timed CSP","authors":"Qinwen Ran, Xi Wu, X. Li, Jianqi Shi, Jian Guo, Huibiao Zhu","doi":"10.1109/TASE.2014.8","DOIUrl":"https://doi.org/10.1109/TASE.2014.8","url":null,"abstract":"As one of the most practical protocols, Time-Triggered CAN protocol (TTCAN), which is time triggered to ensure the real-time capability required by embedded systems, has been widely used in the automotive electric system development. In this paper, we present a formal model of the TTCAN protocol using Timed Communicating Sequential Processes (Timed CSP). All the components in the protocol are abstracted as CSP processes, thus the basic transmission in TTCAN is converted into the communication between different CSP processes. Besides, an error handling model is also proposed to capture the exception in the protocol. Finally, we use model checker Process Analysis Toolkit (PAT) to verify whether we can achieve model caters for some properties, which are specified using Linear Temporal Logic (LTL) formulas. Based on the verification results, our TTCAN model turns out to match the specification.","PeriodicalId":371040,"journal":{"name":"2014 Theoretical Aspects of Software Engineering Conference","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125361832","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}
{"title":"Timed Automata Semantics of Spatial-Temporal Consistency Language STeC","authors":"Yuanrui Zhang, F. Mallet, Yixiang Chen","doi":"10.1109/TASE.2014.10","DOIUrl":"https://doi.org/10.1109/TASE.2014.10","url":null,"abstract":"Intelligent Transportation Systems (ITS) are a class of quickly evolving modern safety-critical embedded systems. Dealing with their growing complexity demands a high-level formal modeling language along with adequate verification techniques. STeC has recently been introduced as a process algebra that deals natively with both spatial and temporal properties. Even though STeC has the right expressive power, it does not provide a direct tooled support for verification. We propose to encode STeC specifications as Timed Automata to provide such a support and we illustrate our transformation strategy on a simple example.","PeriodicalId":371040,"journal":{"name":"2014 Theoretical Aspects of Software Engineering Conference","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133880503","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}
{"title":"Data Automata in Scala","authors":"K. Havelund","doi":"10.1109/TASE.2014.37","DOIUrl":"https://doi.org/10.1109/TASE.2014.37","url":null,"abstract":"The field of runtime verification has during the last decade seen a multitude of systems for monitoring event sequences (traces) emitted by a running system. The objective is to ensure correctness of a system by checking its execution traces against formal specifications representing requirements. A special challenge is data parameterized events, where monitors have to keep track of the combination of control states as well as data constraints, relating events and the data they carry across time points. This poses a challenge wrt. efficiency of monitors, as well as expressiveness of logics. Data automata is a form of automata where states are parameterized with data, supporting monitoring of data parameterized events. We describe the full details of a very simple API in the Scala programming language, an internal DSL (Domain-Specific Language), implementing data automata. The small implementation suggests a design pattern. Data automata allow transition conditions to refer to other states than the source state, and allow target states of transitions to be inlined, offering a temporal logic flavored notation. An embedding of a logic in a high-level language like Scala in addition allows monitors to be programmed using all of Scala's language constructs, offering the full flexibility of a programming language. The framework is demonstrated on an XML processing scenario previously addressed in related work.","PeriodicalId":371040,"journal":{"name":"2014 Theoretical Aspects of Software Engineering Conference","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114671793","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}
{"title":"Energy-Efficient Task Scheduling and Task Energy Consumption Analysis for Real-Time Embedded Systems","authors":"Yongqi Ge, Yunwei Dong, Hong-bing Zhao","doi":"10.1109/TASE.2014.30","DOIUrl":"https://doi.org/10.1109/TASE.2014.30","url":null,"abstract":"As the limitations of energy consumption for real-time embedded systems more strict, it has been difficult to ignore the context switch overhead for Fixed-Priority task with Preemption scheduling (FPP) in multitasking environment. This paper presents a Reducing Context Switches scheduling (RCSS) based on preemption thresholds scheduling for real-time embedded system to decrease system energy consumption. The WCRT model is improved based on considering context switch overhead. In addition, the tasks energy consumption is analyzed. The experimental results show that RCSS can reduce context switches about 9.051‰ and decrease energy consumption about 6.129‰ for given tasks compared to FPP.","PeriodicalId":371040,"journal":{"name":"2014 Theoretical Aspects of Software Engineering Conference","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129492403","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}
{"title":"Formal Verification of Interrupt Injection in a Hypervisor","authors":"Haozhong Zhang, Yu Guo","doi":"10.1109/TASE.2014.26","DOIUrl":"https://doi.org/10.1109/TASE.2014.26","url":null,"abstract":"Operating systems usually rely on external interrupts as notifications of various events, such as the completion of a DMA transfer and the coming of a time point. The loss of external interrupts may affect the correct execution of operating systems. In the virtualization environment, some interrupts accepted by the virtual CPU are injected by the hypervisor. The hypervisor is responsible to implement a reliable interrupt injection mechanism so as to avoid losing external interrupts in the virtual machine. In this paper, we apply the formal method to verify the interrupt injection implementation in a research hypervisor. First, we formally define a machine model with a more realistic x86 interrupt model than others used in the existing work. Our interrupt model defines the semantics of the interrupt shadow which has never been modeled before. It also defines the semantics of the interrupt injection mechanism provided by the x86 CPU virtualization extensions, such as Intel VMX and AMD SVM. Second, we formally define the safety property and reliability property of the interrupt injection mechanism on this interrupt model. Finally, we take the interrupt injection code in a research hypervisor as an example and verify that it satisfies above two properties.","PeriodicalId":371040,"journal":{"name":"2014 Theoretical Aspects of Software Engineering Conference","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116153352","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}
{"title":"An Improved Recursive Algorithm for Parity Games","authors":"Yao Liu, Zhenhua Duan, Cong Tian","doi":"10.1109/TASE.2014.24","DOIUrl":"https://doi.org/10.1109/TASE.2014.24","url":null,"abstract":"An improved recursive algorithm is presented in this paper for reducing the number of recursive calls in parity games. The improvement is two-fold: (1) A pre-processing algorithm is presented first to seek out and remove atomic winning regions which probably result in exponentially many recursive calls from a game graph, (2) a conditional statement is inserted before the second recursive call of the existing algorithm where in case the condition is satisfied, the result can be obtained directly without executing the second recursive call.","PeriodicalId":371040,"journal":{"name":"2014 Theoretical Aspects of Software Engineering Conference","volume":"15 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128343819","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}
{"title":"Parametrizing Program Analysis","authors":"Lunjin Lu","doi":"10.1109/TASE.2014.12","DOIUrl":"https://doi.org/10.1109/TASE.2014.12","url":null,"abstract":"A parametric analysis is an analysis whose input and output are parametrized with a number of parameters which can be instantiated to abstract properties after analysis is completed. We use Cousot and Cousot's Cardinal power domain to capture dependencies of analysis output on its input and present a method for obtaining parametric analyses from non-parametric base analyses. We apply the method to parametrize POS-based groundness dependency and set sharing analyses of logic programs. Experiments with a prototype analyzer shows that generality of the two resulting parametric analyses comes with a small extra cost.","PeriodicalId":371040,"journal":{"name":"2014 Theoretical Aspects of Software Engineering Conference","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116840163","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}
{"title":"Alleviating the Impact of Coincidental Correctness on the Effectiveness of SFL by Clustering Test Cases","authors":"W. Li, Xiaoguang Mao","doi":"10.1109/TASE.2014.16","DOIUrl":"https://doi.org/10.1109/TASE.2014.16","url":null,"abstract":"Spectrum-based fault localization techniques leverage coverage information to identify the faulty elements of the program via passed and failed runs. However, the effectiveness of these techniques can be affected adversely by coincidental correctness, which occurs when faulty elements are executed, but the program produces the correct output. This paper proposes a clustering-based strategy to improve the effectiveness of spectrum-based fault localization. The basis of this strategy is that test cases in the same cluster have similar behaviors. Our experimental results show that, the percentage of clusters that contain coincidentally correct test cases in clusters which do not contain failed test cases, is usually smaller than the percentage of coincidentally correct test cases in passed test cases. By clustering test cases and reconstructing the coverage matrix, our extensive experiments demonstrated that the fault-localization accuracy of Spectrum-based fault localization techniques can be effectively improved.","PeriodicalId":371040,"journal":{"name":"2014 Theoretical Aspects of Software Engineering Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115520616","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}
Abdeldjalil Boudjadar, Alexandre David, J. H. Kim, K. Larsen, Marius Mikucionis, Ulrik Nyman, A. Skou
{"title":"Degree of Schedulability of Mixed-Criticality Real-Time Systems with Probabilistic Sporadic Tasks","authors":"Abdeldjalil Boudjadar, Alexandre David, J. H. Kim, K. Larsen, Marius Mikucionis, Ulrik Nyman, A. Skou","doi":"10.1109/TASE.2014.27","DOIUrl":"https://doi.org/10.1109/TASE.2014.27","url":null,"abstract":"We present the concept of degree of schedulability for mixed-criticality scheduling systems. This concept is given in terms of the two factors 1) Percentage of Missed Deadlines (PoMD), and 2) Degradation of the Quality of Service (DoQoS). The novel aspect is that we consider task arrival patterns that follow user-defined continuous probability distributions. We determine the degree of schedulability of a single scheduling component which can contain both periodic and sporadic tasks using statistical model checking in the form of UPPAAL SMC. We support uniform, exponential, Gaussian and any user-defined probability distribution.","PeriodicalId":371040,"journal":{"name":"2014 Theoretical Aspects of Software Engineering Conference","volume":"422 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122452341","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}
Jianmin Jiang, Huibiao Zhu, Qin Li, Shi Zhang, Ping Gong, Zhong Hong
{"title":"Configuration of Services Based on Virtualization","authors":"Jianmin Jiang, Huibiao Zhu, Qin Li, Shi Zhang, Ping Gong, Zhong Hong","doi":"10.1109/TASE.2014.28","DOIUrl":"https://doi.org/10.1109/TASE.2014.28","url":null,"abstract":"Virtualization is fundamental to cloud computing. It allows abstraction centred on services and isolation of lower level functionalities and underlying hardware. Modeling, analyzing and verifying cloud systems necessarily involve virtualization and services. However, there exist few efforts to effectively formalizing virtualization in cloud computing. In this paper, based on services we present an approach for defining virtualization. We discuss some properties of service virtualization under some operations and the correctness of virtual services (virtual services without abnormal behavioral problems). Moreover, we investigate automatic configuration of a service based on virtualization, that is, given a virtualized service, how can we automatically obtain all possible correct virtual services of such a service? The configuration process is to first separate a virtualized service into atomic and correct virtual services and then merge these atomic virtual services into all possible correct virtual services of such a virtualized service. The obtained theoretical results help to formally analyze, verify and configure cloud systems.","PeriodicalId":371040,"journal":{"name":"2014 Theoretical Aspects of Software Engineering Conference","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123179957","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}