program analysis
Recently Published Documents


TOTAL DOCUMENTS

1277
(FIVE YEARS 284)

H-INDEX

43
(FIVE YEARS 5)

2022 ◽  
Vol 44 (1) ◽  
pp. 1-50
Author(s):  
Omar Inverso ◽  
Ermenegildo Tomasco ◽  
Bernd Fischer ◽  
Salvatore La Torre ◽  
Gennaro Parlato

Bounded verification techniques such as bounded model checking (BMC) have successfully been used for many practical program analysis problems, but concurrency still poses a challenge. Here, we describe a new approach to BMC of sequentially consistent imperative programs that use POSIX threads. We first translate the multi-threaded program into a nondeterministic sequential program that preserves reachability for all round-robin schedules with a given bound on the number of rounds. We then reuse existing high-performance BMC tools as backends for the sequential verification problem. Our translation is carefully designed to introduce very small memory overheads and very few sources of nondeterminism, so it produces tight SAT/SMT formulae, and is thus very effective in practice: Our Lazy-CSeq tool implementing this translation for the C programming language won several gold and silver medals in the concurrency category of the Software Verification Competitions (SV-COMP) 2014–2021 and was able to find errors in programs where all other techniques (including testing) failed. In this article, we give a detailed description of our translation and prove its correctness, sketch its implementation using the CSeq framework, and report on a detailed evaluation and comparison of our approach.


2022 ◽  
Vol 44 (1) ◽  
pp. 1-90
Author(s):  
Chaoqiang Deng ◽  
Patrick Cousot

Given a behavior of interest, automatically determining the corresponding responsible entity (i.e., the root cause) is a task of critical importance in program static analysis. In this article, a novel definition of responsibility based on the abstraction of trace semantics is proposed, which takes into account the cognizance of observer, which, to the best of our knowledge, is a new innovative idea in program analysis. Compared to current dependency and causality analysis methods, the responsibility analysis is demonstrated to be more precise on various examples. However, the concrete trace semantics used in defining responsibility is uncomputable in general, which makes the corresponding concrete responsibility analysis undecidable. To solve this problem, the article proposes a sound framework of abstract responsibility analysis, which allows a balance between cost and precision. Essentially, the abstract analysis builds a trace partitioning automaton by an iteration of over-approximating forward reachability analysis with trace partitioning and under/over-approximating backward impossible failure accessibility analysis, and determines the bounds of potentially responsible entities along paths in the automaton. Unlike the concrete responsibility analysis that identifies exactly a single action as the responsible entity along every concrete trace, the abstract analysis may lose some precision and find multiple actions potentially responsible along each automaton path. However, the soundness is preserved, and every responsible entity in the concrete is guaranteed to be also found responsible in the abstract.


2022 ◽  
Vol 6 (POPL) ◽  
pp. 1-29
Author(s):  
Yuanbo Li ◽  
Kris Satya ◽  
Qirun Zhang

Dyck-reachability is a fundamental formulation for program analysis, which has been widely used to capture properly-matched-parenthesis program properties such as function calls/returns and field writes/reads. Bidirected Dyck-reachability is a relaxation of Dyck-reachability on bidirected graphs where each edge u → ( i v labeled by an open parenthesis “( i ” is accompanied with an inverse edge v → ) i u labeled by the corresponding close parenthesis “) i ”, and vice versa. In practice, many client analyses such as alias analysis adopt the bidirected Dyck-reachability formulation. Bidirected Dyck-reachability admits an optimal reachability algorithm. Specifically, given a graph with n nodes and m edges, the optimal bidirected Dyck-reachability algorithm computes all-pairs reachability information in O ( m ) time. This paper focuses on the dynamic version of bidirected Dyck-reachability. In particular, we consider the problem of maintaining all-pairs Dyck-reachability information in bidirected graphs under a sequence of edge insertions and deletions. Dynamic bidirected Dyck-reachability can formulate many program analysis problems in the presence of code changes. Unfortunately, solving dynamic graph reachability problems is challenging. For example, even for maintaining transitive closure, the fastest deterministic dynamic algorithm requires O ( n 2 ) update time to achieve O (1) query time. All-pairs Dyck-reachability is a generalization of transitive closure. Despite extensive research on incremental computation, there is no algorithmic development on dynamic graph algorithms for program analysis with worst-case guarantees. Our work fills the gap and proposes the first dynamic algorithm for Dyck reachability on bidirected graphs. Our dynamic algorithms can handle each graph update ( i.e. , edge insertion and deletion) in O ( n ·α( n )) time and support any all-pairs reachability query in O (1) time, where α( n ) is the inverse Ackermann function. We have implemented and evaluated our dynamic algorithm on an alias analysis and a context-sensitive data-dependence analysis for Java. We compare our dynamic algorithms against a straightforward approach based on the O ( m )-time optimal bidirected Dyck-reachability algorithm and a recent incremental Datalog solver. Experimental results show that our algorithm achieves orders of magnitude speedup over both approaches.


