With the embedded system showing a trend of network development, and gradually formed a Cyber-physical systems. How to ensure the safety and reliability of the Cyber-physical systems is a hot research topic in the present study. Full-digital co-simulation technology is an important means of verify the safety and reliability of embedded system, Cooperative communication is one of the key models of full-digital co-simulation system. Its network structure may affect simulation results and performance of system directly. Peer-to-Peer (P2P) network, a networking pattern developed rapidly in recent years, boasts unique advantages in coordinated working, P2P computing, resource sharing, etc. The paper studies the architecture of P2P network, proposes a P2P-based full digital co-simulation and verification system, focuses on the issuance/subscription mechanism of software bus, recommended strategy for timing simulation and activity detection mechanism of simulation node in the system, and designs experiments for analyzing the real-time simulation of the system.
{"title":"P2P-Based Full Digital Co-simulation and Verification System Design","authors":"Fei Deng, Feng Gao","doi":"10.1109/QRS-C.2016.34","DOIUrl":"https://doi.org/10.1109/QRS-C.2016.34","url":null,"abstract":"With the embedded system showing a trend of network development, and gradually formed a Cyber-physical systems. How to ensure the safety and reliability of the Cyber-physical systems is a hot research topic in the present study. Full-digital co-simulation technology is an important means of verify the safety and reliability of embedded system, Cooperative communication is one of the key models of full-digital co-simulation system. Its network structure may affect simulation results and performance of system directly. Peer-to-Peer (P2P) network, a networking pattern developed rapidly in recent years, boasts unique advantages in coordinated working, P2P computing, resource sharing, etc. The paper studies the architecture of P2P network, proposes a P2P-based full digital co-simulation and verification system, focuses on the issuance/subscription mechanism of software bus, recommended strategy for timing simulation and activity detection mechanism of simulation node in the system, and designs experiments for analyzing the real-time simulation of the system.","PeriodicalId":426575,"journal":{"name":"QRS Companion","volume":"139 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114414349","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}
Jinshuo Liu, Yusen Chen, Lanxin Zhang, Juan Deng, Weixin Zhang
The embedded software quality is one of the hottest research aspects with the wide use of the daily embedded devices. This paper proposes a method of evaluating the embedded software quality without high-level language. Firstly, we reverse the binary code into high-level language C. Secondly, the control flow and data flow analysis are utilized to analyze the structure faults of the codes. Thirdly, we create the utilization-oriented fault models and plug in the improved CppCheck tool to chase the specified faults. Fourthly, we propose a software reliability evaluation algorithm based on trigger rate of fault to assess the quality of the embedded software. Our method is evaluated on ST chips of the smart meter, with the corresponding source code. Compared with G-O model, our software reliability evaluation method is useful and simpler.
{"title":"The Evaluation of the Embedded Software Quality Based on the Binary Code","authors":"Jinshuo Liu, Yusen Chen, Lanxin Zhang, Juan Deng, Weixin Zhang","doi":"10.1109/QRS-C.2016.26","DOIUrl":"https://doi.org/10.1109/QRS-C.2016.26","url":null,"abstract":"The embedded software quality is one of the hottest research aspects with the wide use of the daily embedded devices. This paper proposes a method of evaluating the embedded software quality without high-level language. Firstly, we reverse the binary code into high-level language C. Secondly, the control flow and data flow analysis are utilized to analyze the structure faults of the codes. Thirdly, we create the utilization-oriented fault models and plug in the improved CppCheck tool to chase the specified faults. Fourthly, we propose a software reliability evaluation algorithm based on trigger rate of fault to assess the quality of the embedded software. Our method is evaluated on ST chips of the smart meter, with the corresponding source code. Compared with G-O model, our software reliability evaluation method is useful and simpler.","PeriodicalId":426575,"journal":{"name":"QRS Companion","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-08-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123856697","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}
Test oracles have become a welcoming approach as a very efficient support for testing any type of application. Since oracle's generation can be a very laborious work, several techniques have been studied in order to perform an automatic or semi-automatic generation. However, the construction of an automated test oracle is not a trivial task, especially in terms of the inference of verdicts and detecting defects. Therefore, this research proposes a strategy to construct an automated test oracle based only on a model generated from reverse engineering, and to detect defects by a combination of static and dynamic source code analysis with a minimum manual labor from testers. We have applied our methodology to some interesting case studies and compared with other tools in order to show usefulness of our approach.
{"title":"On Proposing a Test Oracle Generator Based on Static and Dynamic Source Code Analysis","authors":"A. Arantes, V. A. S. Júnior, N. Vijaykumar","doi":"10.1109/QRS-C.2015.29","DOIUrl":"https://doi.org/10.1109/QRS-C.2015.29","url":null,"abstract":"Test oracles have become a welcoming approach as a very efficient support for testing any type of application. Since oracle's generation can be a very laborious work, several techniques have been studied in order to perform an automatic or semi-automatic generation. However, the construction of an automated test oracle is not a trivial task, especially in terms of the inference of verdicts and detecting defects. Therefore, this research proposes a strategy to construct an automated test oracle based only on a model generated from reverse engineering, and to detect defects by a combination of static and dynamic source code analysis with a minimum manual labor from testers. We have applied our methodology to some interesting case studies and compared with other tools in order to show usefulness of our approach.","PeriodicalId":426575,"journal":{"name":"QRS Companion","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-08-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123939645","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}
the consistency problem can be solved by running the Raft consensus algorithm in a distributed cluster, but the re-election of the leader may cause the cluster to be unavailable. Therefore, the leadership transfer function is increased to the Raft algorithm to prevent the cluster unavailable because of the leader being shut down or removed from the cluster and so on. To cope with such situation, the leadership transfer function is formally specified with the TLA+ language and verified with the TLC Model Checker to prove its correctness. And then the codes of the leadership transfer implemented in OpenDaylight are analyzed. In the end, the measured time of reelection and time of leadership transfer proves that the availability of the cluster is heightened when the Leader is asked to shut down.
{"title":"Using TLA+ to Specify Leader Election of Raft Algorithm with Consideration of Leadership Transfer in Multiple Controllers","authors":"Yuanyuan Gao, Hua Li, Yuanping Li, Bowei Liu, Xianrong Wang, H. Ruan","doi":"10.1109/QRS-C.2019.00051","DOIUrl":"https://doi.org/10.1109/QRS-C.2019.00051","url":null,"abstract":"the consistency problem can be solved by running the Raft consensus algorithm in a distributed cluster, but the re-election of the leader may cause the cluster to be unavailable. Therefore, the leadership transfer function is increased to the Raft algorithm to prevent the cluster unavailable because of the leader being shut down or removed from the cluster and so on. To cope with such situation, the leadership transfer function is formally specified with the TLA+ language and verified with the TLC Model Checker to prove its correctness. And then the codes of the leadership transfer implemented in OpenDaylight are analyzed. In the end, the measured time of reelection and time of leadership transfer proves that the availability of the cluster is heightened when the Leader is asked to shut down.","PeriodicalId":426575,"journal":{"name":"QRS Companion","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127454258","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}
Pub Date : 1900-01-01DOI: 10.1109/QRS-C.2018.00116
Yuankai Gao, Xiaogang Li, L. Niu
Highly accelerated life test has been widely used to improve the quality and reliability of electronic products. However, highly accelerated life test can only qualitatively evaluate reliability of product and can't quantitatively obtain product's reliability. Therefore, in order to improve product's reliability in a short period of time while effectively evaluating the level of product's reliability. This paper addresses the problem of highly accelerated life tests that can't be quantitatively evaluated, applying an evaluation method of the accelerated reliability growth test to highly accelerated life test.
{"title":"Highly Accelerated Life Test Evaluation Based on Accelerated Growth Model","authors":"Yuankai Gao, Xiaogang Li, L. Niu","doi":"10.1109/QRS-C.2018.00116","DOIUrl":"https://doi.org/10.1109/QRS-C.2018.00116","url":null,"abstract":"Highly accelerated life test has been widely used to improve the quality and reliability of electronic products. However, highly accelerated life test can only qualitatively evaluate reliability of product and can't quantitatively obtain product's reliability. Therefore, in order to improve product's reliability in a short period of time while effectively evaluating the level of product's reliability. This paper addresses the problem of highly accelerated life tests that can't be quantitatively evaluated, applying an evaluation method of the accelerated reliability growth test to highly accelerated life test.","PeriodicalId":426575,"journal":{"name":"QRS Companion","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114659792","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}
UML is one of the most widely used modeling languages for software development. It provides unique metamodels to describe systems in the form of graphics, which makes the whole modeling process visual and easy to handle. However, UML is a semi-formal language. The lack of precise semantics may lead to difficulties in automatic model verification. To address this problem, a general idea is to transform UML models to formal models. Event-B is a formal language with precise semantics and rigorous verification. Current research work has showed the feasibility of transformation from UML to Event-B, and some transformation approaches of class diagrams and state machine diagrams have already been proposed. In this paper, a transformation approach from UML activity diagrams to Event-B models is presented, including the basic mapping relation and transformation of two types of activity flow.
{"title":"Towards Transformation from UML to Event-B","authors":"Siyuan Hu, Hong Zhang","doi":"10.1109/QRS-C.2015.39","DOIUrl":"https://doi.org/10.1109/QRS-C.2015.39","url":null,"abstract":"UML is one of the most widely used modeling languages for software development. It provides unique metamodels to describe systems in the form of graphics, which makes the whole modeling process visual and easy to handle. However, UML is a semi-formal language. The lack of precise semantics may lead to difficulties in automatic model verification. To address this problem, a general idea is to transform UML models to formal models. Event-B is a formal language with precise semantics and rigorous verification. Current research work has showed the feasibility of transformation from UML to Event-B, and some transformation approaches of class diagrams and state machine diagrams have already been proposed. In this paper, a transformation approach from UML activity diagrams to Event-B models is presented, including the basic mapping relation and transformation of two types of activity flow.","PeriodicalId":426575,"journal":{"name":"QRS Companion","volume":"88 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116268098","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}
Critical nodes of software systems are the nodes with the ability to transmit fault rapidly in the whole system. As a result, they have a significant impact on software reliability. To evaluate and identify the critical nodes, previous research focused on the static structure of software network which is inadequate since dynamic information affects the evaluation result as well. We propose a comprehensive method combining both static and dynamic information to evaluate critical nodes in our work. Static information consists of parameters measuring software structure. The importance of one node differs in different structures. In our evaluation model, we choose betweenness centrality to measure static structure because it can describe the importance of one node in static topological structure in complex network theory. For dynamic information, we focus on the execution frequency in specific software operation profile and user related operation. Combining the static and dynamic evaluating results, the comprehensive model is obtained. Using this evaluation model, we can obtain the critical nodes for one software system corresponding to different service states which indicate some sets of operating states. Protection strategy can be applied to these nodes pertinently to achieve efficient system reliability improvement.
{"title":"Critical Nodes Evaluation in Large-Scale Software Based on Static Structure and Runtime Information","authors":"Qian Ye, Minyan Lu, Luyi Li","doi":"10.1109/QRS-C.2015.38","DOIUrl":"https://doi.org/10.1109/QRS-C.2015.38","url":null,"abstract":"Critical nodes of software systems are the nodes with the ability to transmit fault rapidly in the whole system. As a result, they have a significant impact on software reliability. To evaluate and identify the critical nodes, previous research focused on the static structure of software network which is inadequate since dynamic information affects the evaluation result as well. We propose a comprehensive method combining both static and dynamic information to evaluate critical nodes in our work. Static information consists of parameters measuring software structure. The importance of one node differs in different structures. In our evaluation model, we choose betweenness centrality to measure static structure because it can describe the importance of one node in static topological structure in complex network theory. For dynamic information, we focus on the execution frequency in specific software operation profile and user related operation. Combining the static and dynamic evaluating results, the comprehensive model is obtained. Using this evaluation model, we can obtain the critical nodes for one software system corresponding to different service states which indicate some sets of operating states. Protection strategy can be applied to these nodes pertinently to achieve efficient system reliability improvement.","PeriodicalId":426575,"journal":{"name":"QRS Companion","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124365716","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}
With the development of software reliability research and machine learning, many machine learning models have been used in software reliability prediction. A long short term memory network (LSTM) modeling approach for software reliability prediction is proposed. Profit from its particular data flow control structure, the model overcomes the vanishing and exploding sensitivity of simple recursive neural network for software reliability prediction. Proposed approach also combines with layer normalization and truncate back propagation. To some extent, these two methods promote the effect of the proposed model. Compared with the simple recursive neural network, numerical results show that our proposed approach has a better performance and robustness with respect to software reliability prediction.
{"title":"A Software Reliability Prediction Model: Using Improved Long Short Term Memory Network","authors":"Yangzhen Fu, Hong Zhang, Chenchen Zeng, Chao Feng","doi":"10.1109/QRS-C.2017.115","DOIUrl":"https://doi.org/10.1109/QRS-C.2017.115","url":null,"abstract":"With the development of software reliability research and machine learning, many machine learning models have been used in software reliability prediction. A long short term memory network (LSTM) modeling approach for software reliability prediction is proposed. Profit from its particular data flow control structure, the model overcomes the vanishing and exploding sensitivity of simple recursive neural network for software reliability prediction. Proposed approach also combines with layer normalization and truncate back propagation. To some extent, these two methods promote the effect of the proposed model. Compared with the simple recursive neural network, numerical results show that our proposed approach has a better performance and robustness with respect to software reliability prediction.","PeriodicalId":426575,"journal":{"name":"QRS Companion","volume":"11 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131441695","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}
Multi-faults contained in a program can manifest themselves as unexpected failure behaviors. Understanding the failure behaviors of multiple faults is essential for enhancing strategies of program debugging, software fault detection and software maintenance. This paper presents an empirical study of the failure behaviors of multi-faults for four industrial software systems. These four software systems contain a total of 128 software faults, which are identified by 3111 test cases. Our observations show that: 1) independent assumption holds true in most cases; 2) less than 3 faults in multi-faults programs are concurrently trigged by one test case; 3) the failure behaviors of multi-faults can mainly be accounted by dominant faults; 4) the interactions of the dominant faults and recessive faults can cause unexpected behaviors of the system.
{"title":"The Failure Behaviors of Multi-Faults Programs: An Empirical Study","authors":"Xiaobo Yan, Bin Liu, Jianxing Li","doi":"10.1109/QRS-C.2017.11","DOIUrl":"https://doi.org/10.1109/QRS-C.2017.11","url":null,"abstract":"Multi-faults contained in a program can manifest themselves as unexpected failure behaviors. Understanding the failure behaviors of multiple faults is essential for enhancing strategies of program debugging, software fault detection and software maintenance. This paper presents an empirical study of the failure behaviors of multi-faults for four industrial software systems. These four software systems contain a total of 128 software faults, which are identified by 3111 test cases. Our observations show that: 1) independent assumption holds true in most cases; 2) less than 3 faults in multi-faults programs are concurrently trigged by one test case; 3) the failure behaviors of multi-faults can mainly be accounted by dominant faults; 4) the interactions of the dominant faults and recessive faults can cause unexpected behaviors of the system.","PeriodicalId":426575,"journal":{"name":"QRS Companion","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115051936","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}
Pub Date : 1900-01-01DOI: 10.1109/QRS-C.2018.00037
Kan Luo, Wei Yu, M. A. Hafiz, Siyuan Wang, Linchao Gao, Kai Hu
Blockchain is a new technology for data sharing between untrusted peers. However, it does not work well with massive transactions. Besides, there are high barriers between heterogeneous blockchain systems. In this paper, we proposed an innovative component-based framework for exchanging information across arbitrary blockchain system called interactive multiple blockchain architecture. In our architecture, a dynamic network of multi-chain is created for inter-blockchain communication. We propose the inter-blockchain connection model for routing management and messages transferring. Additionally, our proposed protocols provide transactions with atomicity and consistency in crossing-chain scene. In the end, our experiment results based on a network of private multiple blockchain systems show that the throughput is increased by a number of chains parallel running.
{"title":"A Multiple Blockchains Architecture on Inter-Blockchain Communication","authors":"Kan Luo, Wei Yu, M. A. Hafiz, Siyuan Wang, Linchao Gao, Kai Hu","doi":"10.1109/QRS-C.2018.00037","DOIUrl":"https://doi.org/10.1109/QRS-C.2018.00037","url":null,"abstract":"Blockchain is a new technology for data sharing between untrusted peers. However, it does not work well with massive transactions. Besides, there are high barriers between heterogeneous blockchain systems. In this paper, we proposed an innovative component-based framework for exchanging information across arbitrary blockchain system called interactive multiple blockchain architecture. In our architecture, a dynamic network of multi-chain is created for inter-blockchain communication. We propose the inter-blockchain connection model for routing management and messages transferring. Additionally, our proposed protocols provide transactions with atomicity and consistency in crossing-chain scene. In the end, our experiment results based on a network of private multiple blockchain systems show that the throughput is increased by a number of chains parallel running.","PeriodicalId":426575,"journal":{"name":"QRS Companion","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"1900-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127626161","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}