Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/288195.288213acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article
Free access

A conservative data flow algorithm for detecting all pairs of statements that may happen in parallel

Published: 01 November 1998 Publication History

Abstract

Information about which pairs of statements in a concurrent program can execute in parallel is important for optimizing and debugging programs, for detecting anomalies, and for improving the accuracy of data flow analysis. In this paper, we describe a new data flow algorithm that finds a conservative approximation of the set of all such pairs. We have carried out an initial comparison of the precision of our algorithm and that of the most precise of the earlier approaches, Masticola and Ryder's non-concurrency analysis [8], using a sample of 159 concurrent Ada programs that includes the collection assembled by Masticola and Ryder. For these examples, our algorithm was almost always more precise than non-concurrency analysis, in the sense that the set of pairs identified by our algorithm as possibly happening in parallel is a proper subset of the set identified by non-concurrency analysis. In 132 cases, we were able to use reachability analysis to determine exactly the set of pairs of statements that may happen in parallel. For these cases, there were a total of only 10 pairs identified by our algorithm that cannot actually happen in parallel.

References

[1]
D. Callahan and J. Subhlok. Static analysis of low-level synchronization. In Proceedings of the SIGPLAN/SIGOPS Workshop on Parallel and Distributed Debugging, pages 100-111,1988.
[2]
E. Duesterwald and M. L. Soffa. Concurrency analysis in the presence of procedures using a data flow framework. In Proceedings of the ACM SIGSOFT Fourth Workshop on Softvare Testing, Analysis, and Verification, pages 36-48, Victoria, B.C., October 1991.
[3]
M. Dwyer. Data Flow Analysis for Verifying Correctness Properties of Concurrent Programs. PhD thesis, University of Massachussetts, Amherst, 1995.
[4]
M. Dwyer and L. Clarke. Data flow analysis for verifying properties of concurrent programs. In ACM SIGSOFT' 94 Software Engineering Notes, Proceedings of the Second ACM SIGSOFT Symposium on Foundations of Software Engineering, pages 62-75, December 1994.
[5]
M. Hecht. Flow Analysis of Computer Programs. North-Holland, New Yorki 1977.
[6]
S. Horwitz, T. Reps, and M. Sagiv. Demand interprocedural dataflow analysis. In Proceedings of the Third ACM SIGSOFT Symposium on the Foundations of Software Engineering, pages 104- 115, Oct. 1995.
[7]
T. J. Marlowe and B. G. Ryder. Properties of data flow frameworks. Acta Informatica, 28(2):121-163, 1990.
[8]
S. Masticola and B. Ryder. Non-concurrency analysis. In Proceedings of the Twelfth of Symposium on Principles and Practices of Parallel Programming, San Diego, CA, May 1993.
[9]
S. P. Masticola. Static detection of deadlocks in polynomial time. PhD thesis, Rutgers University, 1993.
[10]
S. P. Masticola, T. J. Marlowe, and B. G. Ryder. Lattice frameworks for multisource and bidirectional data flow problems. ACM Transactions on Programming Languages and Systems, 17(5):777- 803, September 1995.
[11]
G. N. Naumovich, L. A. Clarke, L. J. Osterweil, and M. B. Dwyer. Verification of concurrent software with FLAVERS. In Proceedings of the 19th International Conference on Software Engineering, pages 594-595, May 1997.
[12]
R. N. Taylor. Complexity of analyzing the synchronization structure of concurrent programs. Acta Informatica, 19:57-84, 1983.

Cited By

View all
  • (2024)Reducing Write Barrier Overheads for Orthogonal PersistenceProceedings of the 17th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3687997.3695646(210-223)Online publication date: 17-Oct-2024
  • (2022)Reordering Under the ECMAScript Memory Consistency ModelLanguages and Compilers for Parallel Computing10.1007/978-3-030-95953-1_14(198-214)Online publication date: 16-Feb-2022
  • (2021)OpenMP aware MHP Analysis for Improved Static Data-Race Detection2021 IEEE/ACM 7th Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC)10.1109/LLVMHPC54804.2021.00006(1-11)Online publication date: Nov-2021
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
SIGSOFT '98/FSE-6: Proceedings of the 6th ACM SIGSOFT international symposium on Foundations of software engineering
November 1998
248 pages
ISBN:1581131089
DOI:10.1145/288195
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 November 1998

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

SOFT98

Acceptance Rates

Overall Acceptance Rate 17 of 128 submissions, 13%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)124
  • Downloads (Last 6 weeks)20
Reflects downloads up to 25 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Reducing Write Barrier Overheads for Orthogonal PersistenceProceedings of the 17th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3687997.3695646(210-223)Online publication date: 17-Oct-2024
  • (2022)Reordering Under the ECMAScript Memory Consistency ModelLanguages and Compilers for Parallel Computing10.1007/978-3-030-95953-1_14(198-214)Online publication date: 16-Feb-2022
  • (2021)OpenMP aware MHP Analysis for Improved Static Data-Race Detection2021 IEEE/ACM 7th Workshop on the LLVM Compiler Infrastructure in HPC (LLVM-HPC)10.1109/LLVMHPC54804.2021.00006(1-11)Online publication date: Nov-2021
  • (2021)Statically driven generation of concurrent tests for thread‐safe classesSoftware Testing, Verification and Reliability10.1002/stvr.177431:4Online publication date: 4-May-2021
  • (2019)Coverage-Driven Test Generation for Thread-Safe Classes via Parallel and Conflict Dependencies2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)10.1109/ICST.2019.00034(264-275)Online publication date: Apr-2019
  • (2018)Low-deterministic security for low-nondeterministic programs1Journal of Computer Security10.3233/JCS-1798426:3(335-366)Online publication date: 9-Apr-2018
  • (2016)Sound static deadlock analysis for C/PthreadsProceedings of the 31st IEEE/ACM International Conference on Automated Software Engineering10.1145/2970276.2970309(379-390)Online publication date: 25-Aug-2016
  • (2016)Improved MHP AnalysisProceedings of the 25th International Conference on Compiler Construction10.1145/2892208.2897144(207-217)Online publication date: 17-Mar-2016
  • (2014)Compiler Optimization for Reducing Leakage Power in Multithread BSP ProgramsACM Transactions on Design Automation of Electronic Systems10.1145/266811920:1(1-34)Online publication date: 18-Nov-2014
  • (2014)Insider Threat Identification by Process AnalysisProceedings of the 2014 IEEE Security and Privacy Workshops10.1109/SPW.2014.40(251-264)Online publication date: 17-May-2014
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media