Pub Date : 2022-10-01DOI: 10.1109/ISSREW55968.2022.00048
Diaeddin Rimawi
Cyber-Physical System (CPS) represents systems that join both hardware and software components to perform real-time services. Maintaining the system's reliability is critical to the continuous delivery of these services. However, the CPS running environment is full of uncertainties and can easily lead to performance degradation. As a result, the need for a recovery technique is highly needed to achieve resilience in the system, with keeping in mind that this technique should be as green as possible. This early doctorate proposal, suggests a game theory solution to achieve resilience and green in CPS. Game theory has been known for its fast performance in decision-making, helping the system to choose what maximizes its payoffs. The proposed game model is described over a real-life collaborative artificial intelligence system (CAIS), that involves robots with humans to achieve a common goal. It shows how the expected results of the system will achieve the resilience of CAIS with minimized CO2 footprint.
{"title":"Green Resilience of Cyber-Physical Systems","authors":"Diaeddin Rimawi","doi":"10.1109/ISSREW55968.2022.00048","DOIUrl":"https://doi.org/10.1109/ISSREW55968.2022.00048","url":null,"abstract":"Cyber-Physical System (CPS) represents systems that join both hardware and software components to perform real-time services. Maintaining the system's reliability is critical to the continuous delivery of these services. However, the CPS running environment is full of uncertainties and can easily lead to performance degradation. As a result, the need for a recovery technique is highly needed to achieve resilience in the system, with keeping in mind that this technique should be as green as possible. This early doctorate proposal, suggests a game theory solution to achieve resilience and green in CPS. Game theory has been known for its fast performance in decision-making, helping the system to choose what maximizes its payoffs. The proposed game model is described over a real-life collaborative artificial intelligence system (CAIS), that involves robots with humans to achieve a common goal. It shows how the expected results of the system will achieve the resilience of CAIS with minimized CO2 footprint.","PeriodicalId":178302,"journal":{"name":"2022 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126051573","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 : 2022-10-01DOI: 10.1109/ISSREW55968.2022.00044
Haowei Quan, Jiawei Wang, Bo Li, Xiaoning Du, Kui Liu, Li Li
Understanding the evolution of library methods is essential for maintaining high-quality and reliable software systems as those libraries often evolve rapidly in order to meet new requirements such as adding new features, improving performance, or fixing vulnerabilities. Failing to incorporate this evolution may result in compatibility issues that may manifest themselves as runtime crashes, leading to a poor user experience. This is not uncommon for the most popular programming language, Python, for which our community has developed over 380,000 libraries. To help developers better understand their used libraries, we propose to the community a prototype tool called PyMevol to model Python libraries' APIs and their evolution. Specifically, given a Python library, PyMevol statically examines its code to extract APIs (including aliases introduced by Python's import-flow mechanism) from all its released versions to build a history-sensitive alias-aware API explorer tree, a tree structure that allows users to explore the biography of each API so as to quickly locate where and when a given API is introduced, changed, or removed. Our experimental results over five popular real-world Python libraries show that our approach is reliable in achieving its purpose (i.e., over 90 % of accuracy) and helpful in supporting further API-relevant analyses.
{"title":"Characterizing Python Method Evolution with PyMevol: An Essential Step Towards Enabling Reliable Software Systems","authors":"Haowei Quan, Jiawei Wang, Bo Li, Xiaoning Du, Kui Liu, Li Li","doi":"10.1109/ISSREW55968.2022.00044","DOIUrl":"https://doi.org/10.1109/ISSREW55968.2022.00044","url":null,"abstract":"Understanding the evolution of library methods is essential for maintaining high-quality and reliable software systems as those libraries often evolve rapidly in order to meet new requirements such as adding new features, improving performance, or fixing vulnerabilities. Failing to incorporate this evolution may result in compatibility issues that may manifest themselves as runtime crashes, leading to a poor user experience. This is not uncommon for the most popular programming language, Python, for which our community has developed over 380,000 libraries. To help developers better understand their used libraries, we propose to the community a prototype tool called PyMevol to model Python libraries' APIs and their evolution. Specifically, given a Python library, PyMevol statically examines its code to extract APIs (including aliases introduced by Python's import-flow mechanism) from all its released versions to build a history-sensitive alias-aware API explorer tree, a tree structure that allows users to explore the biography of each API so as to quickly locate where and when a given API is introduced, changed, or removed. Our experimental results over five popular real-world Python libraries show that our approach is reliable in achieving its purpose (i.e., over 90 % of accuracy) and helpful in supporting further API-relevant analyses.","PeriodicalId":178302,"journal":{"name":"2022 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130815943","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 : 2022-10-01DOI: 10.1109/ISSREW55968.2022.00056
M. Tang, T. H. Tse, Z. Zhou
Owing to big data, DBMS testing faces the oracle problem, that is, it is difficult to verify execution results against expected outcomes. Rigger and Su applied metamorphic testing to alleviate the challenge. We propose a disjoint-partitioning approach to extend their work. We have conducted an empirical case study on OceanBase, the DBMS associated with the world's fastest online transaction processing system. Even though Ocean- Base has been extensively tested and widely used in the industry, we have unveiled various hidden failures and crashes.
{"title":"A Disjoint-Partitioning Approach to Enhancing Metamorphic Testing of DBMS","authors":"M. Tang, T. H. Tse, Z. Zhou","doi":"10.1109/ISSREW55968.2022.00056","DOIUrl":"https://doi.org/10.1109/ISSREW55968.2022.00056","url":null,"abstract":"Owing to big data, DBMS testing faces the oracle problem, that is, it is difficult to verify execution results against expected outcomes. Rigger and Su applied metamorphic testing to alleviate the challenge. We propose a disjoint-partitioning approach to extend their work. We have conducted an empirical case study on OceanBase, the DBMS associated with the world's fastest online transaction processing system. Even though Ocean- Base has been extensively tested and widely used in the industry, we have unveiled various hidden failures and crashes.","PeriodicalId":178302,"journal":{"name":"2022 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130876010","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 : 2022-10-01DOI: 10.1109/ISSREW55968.2022.00064
Douglas Dias, F. Machida, E. Andrade
Blockchain platforms have gained popularity in recent years and integrated with other digital technologies like Internet of Things (IoT) and Artificial Intelligence (AI) for multiple-business purposes. Software aging is a common issue in many long-running software systems, but little has been experienced in the context of blockchain platforms. To narrow this gap, this work aims to characterize potential software aging issues in the Cardano blockchain platform that is considered the largest cryptocurrency adopting proof-of-stake. By performing statistical analysis on the measurement data of the Cardano blockchain deployed in two environments with different configurations, we found a symptom of software aging through memory degradation that was confirmed by the Mann-Kendall test. By analyzing the running processes, we identify the cardano-node (the main process of the platform) as the process possibly responsible for such degradation.
{"title":"Analysis of Software Aging in a Blockchain Platform","authors":"Douglas Dias, F. Machida, E. Andrade","doi":"10.1109/ISSREW55968.2022.00064","DOIUrl":"https://doi.org/10.1109/ISSREW55968.2022.00064","url":null,"abstract":"Blockchain platforms have gained popularity in recent years and integrated with other digital technologies like Internet of Things (IoT) and Artificial Intelligence (AI) for multiple-business purposes. Software aging is a common issue in many long-running software systems, but little has been experienced in the context of blockchain platforms. To narrow this gap, this work aims to characterize potential software aging issues in the Cardano blockchain platform that is considered the largest cryptocurrency adopting proof-of-stake. By performing statistical analysis on the measurement data of the Cardano blockchain deployed in two environments with different configurations, we found a symptom of software aging through memory degradation that was confirmed by the Mann-Kendall test. By analyzing the running processes, we identify the cardano-node (the main process of the platform) as the process possibly responsible for such degradation.","PeriodicalId":178302,"journal":{"name":"2022 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"80 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127017975","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 : 2022-10-01DOI: 10.1109/ISSREW55968.2022.00082
Junwei Zhou, Botian Lei, Huile Lang
Detecting the gene sequence of virus strains from patients and classifying them into specific strains are very important to provide effective treatment. However, there are significant barriers to sharing the virus strains' gene data in plaintext to the privacy concerns of the patients. Homomorphic encryption is a form of encryption that allows users to calculate encrypted data without decrypting it. Achieving highly accurate viral strain prediction while safeguarding user privacy is a challenge. We develop a secure multi-label virus strains classification method using the homomorphic encryption scheme. We first used the method of statistical genotype frequencies for preprocessing to reduce the gene dimension of viral strains. Second, we improved the TFHE library proposed by Chillotti et al. to accommodate the floating-point input of the neural network to make the homomorphic calculation result more accurate. Finally, we improve computational speed and reduce storage usage by a data packing method that packs multiple feature information into one ciphertext. We successfully calculated 2000 virus strains classification inference steps on 128-bit encrypted test data in 0.09 seconds, reaching an accuracy of 100 %.
{"title":"Homomorphic multi-label classification of virus strains","authors":"Junwei Zhou, Botian Lei, Huile Lang","doi":"10.1109/ISSREW55968.2022.00082","DOIUrl":"https://doi.org/10.1109/ISSREW55968.2022.00082","url":null,"abstract":"Detecting the gene sequence of virus strains from patients and classifying them into specific strains are very important to provide effective treatment. However, there are significant barriers to sharing the virus strains' gene data in plaintext to the privacy concerns of the patients. Homomorphic encryption is a form of encryption that allows users to calculate encrypted data without decrypting it. Achieving highly accurate viral strain prediction while safeguarding user privacy is a challenge. We develop a secure multi-label virus strains classification method using the homomorphic encryption scheme. We first used the method of statistical genotype frequencies for preprocessing to reduce the gene dimension of viral strains. Second, we improved the TFHE library proposed by Chillotti et al. to accommodate the floating-point input of the neural network to make the homomorphic calculation result more accurate. Finally, we improve computational speed and reduce storage usage by a data packing method that packs multiple feature information into one ciphertext. We successfully calculated 2000 virus strains classification inference steps on 128-bit encrypted test data in 0.09 seconds, reaching an accuracy of 100 %.","PeriodicalId":178302,"journal":{"name":"2022 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130098490","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 : 2022-10-01DOI: 10.1109/ISSREW55968.2022.00061
Leonardo Miranda, Cabral Lima, D. Menasché, Guilherme de Melo Baptista Domingues
Sequential performance analysis aims at evaluating performance indicators in an online fashion. The process stops in accordance with a pre-defined stopping rule, as soon as an anomaly that should produce an alarm is observed. Traditional sequential performance analysis techniques include CUSUM and sequential probability ratio test (SPRT). More recent techniques include the bucket algorithm, wherein tokens are accumulated into buckets when the system degrades, and removed when the system naturally recovers. If the number of tokens in the system reaches a threshold, an alarm is triggered. In this paper, we analyze sequential performance analysis algorithms applied to a system that is subject to rejuvenation. Among our results, we indicate how rejuvenation impacts the time until false alarms, and how to set the optimal rejuvenation rate accounting for the fact that systems can recover from transient performance degradation either naturally, as in standard sequential performance analysis models, or due to rejuvenation.
{"title":"Sequential Performance Analysis of Systems that Age and Rejuvenate","authors":"Leonardo Miranda, Cabral Lima, D. Menasché, Guilherme de Melo Baptista Domingues","doi":"10.1109/ISSREW55968.2022.00061","DOIUrl":"https://doi.org/10.1109/ISSREW55968.2022.00061","url":null,"abstract":"Sequential performance analysis aims at evaluating performance indicators in an online fashion. The process stops in accordance with a pre-defined stopping rule, as soon as an anomaly that should produce an alarm is observed. Traditional sequential performance analysis techniques include CUSUM and sequential probability ratio test (SPRT). More recent techniques include the bucket algorithm, wherein tokens are accumulated into buckets when the system degrades, and removed when the system naturally recovers. If the number of tokens in the system reaches a threshold, an alarm is triggered. In this paper, we analyze sequential performance analysis algorithms applied to a system that is subject to rejuvenation. Among our results, we indicate how rejuvenation impacts the time until false alarms, and how to set the optimal rejuvenation rate accounting for the fact that systems can recover from transient performance degradation either naturally, as in standard sequential performance analysis models, or due to rejuvenation.","PeriodicalId":178302,"journal":{"name":"2022 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130761303","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 : 2022-10-01DOI: 10.1109/ISSREW55968.2022.00038
Anushri Jana, Bharti Chimdyalwar, Susheel Kumar, R. Venkatesh
In this paper, we present an algorithm that efficiently updates results of dataflow analysis in response to incremental changes. Our incremental algorithm work in two phases: it compute summaries for selected procedures in phase 1 by traversing the call graph in bottom-up order and, in phase 2, it updates the dataflow values for selected procedures by traversing call graph in top-down order, thus making the analysis faster. The selection of procedures is done by comparing summaries across the version. We have implemented this algorithm in our proprietary static analysis tool, used by many clientele over the years, for automated defect detection. An evaluation of our algorithm on a core banking application shows that on an average it takes 90 % lesser time in comparison to an exhaustive analysis, demonstrating practical benefit of our algorithm on a real-world evolving software system.
{"title":"Fast Analysis of Evolving Software Systems","authors":"Anushri Jana, Bharti Chimdyalwar, Susheel Kumar, R. Venkatesh","doi":"10.1109/ISSREW55968.2022.00038","DOIUrl":"https://doi.org/10.1109/ISSREW55968.2022.00038","url":null,"abstract":"In this paper, we present an algorithm that efficiently updates results of dataflow analysis in response to incremental changes. Our incremental algorithm work in two phases: it compute summaries for selected procedures in phase 1 by traversing the call graph in bottom-up order and, in phase 2, it updates the dataflow values for selected procedures by traversing call graph in top-down order, thus making the analysis faster. The selection of procedures is done by comparing summaries across the version. We have implemented this algorithm in our proprietary static analysis tool, used by many clientele over the years, for automated defect detection. An evaluation of our algorithm on a core banking application shows that on an average it takes 90 % lesser time in comparison to an exhaustive analysis, demonstrating practical benefit of our algorithm on a real-world evolving software system.","PeriodicalId":178302,"journal":{"name":"2022 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128170182","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 : 2022-10-01DOI: 10.1109/ISSREW55968.2022.00047
Noah Lee, Rui Abreu, Nachiappan Nagappan
Predicting the quality of software in the early phases of the development life cycle has various benefits to an organization's bottom line with wide applicability across industry and government. Yet, developing robust software quality prediction models in practice is a challenging task due to “super” extreme class imbalance. In this paper, we present our work on a code quality prediction framework, we call Automated Incremental Effort Investments (AIEl), to fasten the process of going from data to a performant model under super extreme class imbalance. Experiments on a large scale real-world dataset, from Meta Platforms, show that the proposed approach competes with or outperforms state-of-the art shallow and deep learning approaches. We evaluate the practical significance of the model predictions on test case prioritization efficiency, where AIEl achieves the top rank reducing code review time by 2.5 % and test case resource utilization by 9.3%.
{"title":"Code Quality Prediction Under Super Extreme Class Imbalance","authors":"Noah Lee, Rui Abreu, Nachiappan Nagappan","doi":"10.1109/ISSREW55968.2022.00047","DOIUrl":"https://doi.org/10.1109/ISSREW55968.2022.00047","url":null,"abstract":"Predicting the quality of software in the early phases of the development life cycle has various benefits to an organization's bottom line with wide applicability across industry and government. Yet, developing robust software quality prediction models in practice is a challenging task due to “super” extreme class imbalance. In this paper, we present our work on a code quality prediction framework, we call Automated Incremental Effort Investments (AIEl), to fasten the process of going from data to a performant model under super extreme class imbalance. Experiments on a large scale real-world dataset, from Meta Platforms, show that the proposed approach competes with or outperforms state-of-the art shallow and deep learning approaches. We evaluate the practical significance of the model predictions on test case prioritization efficiency, where AIEl achieves the top rank reducing code review time by 2.5 % and test case resource utilization by 9.3%.","PeriodicalId":178302,"journal":{"name":"2022 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"259 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115807529","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 : 2022-10-01DOI: 10.1109/ISSREW55968.2022.00054
M. Ogiela, U. Ogiela
In this paper will be described a new security protocol for secret sharing and hiding, which use selected personal features. Such technique allows to create human-oriented personalized security protocols dedicated for particular users. Proposed method may be applied in dispersed computing systems, where secret data should be divided into particular number of parts.
{"title":"DNA-based Secret Sharing and Hiding in Dispersed Computing","authors":"M. Ogiela, U. Ogiela","doi":"10.1109/ISSREW55968.2022.00054","DOIUrl":"https://doi.org/10.1109/ISSREW55968.2022.00054","url":null,"abstract":"In this paper will be described a new security protocol for secret sharing and hiding, which use selected personal features. Such technique allows to create human-oriented personalized security protocols dedicated for particular users. Proposed method may be applied in dispersed computing systems, where secret data should be divided into particular number of parts.","PeriodicalId":178302,"journal":{"name":"2022 IEEE International Symposium on Software Reliability Engineering Workshops (ISSREW)","volume":"58 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2022-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116585198","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}