{"title":"Static Memory Consistency Constraints Checking","authors":"Pavel Andrianov, Vadim Mutilin","doi":"10.31144/si.2307-6410.2023.n22.p1-10","DOIUrl":"https://doi.org/10.31144/si.2307-6410.2023.n22.p1-10","url":null,"abstract":"Memory model describes the memory consistency requirements in a multithreading system. Compiler optimizations may violate the consistency requirements due to bugs, and the program behavior will differ from the required one. The bugs in compiler optimizations, like incorrect instruction reordering, are very difficult to detect, because they may occur with a very low chance in real execution on a hardware. There are different approaches of formal verification for memory consistency requirements, but the challenge is that the approaches are not scalable for industrial software. In the paper we present the MCC tool that was evaluated on the industrial virtual machine ARK VM and was able to find a real bug in a compiler optimization. The MCC is a static tool, which allows to check all possible executions of a particular test, not relying on a hardware execution. The approach also includes test suite generation and specification of memory consistency properties.","PeriodicalId":496919,"journal":{"name":"Системная информатика","volume":"415 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"136069616","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 : 2023-10-30DOI: 10.31144/si.2307-6410.2023.n22.p37-44
Sofia Iakusheva, Anton Khritankov, Darya Harbachonak
{"title":"METAMORPHIC TESTING FOR GENERATIVE ARTIFICIAL INTELLIGENCE SYSTEMS","authors":"Sofia Iakusheva, Anton Khritankov, Darya Harbachonak","doi":"10.31144/si.2307-6410.2023.n22.p37-44","DOIUrl":"https://doi.org/10.31144/si.2307-6410.2023.n22.p37-44","url":null,"abstract":"Generative artificial intelligence systems should be carefully tested because they can generate low-quality content, but the testing challenges the test oracle problem. Metamor-phic testing helps to test programs without test oracles. In this study, we consider an AI system that generates personalized stickers. Personalized sticker is a thematic picture with a person’s face, some decorative elements and phrases. This system is stochastic, complex and consists of many parts. We formulate requirements for the whole system and check them with metamorphic relations. The requirements focus on dependency on input images quality and resulting quality of generated stickers. Our testing methodology helps us to identify major issues in the system under test.","PeriodicalId":496919,"journal":{"name":"Системная информатика","volume":"45 17","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"136070690","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 : 2023-10-30DOI: 10.31144/si.2307-6410.2023.n22.p45-50
Abdelrahman Abounegm, Nikolai Kudasov
{"title":"IMPLEMENTING A LANGUAGE SERVER FOR THE RZK PROOF ASSISTANT","authors":"Abdelrahman Abounegm, Nikolai Kudasov","doi":"10.31144/si.2307-6410.2023.n22.p45-50","DOIUrl":"https://doi.org/10.31144/si.2307-6410.2023.n22.p45-50","url":null,"abstract":"The Riehl-Shulman type theory for synthetic ∞ -categories is a new theory building on Homotopy Type Theory (HoTT). The experimental proof assistant Rzk offers an automated proof checker for this theory. With the goal of making this theory more accessible to mathematicians and computer scientists, we present in this paper a work-in-progress on a collection of command line and interactive tools for Rzk . These tools comprise a language server, an accompanying Visual Studio Code (VS Code) extension, and a list of smaller satellite tools offering minor conveniences. Although we focus on the support of VS Code, the language server is also compatible with other popular editors that support the Language Server Protocol (LSP), such as Emacs and Vim.","PeriodicalId":496919,"journal":{"name":"Системная информатика","volume":"240 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"136069200","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 : 2023-10-30DOI: 10.31144/si.2307-6410.2023.n22.p11-20
Ivan Chernenko
{"title":"REQUIREMENTS PATTERNS IN DEDUCTIVE VERIFICATION OF PROCESS-ORIENTED PROGRAMS AND EXAMPLES OF THEIR USE","authors":"Ivan Chernenko","doi":"10.31144/si.2307-6410.2023.n22.p11-20","DOIUrl":"https://doi.org/10.31144/si.2307-6410.2023.n22.p11-20","url":null,"abstract":"Process-oriented programming is a promising approach to the development of control software. Control software often has high reliability requirements. Formal verification methods, in particular deductive verification, are used to prove the correctness of such programs regarding the requirements. Previously, a temporal requirements language [2] was developed to specify temporal requirements for deductive verification of process-oriented programs. It was also shown that a significant part of the requirements falls into a small number of classes. Requirements patterns was developed for these classes. In this paper, we present a collection of process-oriented programs and requirements for them. Requirements are formalized in the temporal requirements language and classified according the set of patterns. We also define a new requirement pattern. These results can be used in the research of formal verification methods for process-oriented programs, in particular in the research of methods of proving verification conditions.","PeriodicalId":496919,"journal":{"name":"Системная информатика","volume":"85 ","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"136069707","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}