Graduate Studies
First Advisor
Hamid Bagheri
Degree Name
Doctor of Philosophy (Ph.D.)
Department
Computer Science
Date of this Version
8-2024
Document Type
Dissertation
Citation
A dissertation presented to the faculty of the Graduate College of the University of Nebraska in partial fulfillment of requirements for the degree of Doctor of Philosophy
Major: Computer Science
Under the supervision of Professor Hamid Bagheri
Lincoln, Nebraska, August 2024
Abstract
Predominantly employed to tackle hardware validation challenges in the early years, formal methods have since expanded to software engineering, introducing a significant level of rigor and precision to software analysis. Its use of mathematical notations and logical reasoning allows for abstract modeling of programs, enabling researchers and engineers to perform a multitude of analysis tasks to verify system dependability and rigorously prove the correctness of system properties. Despite the availability of many automated analysis tools including those considered lightweight, the practical adoption of formal methods in software development has been limited due to scalability concerns, especially when applied to large real-world applications. My prior research effort, EvoAlloy, explored the feasibility of substituting the computational heavy constraint-solving technique adopted by the popular bounded verification tool Alloy with an evolutionary algorithm. By loosening the completeness while preserving soundness, EvoAlloy has demonstrated the potential to enhance the scalability of Alloy Analyzer. Yet its coarse-grained fitness evaluation in Kodkod poses a major obstacle to generalizing this approach to more diverse and complex Alloy specifications. This dissertation presents two novel techniques for optimizing the genetic algorithm (GA) based search toward scalable Alloy formal analysis. First, I introduce an innovative constraint violation assessment scheme, which traverses the Abstract Syntax Tree (AST) of the relational formula and computes the degree of violation for each subformula. This comprehensive and granular evaluation facilitates solution exploration with refined differentiation capability, thereby effectively generalizing my GA-based analysis to a wider array of problems. Second, I present an adaptive fitness function, implementing a dynamic weight adjustment mechanism that optimizes the allocation of computational resources. This approach contributes to effective instance space navigation and efficient convergence on valid solutions, thus greatly improving the run-time performance. Taking advantage of both techniques, I created an advanced GA-boosted Alloy Analysis, AdaptiveAlloy. The experimental results illustrate that AdaptiveAlloy is capable of finding models of higher scope and achieving greater scalability and efficiency than both EvoAlloy and the state-of-the-art Alloy analyzer.
Advisor: Hamid Bagheri
Recommended Citation
Wang, Jianghao, "Optimizing Scalability for Formal Analysis with Evolutionary Algorithm" (2024). Dissertations and Doctoral Documents from University of Nebraska-Lincoln, 2023–. 192.
https://digitalcommons.unl.edu/dissunl/192
Comments
Copyright 2024, Jianghao Wang. Used by permission