Special Issue "Static Analysis Techniques: Recent Advances and New Horizons"

A special issue of Applied Sciences (ISSN 2076-3417). This special issue belongs to the section "Computing and Artificial Intelligence".

Deadline for manuscript submissions: 31 December 2020.

Special Issue Editors

Prof. Dr. Agostino Cortesi
Website
Guest Editor
Dipartimento di Scienze Ambientali, Informatica e Statistica, Università Ca’ Foscari, via Torino 155, 30170 Venice, Italy
Interests: static program analysis; software engineering; abstract interpretation; information flow security
Dr. Pietro Ferrara
Website
Guest Editor
JuliaSoft Srl, Verona, Italy
Interests: static analysis; abstract interpretation; object-oriented programming languages

Special Issue Information

Dear Colleagues,

We cordially invite you to consider submitting a paper to the Special Issue of the journal Applied Sciences (ISSN 2076-3417; IF 2.217) on “Static Analysis Techniques: Recent Advances and New Horizons”.

Static analysis is currently recognized as a key mean for enhancing software security and reliability. It is widely recognized as a fundamental approach for program verification, bug detection, compiler optimization, program understanding, and software maintenance. In fact, a white-box semantics-based approach to the analysis of source code can automatically reveal errors that do not manifest until a disaster occurs weeks, months or years after release, which might be very difficult to reproduce and that might not be captured by testing, as tests can only cover a finite number of execution traces. Several techniques have been introduced in the scientific literature, and several tools implementing such techniques are currently in use on software written in different programming language targets and focusing on different program properties.

This Special Issue is aimed at collecting new contributions in this area, ranging from the introduction of new techniques to their practical implementation and applications with a particular emphasis on applied aspects, i.e., on the issues related to scalability, interoperability, and maintainability of static analysis tools in highly demanding real scenarios.

Contributions are welcome on all aspects of static analysis, including, but not limited to:

  • Abstract Interpretation;
  • Data-flow and control-flow analysis;
  • Model checking;
  • Program verification;
  • Program certification;
  • Security analysis;
  • Type checking.

Submissions can address any programming paradigm, including concurrent, constraint, functional, imperative, logic, and object-oriented programming.

Extended versions of papers presented in international conferences are welcome if the extended version contains significant additions which were not in the conference version of the paper. In this case, the authors are invited to submit a cover letter explaining how the submitted paper differs from the conference one.

Prof. Dr. Agostino Cortesi
Dr. Pietro Ferrara
Guest Editors

Manuscript Submission Information

Manuscripts should be submitted online at www.mdpi.com by registering and logging in to this website. Once you are registered, click here to go to the submission form. Manuscripts can be submitted until the deadline. All papers will be peer-reviewed. Accepted papers will be published continuously in the journal (as soon as accepted) and will be listed together on the special issue website. Research articles, review articles as well as short communications are invited. For planned papers, a title and short abstract (about 100 words) can be sent to the Editorial Office for announcement on this website.

Submitted manuscripts should not have been published previously, nor be under consideration for publication elsewhere (except conference proceedings papers). All manuscripts are thoroughly refereed through a single-blind peer-review process. A guide for authors and other relevant information for submission of manuscripts is available on the Instructions for Authors page. Applied Sciences is an international peer-reviewed open access semimonthly journal published by MDPI.

Please visit the Instructions for Authors page before submitting a manuscript. The Article Processing Charge (APC) for publication in this open access journal is 1800 CHF (Swiss Francs). Submitted papers should be well formatted and use good English. Authors may use MDPI's English editing service prior to publication or during author revisions.

Keywords

  • Abstract interpretation
  • Data-flow and control-flow analysis
  • Model checking
  • Program cerification
  • Program certification
  • Security analysis
  • Type checking

Published Papers (2 papers)

Order results
Result details
Select all
Export citation of selected articles as:

Research

Open AccessArticle
An Abstraction Technique for Verifying Shared-Memory Concurrency
Appl. Sci. 2020, 10(11), 3928; https://doi.org/10.3390/app10113928 - 05 Jun 2020
Abstract
Modern concurrent and distributed software is highly complex. Techniques to reason about the correct behaviour of such software are essential to ensure its reliability. To be able to reason about realistic programs, these techniques must be modular and compositional as well as practical [...] Read more.
Modern concurrent and distributed software is highly complex. Techniques to reason about the correct behaviour of such software are essential to ensure its reliability. To be able to reason about realistic programs, these techniques must be modular and compositional as well as practical by being supported by automated tools. However, many existing approaches for concurrency verification are theoretical and focus primarily on expressivity and generality. This paper contributes a technique for verifying behavioural properties of concurrent and distributed programs that balances expressivity and usability. The key idea of the approach is that program behaviour is abstractly modelled using process algebra, and analysed separately. The main difficulty is presented by the typical abstraction gap between program implementations and their models. Our approach bridges this gap by providing a deductive technique for formally linking programs with their process-algebraic models. Our verification technique is modular and compositional, is proven sound with Coq, and has been implemented in the automated concurrency verifier VerCors. Moreover, our technique is demonstrated on multiple case studies, including the verification of a leader election protocol. Full article
(This article belongs to the Special Issue Static Analysis Techniques: Recent Advances and New Horizons)
Show Figures

Figure 1

Open AccessArticle
Static Analysis for ECMAScript String Manipulation Programs
Appl. Sci. 2020, 10(10), 3525; https://doi.org/10.3390/app10103525 - 20 May 2020
Abstract
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a wide range of fields and applications. Their tricky and misunderstood behaviors pose a great challenge for static analysis of these languages. A key aspect of any dynamic [...] Read more.
In recent years, dynamic languages, such as JavaScript or Python, have been increasingly used in a wide range of fields and applications. Their tricky and misunderstood behaviors pose a great challenge for static analysis of these languages. A key aspect of any dynamic language program is the multiple usage of strings, since they can be implicitly converted to another type value, transformed by string-to-code primitives or used to access an object-property. Unfortunately, string analyses for dynamic languages still lack precision and do not take into account some important string features. In this scenario, more precise string analyses become a necessity. The goal of this paper is to place a first step for precisely handling dynamic language string features. In particular, we propose a new abstract domain approximating strings as finite state automata and an abstract interpretation-based static analysis for the most common string manipulating operations provided by the ECMAScript specification. The proposed analysis comes with a prototype static analyzer implementation for an imperative string manipulating language, allowing us to show and evaluate the improved precision of the proposed analysis. Full article
(This article belongs to the Special Issue Static Analysis Techniques: Recent Advances and New Horizons)
Show Figures

Figure 1

Back to TopTop