{"title":"Automated Test Generation for IEC 61131-3 ST Programs via Dynamic Symbolic Execution","authors":"Li Hao, Jianqi Shi, Ting Su, Yanhong Huang","doi":"10.1109/TASE.2019.00004","DOIUrl":"https://doi.org/10.1109/TASE.2019.00004","url":null,"abstract":"A programmable logic controller (PLC) is essentially a computer dedicated to industrial control which is widely used in the field of global automation control. However, PLC software bugs can result in economic losses and even personal safety issues. PLC software must be thoroughly tested regarding function, structure, safety, and other aspects to avoid accidents. Existing PLC tools are mainly based on the manual setting of input data, which is not only unable to be well automated but also cannot provide information about code coverage. This paper presents an automated test case generation approach for a Structured Text (ST) language to reduce the cost of testing, using dynamic symbolic execution. We apply this method to implement the coverage-based automated test case generation tool STAutoTester. We have evaluated STAutoTester on 21 programs. The experimental results show that STAutoTester can effectively handle these programs. For 11 ST programs, STAutoTester reduces, on average, 87.5% of generated test cases compared to SYMPLC.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"74 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":"132400657","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 Optimized Partial Rollback Co-simulation Approach for Heterogeneous FMUs","authors":"Dehui Du, Yao Wang, Yi Ao, Biao Chen","doi":"10.1109/TASE.2019.00013","DOIUrl":"https://doi.org/10.1109/TASE.2019.00013","url":null,"abstract":"Cyber-physical systems (CPS) are generally defined as systems with integrated physical components and computational components. To simulate heterogeneous components of CPS, the Functional Mock-up Interface (FMI) standard provides the co-simulation technology to generate simulation traces. It play significant roles in analyzing and verifying behaviors of CPS. However, the FMI-based co-simulation algorithm called Master Algorithm with Step Revision (SRMA) is inefficient in some common scenarios. To improve the efficiency of SRMA, we propose an optimized Partial Rollback Co-simulation approach, which decreases the number of the rollback operations effectively. The novelty of our approach has two aspects. First, the Key FMUs Extractor and the Input/Output dependencies classification rules are proposed. They help to determine the minimum set of FMUs which are used to rollback for correcting the simulation error. Second, an optimized Master Algorithm with Partial Step Revision (PSRMA) is also proposed. To implement our approach, we also propose an extension for the FMI standard to check whether an FMU implements the function of the threshold crossing detector. The formal definition of the Zero Crossing Detector (ZCD) is presented to guide the construction of ZCD FMUs and evaluate the simulation error of the whole system. To illustrate the feasibility of our approach, two case studies are also discussed.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"19 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":"116941097","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":"Android Malware Family Classification and Characterization Using CFG and DFG","authors":"Zhiwu Xu, Kerong Ren, Fu Song","doi":"10.1109/TASE.2019.00-20","DOIUrl":"https://doi.org/10.1109/TASE.2019.00-20","url":null,"abstract":"Android malware has become a serious threat for our daily life, and thus there is a pressing need to effectively mitigate or defend against them. Recently, many approaches and tools to analyze Android malware have been proposed to protect legitimate users from the threat. However, most approaches focus on malware detection, while only a few of them consider malware classification or malware characterization. In this paper, we propose an extension of CDGDroid to classifying and characterizing Android malware families automatically. We first perform static analysis used in CDGDroid to extract control-flow graphs and data-flow graphs on the instruction level. Then we encode the graphs into matrices, and use them to build the family classification models via deep learning. For family characterization, we extract the n-gram sequences from the graphs, which are filtered according to the weights of the classification model built for the target family. And then we construct a vector space model and select the top-k sequences as a characterization of the target family. We have conducted some experiments to evaluate our approach and have identified that the family classification model taking the horizontal combination of CFG and DFG as features offers the best performance in terms of accuracy among all the models. Compared with CDGDroid, Drebin and many antivirus tools gathered in VirusTotal, our family classification model gives a better performance. Finally, We have also conducted experiments on family characterization, and the experimental results have shown that our characterization can capture the malicious behaviors of the testing families.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"18 7 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":"134251905","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":"Distributed Mediator","authors":"Yi Li, Meng Sun","doi":"10.1109/TASE.2019.00-24","DOIUrl":"https://doi.org/10.1109/TASE.2019.00-24","url":null,"abstract":"Distributed systems have been widely used in various domains. However, the concurrent and asynchronous nature makes their safety and reliability hard to guarantee, especially in the design phase. In this paper, we extend Mediator and its semantics to capture the inherent real-time and asynchronous behavior in distributed systems. As a component-based language, Mediator provides a compositional modeling framework and corresponding precise formal semantics, making it able to reuse reliable components in different contexts.","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":"114240123","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":"Software Complexity Reduction by Automated Refactoring Schema","authors":"Siteng Cao, Yongxin Zhao, Ling Shi","doi":"10.1109/TASE.2019.00005","DOIUrl":"https://doi.org/10.1109/TASE.2019.00005","url":null,"abstract":"As the scale of software systems is growing rapidly, software complexity is becoming one of the main problems in software engineering. Higher complexity in software increases the potential risk and defects of software system, which makes it more difficult to analyze the correctness and improve the quality of software. In this paper, we present an automated refactoring schema to reduce the complexity of the component-based software. The main idea of our approach is to search a hierarchical software with a minimum hierarchical complexity and refactor the original software into it by reassembling several subcomponents into tightly coupled hierarchical ones. Besides, our approach can be easily adjusted to deal with some new situations, in which several types of constraints on partition of software components are given. Finally, we conduct a case study with Battery Management System (BMS) and the result demonstrates our approach can automatically and effectively reduce the structural complexity of software system.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"55 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":"123234566","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}
Junxiu Liu, Zhewei Liang, Yuling Luo, Jiadong Huang, Su Yang
{"title":"Hardware Tripartite Synapse Architecture based on Stochastic Computing","authors":"Junxiu Liu, Zhewei Liang, Yuling Luo, Jiadong Huang, Su Yang","doi":"10.1109/TASE.2019.00-16","DOIUrl":"https://doi.org/10.1109/TASE.2019.00-16","url":null,"abstract":"Research showed that the tripartite synapse has the capability of self-repairing in the spiking neural networks (SNNs), where the interactions between astrocyte, neuron and synapse underpin this mechanism. It has been used for the hardware electronic systems to enhance the fault-tolerant abilities, especially for the critical task applications. Due to the complex models of the tripartite synapse, its efficient hardware architecture and scalability are the research challenges. In this paper, an efficient hardware tripartite synapse architecture is proposed which is based on the Stochastic Computing (SC) technique. The SC is used to replace the conventional computing components such as DSPs in the hardware devices, and the extended stochastic logics are used to scale the data range during the calculation process. Results show that the proposed hardware architecture has the same output behaviours as the software simulations and has a low hardware resource consumption (with a reduction rate of >85% compared to state-of-the-art approach) which can maintain the system scalability for large SNNs.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"14 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":"114747168","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":"[Copyright notice]","authors":"","doi":"10.1109/tase.2019.00003","DOIUrl":"https://doi.org/10.1109/tase.2019.00003","url":null,"abstract":"","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":"122507552","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":"Towards Refinement Semantics of Real-Time Trigger-Response Properties in Event-B","authors":"Chenyang Zhu, M. Butler, C. Cîrstea","doi":"10.1109/TASE.2019.00-26","DOIUrl":"https://doi.org/10.1109/TASE.2019.00-26","url":null,"abstract":"Abstraction and refinement offer a stepwise development approach to managing complexity in system design. Based on our previous work that extends Event-B models with high level real-time trigger-response properties, this paper presents refinement semantics of timed systems using behavioral traces. Forward simulation, which is a proof technique for refinement, is used to verify the consistency between different refinement levels. To prove refinement of trace semantics, we construct intermediate traces from concrete traces with a mapping function and prove the intermediate trace without stuttering events and states are abstract traces. Fairness assumptions, relative deadlock freedom, and conditional convergence are adopted in refinement steps to eliminate Zeno behavior in timed models. Based on the semantics, we develop refinement rules and strategies to perform refinement on timed models and refine real-time trigger-response properties into sequential or alternative sub-timing properties with proofs.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"388 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":"122179794","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":"A Common Semantic Scoring Method for Chinese Subjective Questions","authors":"Xin-hua Zhu, Qingting Xu, Lanfang Zhang, Hanjun Deng, Hongchao Chen","doi":"10.1109/TASE.2019.00011","DOIUrl":"https://doi.org/10.1109/TASE.2019.00011","url":null,"abstract":"With the rapid development of computer technologies and artificial intelligence, intelligent tutoring system is increasingly applied to our daily lives. This paper proposes a common semantic scoring method for Chinese subjective questions based on dependencies, modifiers and HowNet. First, we use dependencies to construct question classification predicate formulas for determining the question type and getting the characteristic words in the question. Then, we use dependency chains to extract multiple sets of score points in the answer according to the question type, and to optimize the answer's score points according to the feature words in the question sentence. Finally, we use the common semantic dictionary HowNet to calculate the similarities between the score points that have the same dependencies respectively in the student answers and the standard answer, and to combine the modifiers in answer sentences for calculating the final score of the subjective question. Experimental results show that our proposed method has the advantages of rapidity, accuracy and efficiency, and surpasses many excellent subjective question scoring methods.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"14 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":"127879748","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":"ABAC Requirements Engineering for Database Applications","authors":"J. Longstaff, Mengda He","doi":"10.1109/TASE.2019.00-22","DOIUrl":"https://doi.org/10.1109/TASE.2019.00-22","url":null,"abstract":"We show how complex privacy requirements can be represented and processed by an extended model of Attribute Based Access Control (ABAC), working with a simple database applications pattern. During application model development, most likely based on UML (e.g. Use Case, Class Diagrams), the analyst and possibly the end user specifies ABAC permissions, and then verifies their effect by running queries on the target data. The ABAC model supports positive and negative permissions, \"break glass\" overrides of negative permissions, and message/alert generation. The permissions combining algorithms are based on relational database optimisation, and permissions processing is implemented by query modification, producing structurally-optimised queries in an SQL-like language; the queries can then be processed by many database and big data systems. The method and models have been implemented in a prototype Privacy Preferences Tool in collaboration with a large medical records development, and we discuss experiences with focus group evaluations of this tool.","PeriodicalId":183749,"journal":{"name":"2019 International Symposium on Theoretical Aspects of Software Engineering (TASE)","volume":"110 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":"127997709","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}