2022 ◽  
Vol 6 (POPL) ◽  
pp. 1-31
Author(s):  
Marco Campion ◽  
Mila Dalla Preda ◽  
Roberto Giacobazzi

Imprecision is inherent in any decidable (sound) approximation of undecidable program properties. In abstract interpretation this corresponds to the release of false alarms, e.g., when it is used for program analysis and program verification. As all alarming systems, a program analysis tool is credible when few false alarms are reported. As a consequence, we have to live together with false alarms, but also we need methods to control them. As for all approximation methods, also for abstract interpretation we need to estimate the accumulated imprecision during program analysis. In this paper we introduce a theory for estimating the error propagation in abstract interpretation, and hence in program analysis. We enrich abstract domains with a weakening of a metric distance. This enriched structure keeps coherence between the standard partial order relating approximated objects by their relative precision and the effective error made in this approximation. An abstract interpretation is precise when it is complete. We introduce the notion of partial completeness as a weakening of precision. In partial completeness the abstract interpreter may produce a bounded number of false alarms. We prove the key recursive properties of the class of programs for which an abstract interpreter is partially complete with a given bound of imprecision. Then, we introduce a proof system for estimating an upper bound of the error accumulated by the abstract interpreter during program analysis. Our framework is general enough to be instantiated to most known metrics for abstract domains.


2022 ◽  
Vol 27 ◽  
pp. 579-588
Author(s):  
Nanis Susanti ◽  
Elsen Ronando ◽  
Niken Adriaty Basyarach ◽  
Dwi Harini Sulistyawati ◽  
Wiwin Widiasih

Universitas 17 Agustus 1945 Surabaya as one of the leading private campuses in Indonesia has a high commitment to improving the quality of higher education.  One of the efforts of the Universitas 17 Agustus 1945 Surabaya in improving the quality of higher education is through the development and improvement of every aspect of activities that refer to the Higher Education Main Performance Indicators (KPI) that have been set by the Ministry of Education and Culture.  The activity program that refers to the Main Performance Indicators (IKU) is the Merdeka Learning Campus Merdeka (MBKM) activity program, which has been well implemented by the Universitas 17 Agustus 1945 Surabaya since 2019. However, in an effort to continuously improve the MBKM program, analysis is needed  an in-depth look at readiness and the impact obtained at the level of study programs, faculties, and universities.  One of the MBKM programs that refers to the KPI and needs to be analyzed is the Certified Independent Study & Internship MBKM program. On this basis, this study conducted an in-depth analysis of the readiness and impact of the MBKM Internship & Certified Independent Study program at the Universitas 17 Agustus 1945 Surabaya.  Based on the results obtained, the level of readiness of the Universitas 17 Agustus 1945 Surabaya in supporting the MBKM program is quite good with an average percentage of readiness above 50%.  In measuring the impact of MBKM, it is found that the MBKM policy, Internship Program and Independent Studies greatly affect the performance of the Universitas 17 Agustus 1945 Surabaya significantly with an impact effect of 75.4%.


2021 ◽  
Vol 18 (4) ◽  
pp. 1-26
Author(s):  
Joscha Benz ◽  
Oliver Bringmann

