{"title":"HARRD: Real-time Software Rejuvenation Decision Based on Hierarchical Analysis under Weibull Distribution","authors":"Sihang Wang, Jing Liu","doi":"10.1109/QRS51102.2020.00023","DOIUrl":"https://doi.org/10.1109/QRS51102.2020.00023","url":null,"abstract":"Software rejuvenation are developed to mitigate serious consequences caused by software aging mainly through restarting software systems. As such restart actions will temporarily stop the software service, how to select the restart time precisely becomes the core research issue. Current main-stream machine learning based software rejuvenation methods predict the trend of resource usage of hardware parameters to determine the restart time. However the actual aging status in many software systems are not strongly related to the resource usage of hardware parameters, it is not rigorous to define the aging status with single hardware parameters. In this paper, we propose a novel real-time software rejuvenation decision method, named HARRD, where classic Weibull distribution in the field of reliability analysis is well utilized to simulate and model the state transition process of software aging. Then, based on this model with real-time resource usage of hardware monitoring parameters, and together integrating three model indicators, we construct the rejuvenation decision function using the analytic hierarchy process(AHP) to weight above parameters, which could finally be used as the rejuvenation decision basis for aging software systems. Our rejuvenation decision method could balance the unpredictable factors in software aging process by using accurate simulation models, and consider more indicators for rejuvenation time decision. The experimental results show that the software system based on our proposed method could achieve better software rejuvenation effects in terms of time consumption performance, average task processing speed and system stability.","PeriodicalId":301814,"journal":{"name":"2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS)","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134496974","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":"Semantic Code Clone Detection Via Event Embedding Tree and GAT Network","authors":"Bingzhuo Li, Chunyang Ye, Shouyang Guan, Hui Zhou","doi":"10.1109/QRS51102.2020.00057","DOIUrl":"https://doi.org/10.1109/QRS51102.2020.00057","url":null,"abstract":"Semantic code clone detection is an important yet challenging task in software engineering. Traditional methods rely on expert experience and cannot automatically determine which features are better for semantic code clone detection. Moreover, the program dynamics (e.g., the execution characteristics and execution order of statements) are not considered in these methods. As a result, this limits their ability to detect semantic clones. To address this issue, we propose a code clone detection method based on event embedding tree and Graph Attention Network. Our method uses a program control flow graph to capture the execution characteristics of each statement and extract the context relationship of different statements in the control flow. Based on such information, our method can calculate the functional similarity of two pieces of code, thereby identifying semantically similar code fragments. Experimental results show that our method is superior to state-of-the-art open source methods for Type-3 (syntactic) / Type-4 (semantic) clone detection.","PeriodicalId":301814,"journal":{"name":"2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS)","volume":"80 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115279376","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}
A. Bertolino, Antonello Calabrò, G. D. Angelis, F. Gortázar, F. Lonetti, Michel Maes-Bermejo, Guiomar Tuñón de Hita
{"title":"Quality-of-Experience driven configuration of WebRTC services through automated testing","authors":"A. Bertolino, Antonello Calabrò, G. D. Angelis, F. Gortázar, F. Lonetti, Michel Maes-Bermejo, Guiomar Tuñón de Hita","doi":"10.1109/QRS51102.2020.00031","DOIUrl":"https://doi.org/10.1109/QRS51102.2020.00031","url":null,"abstract":"Quality of Experience (QoE) refers to the end users level of satisfaction with a real-time service, in particular in relation to its audio and video quality. Advances in WebRTC technology have favored the spread of multimedia services through use of any browser. Provision of adequate QoE in such services is of paramount importance. The assessment of QoE is costly and can be done only late in the service lifecycle. In this work we propose a simple approach for QoE-driven non-functional testing of WebRTC services that relies on the ElasTest open-source platform for end-to-end testing of large complex systems. We describe the ElasTest platform, the proposed approach and an experimental study. In this study, we compared qualitatively and quantitatively the effort required in the ElasTest supported scenario with respect to a \"traditional\" solution, showing great savings in terms of effort and time.","PeriodicalId":301814,"journal":{"name":"2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS)","volume":"73 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127243909","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}
Lukás Korencik, Petr Ročkai, Henrich Lauko, J. Barnat
{"title":"On Symbolic Execution of Decompiled Programs","authors":"Lukás Korencik, Petr Ročkai, Henrich Lauko, J. Barnat","doi":"10.1109/QRS51102.2020.00044","DOIUrl":"https://doi.org/10.1109/QRS51102.2020.00044","url":null,"abstract":"In this paper, we present a combination of existing and new tools that together make it possible to apply formal verification methods to programs in the form of x86_64 machine code. Our approach first uses a decompilation tool (remill) to extract low-level intermediate representation (LLVM) from the machine code. This step consists of instruction translation (i.e. recovery of operation semantics), control flow extraction and address identification.The main contribution of this paper is the second step, which builds on data flow analysis and refinement of indirect (i.e. data-dependent) control flow. This step makes the processed bitcode much more amenable to formal analysis.To demonstrate the viability of our approach, we have compiled a set of benchmark programs into native executables and analysed them using two LLVM-based tools: DIVINE, a software model checker and KLEE, a symbolic execution engine. We have compared the outcomes to direct analysis of the same programs.","PeriodicalId":301814,"journal":{"name":"2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS)","volume":"120 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123759894","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}
M. Anwar, Isabelle Guillot, David Boulanger, Panagiotis Nikitopoulos, Jason Bernard, Stylianos Sergis, Darin Hobbs, Aditi Kothiyal, Naomi Wixon, J. Zaletelj, Michael Procter, Cecilia Giuffra
{"title":"List of Additional Reviewers","authors":"M. Anwar, Isabelle Guillot, David Boulanger, Panagiotis Nikitopoulos, Jason Bernard, Stylianos Sergis, Darin Hobbs, Aditi Kothiyal, Naomi Wixon, J. Zaletelj, Michael Procter, Cecilia Giuffra","doi":"10.1109/qrs51102.2020.00010","DOIUrl":"https://doi.org/10.1109/qrs51102.2020.00010","url":null,"abstract":"Hamid Abachi Ahmed Abutaleb Moataz A. Ahmed Masaki Aida Wasfi Al Rajeer Alur Grenville Armitage Tulin Atmaca M. Austin Sujata Banerjee Brahim Bensaou Michael S. Borella Legnad L. Burge III K. Calvert Serban Catrava E. Chan Shiu C. Chan Tai-sheng Chang Zafar Chaudhuy Calvin Chen Xiaoqiang Chen Yilong K. Chen Shun Yan Cheung Yi-Wei Chiao Fabio Chiussi Abhijit K. Choudhury C. Henry Chu Jorge A. Cobb Bin Cong Robert Cooper Phil County Hakan Delic A. Delis Barbara Denny Christos Douligeris Sudheer Duaramiota Verna Friesen J. J. Garcia Michel Gardie Kouichi Genda Evaggelos Geraniotis Arif Ghafoor S. Ghosh Li Gong Yu Gong Ching-Chih Han Andrew A. Hanish Ying Hao Janelle Harms Gerard Hebuterne Duke P. Hone Chao-Ju Jennifer Hou Deh-phone Hsing Herman D. Hughes Mohammad Ilyas Doug Jacobson Shengming Jiang Jing Jing Jiher Ju Y. Eric Juan Dinesh Kadamuddi Latha Kant Bhumip Khasnabish Jaime Bae Kim Elin Klaseen A. Konheim Aric B. Lambert Quang LeViet Gang-So0 Lee Jin-Woong Lee Kuo-chun Lee Whay C. Lee Yen-Jen Lee Will E. Leland Benjamin J. Leon John Leshchuk Kin K. Leung Pierre Levis Chung-Sheng Li Jorg Liebeherr F. Joe Lin George Lin T.Y. Lin Hong Liu J.C. Liu Zhao Liu Steven Low Wei-hsia Ma Imad Mahgoub Tracy Bradley Maples","PeriodicalId":301814,"journal":{"name":"2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS)","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134133128","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}
Zijie Li, Long Zhang, Jun Yan, Jian Zhang, Zhenyu Zhang, T. Tse
{"title":"PEACEPACT: Prioritizing Examples to Accelerate Perturbation-Based Adversary Generation for DNN Classification Testing","authors":"Zijie Li, Long Zhang, Jun Yan, Jian Zhang, Zhenyu Zhang, T. Tse","doi":"10.1109/QRS51102.2020.00059","DOIUrl":"https://doi.org/10.1109/QRS51102.2020.00059","url":null,"abstract":"Deep neural networks (DNNs) have been widely used in classification tasks. Studies have shown that DNNs may be fooled by artificial examples known as adversaries. A common technique for testing the robustness of a classification is to apply perturbations (such as random noise) to existing examples and try many of them iteratively, but it is very tedious and time-consuming. In this paper, we propose a technique to select adversaries more effectively. We study the vulnerability of examples by exploiting their class distinguishability. In this way, we can evaluate the probability of generating adversaries from each example, and prioritize all the examples accordingly. We have conducted an empirical study using a classic DNN model on four common datasets. The results reveal that the vulnerability of examples has a strong relationship with distinguishability. The effectiveness of our technique is demonstrated through 98.90 to 99.68% improvements in the F-measure.","PeriodicalId":301814,"journal":{"name":"2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS)","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133508694","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}
Ryujiro Nishinaka, Naoyasu Ubayashi, Yasutaka Kamei, Ryosuke Sato
{"title":"How Fast and Effectively Can Code Change History Enrich Stack Overflow?","authors":"Ryujiro Nishinaka, Naoyasu Ubayashi, Yasutaka Kamei, Ryosuke Sato","doi":"10.1109/QRS51102.2020.00066","DOIUrl":"https://doi.org/10.1109/QRS51102.2020.00066","url":null,"abstract":"Stack Overflow (SO) is one of the most popular Q&A sites for not only providing valuable information to software developers but also encouraging the sharing of knowledge and problem solving. Unfortunately, the information provided by SO is not always sufficient for developers. In this paper, we empirically show how fast and effectively historical code changes can substitute for missing or unanswered SO articles. Developers in all around the world encounter many problems daily and their trial-and-error experiences to resolve the problems are accumulated in the code change history. The extracted source code differences are expected to provide valuable information to developers before the questions and answers are posted on SO. In our study, we focus on the usage of APIs as the topic of SO articles, because many developers are interested in API programming and suffer from the problems related to API usage. We extracted 4,780 code differences from 713 repositories of Android applications (F-Droid). As a result, we found that 64% of SO articles on Android APIs are related to code differences, whereas 44% of code differences are related to SO articles. Not a few code differences appear before the corresponding SO articles are actually posted. The median of time lag between the first appearance of code changes and the first actual SO postings is 22 months.","PeriodicalId":301814,"journal":{"name":"2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS)","volume":"41 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116655835","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":"Comprehensive Robustness Evaluation of File Systems with Model Checking","authors":"Jingcheng Yuan, Toshiaki Aoki, Xiaoyun Guo","doi":"10.1109/QRS51102.2020.00025","DOIUrl":"https://doi.org/10.1109/QRS51102.2020.00025","url":null,"abstract":"File systems are used to organize data on storage devices. The file systems may crash due to external failures, such as an unexpected power outage. Therefore, the robustness of the file system is essential. Although some existing works evaluated the robustness of file systems, they are not comprehensive enough and cost many resources. In this work, we design a file system model and verify properties related to the correctness of the file using the SPIN model checker. The robustness of the file system has been comprehensively evaluated in both single-thread and multi-thread modes. There is a critical error in the file system. By analyzing counterexamples given by model checking, we propose a mechanism to prevent it. Based on the mechanism, the robustness of the file system is effectively improved.","PeriodicalId":301814,"journal":{"name":"2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS)","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121759528","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":"Practical Automatic Lightweight Nondeterminism and Flaky Test Detection and Debugging for Python","authors":"Alex Groce, J. Holmes","doi":"10.1109/QRS51102.2020.00035","DOIUrl":"https://doi.org/10.1109/QRS51102.2020.00035","url":null,"abstract":"A critically important, but surprisingly neglected, aspect of system reliability is system predictability. Many soft-ware systems are implemented using mechanisms (unsafe languages, concurrency, caching, stochastic algorithms, environmental dependencies) that can introduce unexpected and unwanted behavioral nondeterminism. Such nondeterministic behavior can result in software bugs and flaky tests as well as causing problems for test reduction, differential testing, and automated regression test generation. We show that lightweight techniques, requiring little effort on the part of developers, can extend an existing testing system to allow detection and debugging of nondeterminism. We show how to make delta-debugging effective for probabilistic faults in general, and that our methods can improve mutation score by 6% for a strong, full differential test harness for a widely used mock file system.","PeriodicalId":301814,"journal":{"name":"2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS)","volume":"96 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"120842547","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}
Besma Khaireddine, Aleksandr Zakharchenko, A. Mili
{"title":"A Semantic Definition of Faults and Its Implications","authors":"Besma Khaireddine, Aleksandr Zakharchenko, A. Mili","doi":"10.1109/QRS51102.2020.00015","DOIUrl":"https://doi.org/10.1109/QRS51102.2020.00015","url":null,"abstract":"Given that faults are the focus of much software quality assurance (fault avoidance, fault removal, fault tolerance, fault prediction/ forecasting), we argue that a formal definition of faults ought to help us enhance the state of the art in this field. In this paper we consider a formal semantic definition of faults, and explore the insights that this definition gives us, and how these insights can be used in practice. Some of these insights are counter-intuitive, which makes them all the more interesting/useful.","PeriodicalId":301814,"journal":{"name":"2020 IEEE 20th International Conference on Software Quality, Reliability and Security (QRS)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121410789","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}