M. D. Boer, Stijn de Gouw, Jonas Klamroth, Christian Jung, Mattias Ulbrich, A. Weigl
{"title":"Formal Specification and Verification of JDK’s Identity Hash Map Implementation","authors":"M. D. Boer, Stijn de Gouw, Jonas Klamroth, Christian Jung, Mattias Ulbrich, A. Weigl","doi":"10.1145/3594729","DOIUrl":"https://doi.org/10.1145/3594729","url":null,"abstract":"Hash maps are a common and important data structure in efficient algorithm implementations. Despite their wide-spread use, real-world implementations are not regularly verified. In this paper, we present the first case study of the IdentityHashMap class in the Java JDK. We specified its behavior using the Java Modeling Language (JML) and proved correctness for the main insertion and lookup methods with KeY, a semi-interactive theorem prover for JML-annotated Java programs. Furthermore, we report how unit testing and bounded model checking can be leveraged to find a suitable specification more quickly. We also investigated where the bottlenecks in the verification of hash maps lie for KeY by comparing required automatic proof effort for different hash map implementations and draw conclusions for the choice of hash map implementations regarding their verifiability.","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":" ","pages":""},"PeriodicalIF":1.0,"publicationDate":"2023-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"47826241","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Martin de Boer, Stijn de Gouw, Jonas Klamroth, Christian Jung, Mattias Ulbrich, Alexander Weigl
{"title":"Formal Specification and Verification of JDK’s Identity Hash Map Implementation","authors":"Martin de Boer, Stijn de Gouw, Jonas Klamroth, Christian Jung, Mattias Ulbrich, Alexander Weigl","doi":"https://dl.acm.org/doi/10.1145/3594729","DOIUrl":"https://doi.org/https://dl.acm.org/doi/10.1145/3594729","url":null,"abstract":"<p>Hash maps are a common and important data structure in efficient algorithm implementations. Despite their wide-spread use, real-world implementations are not regularly verified. </p><p>In this paper, we present the first case study of the <monospace>IdentityHashMap</monospace> class in the Java JDK. We specified its behavior using the Java Modeling Language (JML) and proved correctness for the main insertion and lookup methods with KeY, a semi-interactive theorem prover for JML-annotated Java programs. Furthermore, we report how unit testing and bounded model checking can be leveraged to find a suitable specification more quickly. We also investigated where the bottlenecks in the verification of hash maps lie for KeY by comparing required automatic proof effort for different hash map implementations and draw conclusions for the choice of hash map implementations regarding their verifiability.</p>","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":"23 1","pages":""},"PeriodicalIF":1.0,"publicationDate":"2023-05-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138517751","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Bit-Vector Typestate Analysis","authors":"Alen Arslanagic, Pavle Subotic, J. A. Pérez","doi":"10.1145/3595299","DOIUrl":"https://doi.org/10.1145/3595299","url":null,"abstract":"Static analyses based on typestates are important in certifying correctness of code contracts. Such analyses rely on Deterministic Finite Automata (DFAs) to specify properties of an object. We target the analysis of contracts in low-latency environments, where many useful contracts are impractical to codify as DFAs and/or the size of their associated DFAs leads to sub-par performance. To address this bottleneck, we present a lightweight compositional typestate analyzer, based on an expressive specification language that can succinctly specify code contracts. By implementing it in the static analyzer Infer, we demonstrate considerable performance and usability benefits when compared to existing techniques. A central insight is to rely on a sub-class of DFAs whose analysis uses efficient bit-vector operations.","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":"35 1","pages":"1 - 36"},"PeriodicalIF":1.0,"publicationDate":"2023-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"41966864","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Bit-Vector Typestate Analysis","authors":"Alen Arslanagić, Pavle Subotić, Jorge A. Pérez","doi":"https://dl.acm.org/doi/10.1145/3595299","DOIUrl":"https://doi.org/https://dl.acm.org/doi/10.1145/3595299","url":null,"abstract":"<p>Static analyses based on <i>typestates</i> are important in certifying correctness of code contracts. Such analyses rely on Deterministic Finite Automata (DFAs) to specify properties of an object. We target the analysis of contracts in low-latency environments, where many useful contracts are impractical to codify as DFAs and/or the size of their associated DFAs leads to sub-par performance. To address this bottleneck, we present a <i>lightweight</i> compositional typestate analyzer, based on an expressive specification language that can succinctly specify code contracts. By implementing it in the static analyzer <span>Infer</span>, we demonstrate considerable performance and usability benefits when compared to existing techniques. A central insight is to rely on a sub-class of DFAs whose analysis uses efficient bit-vector operations.</p>","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":"56 1","pages":""},"PeriodicalIF":1.0,"publicationDate":"2023-05-17","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138517739","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Review on Functional Algorithms, Verified!","authors":"A. Charguéraud","doi":"10.1145/3594639","DOIUrl":"https://doi.org/10.1145/3594639","url":null,"abstract":"The book Functional Algorithms, Verified! provides a presentation of classic functional data structures and algorithms with a fairly original perspective: that of accompanying every data structure with formal specifications. The specifications cover not only functional correctness but also time complexity bounds. The book has been used as course notes by Tobias Nipkow and colleagues over several years. It benefits from feedback from the classroom, invaluable for streamlining the presentation of the material. I would say that it is well suited for master’s students. It could also be accessible for students in the final year of a bachelor’s degree and highly valuable to Ph.D. students who wish to formalize or use formalized data structures. Interestingly, although its contents are formally verified, this book is not about mechanized proofs. It is meant to be accessible to readers with no background in proof assistants. What matters in this book is the mechanized specifications , which are provided for every data structure. Throughout the book, the reader is taught how to write formal specifications for sets, maps, sequences, functional arrays, and priority queues. These formal interfaces are the cornerstones of program verification. The proofs are presented in English, each time with formal statements and an explanation of what kind of induction principle is exploited. The proof details, which can be found in the accompanying Isabelle/HOL proof scripts, are very useful for readers interested in conducting formal proofs on functional data structures. For other readers, following the proof scripts is completely optional. The book","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":" ","pages":"1 - 2"},"PeriodicalIF":1.0,"publicationDate":"2023-05-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"46824887","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Formal Aspects of ComputingPub Date : 2023-04-21eCollection Date: 2023-01-01DOI: 10.1590/1980-549720230005.supl.1
Nádia Machado de Vasconcelos, Francielle Thalita Almeida Alves, Gisele Nepomuceno de Andrade, Isabella Vitral Pinto, Adauto Martins Soares Filho, Cimar Azeredo Pereira, Deborah Carvalho Malta
{"title":"Violence Against LGB+ people in Brazil: analysis of the 2019 National Survey of Health.","authors":"Nádia Machado de Vasconcelos, Francielle Thalita Almeida Alves, Gisele Nepomuceno de Andrade, Isabella Vitral Pinto, Adauto Martins Soares Filho, Cimar Azeredo Pereira, Deborah Carvalho Malta","doi":"10.1590/1980-549720230005.supl.1","DOIUrl":"10.1590/1980-549720230005.supl.1","url":null,"abstract":"<p><strong>Objective: </strong>To analyze the association between self-reported sexual orientation and violence in the Brazilian population.</p><p><strong>Methods: </strong>This cross-sectional epidemiological study used the 2019 National Survey of Health database. Total violence and its subtypes (psychological, physical, and sexual) were analyzed in the previous 12 months. Prevalence and odds ratio adjusted for age group were estimated, with their respective 95% confidence intervals, according to the self-reported sexual orientation of the Brazilian population aged 18 years and older. Statistical significance was set at 5%.</p><p><strong>Results: </strong>Most of the Brazilian population self-identified as heterosexual (94.75%) and 1.89% as LGB+. This percentage was lower than that of respondents who refused to answer the question (2.28%). The prevalence of violence in the general population of Brazil was 18.27%, and the most common subtype was psychological violence (17.36%). The LGB+ population was more than twice as likely to experience any type of violence. LGB+ women had the highest prevalence in all violence subtypes, and heterosexual men had the lowest. LGB+ women were over three times more likely to experience physical violence compared to heterosexual ones. Meanwhile, the probability of LGB+ men experiencing sexual violence was almost eight times higher than in heterosexual men.</p><p><strong>Conclusion: </strong>The prevalence of violence against the LGB+ population was high in the country. Public policies aimed at this population are necessary to fight discrimination against sexual diversity and ensure the rights of non-heterosexual people.</p>","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":"7 1","pages":"e230005"},"PeriodicalIF":0.0,"publicationDate":"2023-04-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73126507","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Mark Bouwman, Djurre van der Wal, Bas Luttik, Mariëlle Stoelinga, Arend Rensink
{"title":"A Case in Point: Verification and Testing of a EULYNX Interface","authors":"Mark Bouwman, Djurre van der Wal, Bas Luttik, Mariëlle Stoelinga, Arend Rensink","doi":"https://dl.acm.org/doi/10.1145/3528207","DOIUrl":"https://doi.org/https://dl.acm.org/doi/10.1145/3528207","url":null,"abstract":"<p>We present a case study on the application of formal methods in the railway domain. The case study is part of the FormaSig project, which aims to support the development of EULYNX — a European standard defining generic interfaces for railway equipment — using formal methods. We translate the semi-formal SysML models created within EULYNX to formal mCRL2 models. By adopting a model-centric approach in which a formal model is used both for analyzing the quality of the EULYNX specification and for automated compliance testing, a high degree of traceability is achieved.</p><p>The target of our case study is the EULYNX Point subsystem interface. We present a detailed catalog of the safety requirements, and provide counterexamples that show that some of them do not hold without specific fairness assumptions. We also use the mCRL2 model to generate both random and guided tests, which we apply to a third-party software simulator. We share metrics on the coverage and execution time of the tests, which show that guided testing outperforms random testing. The test results indicate several discrepancies between the model and the simulator. One of these discrepancies is caused by a fault in the simulator, the others are caused by false positives, i.e. an over-approximation of fail verdicts by our test setup.</p>","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":"99 1","pages":""},"PeriodicalIF":1.0,"publicationDate":"2023-03-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138517749","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Zakaryae Boudi, Abderrahim Ait Wakrime, Mohamed Toub, Mohamed Haloua
{"title":"A Deep Reinforcement Learning Framework with Formal Verification","authors":"Zakaryae Boudi, Abderrahim Ait Wakrime, Mohamed Toub, Mohamed Haloua","doi":"https://dl.acm.org/doi/10.1145/3577204","DOIUrl":"https://doi.org/https://dl.acm.org/doi/10.1145/3577204","url":null,"abstract":"<p>Artificial Intelligence (AI) and data are reshaping organizations and businesses. Human Resources (HR) management and talent development make no exception, as they tend to involve more automation and growing quantities of data. Because this brings implications on workforce, career transparency, and equal opportunities, overseeing what fuels AI and analytical models, their quality standards, integrity, and correctness becomes an imperative for those aspiring to such systems. Based on an ontology transformation to B-machines, this article presents an approach to constructing a valid and error-free career agent with Deep Reinforcement Learning (DRL). In short, the agent's policy is built on a framework we called Multi State-Actor (MuStAc) using a decentralized training approach. Its purpose is to predict both relevant and valid career steps to employees, based on their profiles and company pathways (observations). Observations can comprise various data elements such as the current occupation, past experiences, performance, skills, qualifications, and so on. The policy takes in all these observations and outputs the next recommended career step, in an environment set as the combination of an HR ontology and an Event-B model, which generates action spaces with respect to formal properties. The Event-B model and formal properties are derived using OWL to B transformation.</p>","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":"5 1","pages":""},"PeriodicalIF":1.0,"publicationDate":"2023-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138517750","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
S. Collart-Dutilleul, A. Haxthausen, T. Lecomte, J. Woodcock
{"title":"Introduction to the Special Section on Reliability, Safety, and Security of Railway Systems","authors":"S. Collart-Dutilleul, A. Haxthausen, T. Lecomte, J. Woodcock","doi":"10.1145/3578524","DOIUrl":"https://doi.org/10.1145/3578524","url":null,"abstract":"RSSRail is an International Conference on Reliability, Safety and Security of Railway Systems, which occurs every 18 months. During the pandemic, it was decided that a special journal collection of articles concerning formal approaches for railway safety and security would replace the physical event of RSSRail 2021. This special collection presents methods for efficient, formal development, and verification of railway signalling subsystems like points specified by the European EULYNX standard, speed controllers specified by ETCS, and interlocking systems. Furthermore, an original formal-based methodology using deep reinforcement learning is detailed.","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":"35 1","pages":"1 - 2"},"PeriodicalIF":1.0,"publicationDate":"2023-03-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"43221092","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Review on Logical Analysis of Hybrid Systems By André Platzer Springer, 2010, 426 pages, ISBN 978-3-642-14508-7link.springer.com/book/10.1007/978-3-642-14509-4","authors":"Gabriele Paveri Fontana","doi":"https://dl.acm.org/doi/10.1145/3561612","DOIUrl":"https://doi.org/https://dl.acm.org/doi/10.1145/3561612","url":null,"abstract":"<p>No abstract available.</p>","PeriodicalId":50432,"journal":{"name":"Formal Aspects of Computing","volume":"1 1","pages":""},"PeriodicalIF":1.0,"publicationDate":"2023-01-29","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138517805","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}