The successful application of static program analysis strongly depends on flow facts of a program such as loop bounds, control-flow constraints, and operating modes. This problem heavily affects the design of real-time systems, since static program analyses are a prerequisite to determine the timing behavior of a program. For example, this becomes obvious in worst-case execution time (WCET) analysis, which is often infeasible without user-annotated flow facts. Moreover, many timing simulation approaches use statically derived timings of partial program paths to reduce simulation overhead. Annotating flow facts on binary or source level is either error-prone and tedious, or requires specialized compilers that can transform source-level annotations along with the program during optimization. To overcome these obstacles, so-called scenarios can be used. Scenarios are a design-time methodology that describe a set of possible system parameters, such as image resolutions, operating modes, or application-dependent flow facts. The information described by a scenario is unknown in general but known and constant for a specific system. In this article, 1 we present a methodology for scenario-aware program specialization to improve timing predictability. Moreover, we provide an implementation of this methodology for embedded software written in C/C++. We show the effectiveness of our approach by evaluating its impact on WCET analysis using almost all of TACLeBench–achieving an average reduction of WCET of 31%. In addition, we provide a thorough qualitative and evaluation-based comparison to closely related work, as well as two case studies.


2021 ◽  
Vol 27 (6) ◽  
pp. 1377-1389
Author(s):  
Jeonghee Nam ◽  
Minshin Kim

This study sought to understand the actual status of skin care offices due to the recognition of social risks caused by Corona 19. The survey was conducted on X, M, and Z generation women using the SPSS WIN 25.0 program. Analysis techniques performed frequency and percentage, χ2 (Chi-square) verification and frequency analysis, One-way ANOVA, T-test, Correlation, and Regression. The results of the study are as follows. First, generation Z was the most common among 386 people, followed by generation M and generation X. Second, Generation X showed the most interest in skin care. Third, women perceive the social risk of coronavirus as high. Fourth, it was found that the skin care center was used a lot before Corona 19, and after Corona 19, the skin care center was not used due to the anxiety of the coronavirus infection. Fifth, if the situation stabilizes after the end of the corona 19, it is highly willing to use the skin care office. Therefore, we hope that this study will be used as a basic data for preparing alternatives to revitalizing the skin care center.


2021 ◽  
Vol 21 (6) ◽  
pp. 103-110
Author(s):  
Byoungjik Park ◽  
Yangkyun Kim ◽  
Ohk Kun Lim

As the number of hydrogen refueling stations has increased rapidly in recent times, evaluating their incident training programs for first responders, has gained importance. In this study, the Delphi method was used for investigating the training programs, and the importance of the consensus programs was analyzed using the analytical hierarchy process (AHP). Location and operating methods of the emergency shutdown devices, safety distance, and response procedures depending on the hydrogen refueling station and hydrogen vehicle, were deduced. The results reveal that the training regarding emergency shutdown devices is the most important, followed by the one regarding safety distance. Quantitative analysis with regard to the training programs for hydrogen refueling stations can improve the response capability of first responders.


2021 ◽  
Vol 19 (4) ◽  
pp. 583-594
Author(s):  
Ae-kyung Kim

Purpose: This study investigated the effect of job stress on job satisfaction and quality of life of beauty-related workers.Methods: Data were collected from beautyrelated workers, and 358 surveys were analyzed using the SPSS WIN 21.0 program. Analysis methods included factor analysis, descriptive statistics, correlation analysis, linear regression analysis, and mediation regression analysis.Results: First, respondents were generally female, unmarried, 20–29 years old, had college or graduate school education, were hairdressers, and had a monthly average income of less than 2 million won. Second, the analysis of descriptive statistics and correlations between job stress, job satisfaction, and quality of life showed a statistically significant negative correlation with job satisfaction and quality of life for each sub-factor of job stress. Job satisfaction was found to have a statistically significant positive (+) correlation with quality of life. Third, job satisfaction partially mediated the relationship between job stress and quality of life as well as the relationship between role-related stress, home-related stress, and quality of life. The relationship between interpersonal stress, reward-related stress, and quality of life of job stress is full mediation.Conclusion: The efficient management of beauty-related workers’ job stress improves their job satisfaction and quality of life. Therefore, for managing each job’s stress factor, creating a manual appropriate to that type of beauty-related workplace will be helpful.


Sign in / Sign up

Export Citation Format

Share Document