Passer à la navigation principale Passer à la recherche Passer au contenu principal

Datalog-based scalable semantic diffing of concurrent programs

  • University of Southern California
  • Laboratoire de Probabilités et Modèles Aléatoires
  • Microsoft Research

Résultats de recherche: Le chapitre dans un livre, un rapport, une anthologie ou une collectionContribution à une conférenceRevue par des pairs

Résumé

When an evolving program is modified to address issues related to thread synchronization, there is a need to confirm the change is correct, i.e., it does not introduce unexpected behavior. However, manually comparing two programs to identify the semantic difference is labor intensive and error prone, whereas techniques based on model checking are computationally expensive. To fill the gap, we develop a fast and approximate static analysis for computing synchronization differences of two programs. The method is fast because, instead of relying on heavy-weight model checking techniques, it leverages a polynomial-time Datalog-based program analysis framework to compute differentiating data-flow edges, i.e., edges allowed by one program but not the other. Although approximation is used our method is sufficiently accurate due to careful design of the Datalog inference rules and iterative increase of the required data-flow edges for representing a difference. We have implemented our method and evaluated it on a large number of multithreaded C programs to confirm its ability to produce, often within seconds, the same differences obtained by human; in contrast, prior techniques based on model checking take minutes or even hours and thus can be 10x to 1000x slower.

langue originaleAnglais
titreASE 2018 - Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering
rédacteurs en chefChristian Kastner, Marianne Huchard, Gordon Fraser
EditeurAssociation for Computing Machinery, Inc
Pages656-666
Nombre de pages11
ISBN (Electronique)9781450359375
Les DOIs
étatPublié - 3 sept. 2018
Modification externeOui
Evénement33rd IEEE/ACM International Conference on Automated Software Engineering, ASE 2018 - Montpellier, France
Durée: 3 sept. 20187 sept. 2018

Série de publications

NomASE 2018 - Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering

Une conférence

Une conférence33rd IEEE/ACM International Conference on Automated Software Engineering, ASE 2018
Pays/TerritoireFrance
La villeMontpellier
période3/09/187/09/18

Empreinte digitale

Examiner les sujets de recherche de « Datalog-based scalable semantic diffing of concurrent programs ». Ensemble, ils forment une empreinte digitale unique.

Contient cette citation