Peer Review History

Original SubmissionJune 13, 2019
Decision Letter - Rafael Sachetto Oliveira, Editor

PONE-D-19-16831

Binary-Level Data Dependence Analysis of Hot Execution Regions Using Abstract Interpretation at Runtime

PLOS ONE

Dear Mrs. Omar,

Thank you for submitting your manuscript to PLOS ONE. After careful consideration, we feel that it has merit but does not fully meet PLOS ONE’s publication criteria as it currently stands. Therefore, we invite you to submit a revised version of the manuscript that addresses the points raised during the review process.

After a careful evaluation, we decided that the work is still incomplete and the evaluations need improving. Nevertheless, the paper has potential and can be revised to meet the PLOS ONE’s publication criteria.

We would appreciate receiving your revised manuscript by Oct 04 2019 11:59PM. When you are ready to submit your revision, log on to https://www.editorialmanager.com/pone/ and select the 'Submissions Needing Revision' folder to locate your manuscript file.

If you would like to make changes to your financial disclosure, please include your updated statement in your cover letter.

To enhance the reproducibility of your results, we recommend that if applicable you deposit your laboratory protocols in protocols.io, where a protocol can be assigned its own identifier (DOI) such that it can be cited independently in the future. For instructions see: http://journals.plos.org/plosone/s/submission-guidelines#loc-laboratory-protocols

Please include the following items when submitting your revised manuscript:

  • A rebuttal letter that responds to each point raised by the academic editor and reviewer(s). This letter should be uploaded as separate file and labeled 'Response to Reviewers'.
  • A marked-up copy of your manuscript that highlights changes made to the original version. This file should be uploaded as separate file and labeled 'Revised Manuscript with Track Changes'.
  • An unmarked version of your revised paper without tracked changes. This file should be uploaded as separate file and labeled 'Manuscript'.

Please note while forming your response, if your article is accepted, you may have the opportunity to make the peer review history publicly available. The record will include editor decision letters (with reviews) and your responses to reviewer comments. If eligible, we will contact you to opt in or out.

We look forward to receiving your revised manuscript.

Kind regards,

Rafael Sachetto Oliveira, Ph.D

Academic Editor

PLOS ONE

Journal Requirements:

When submitting your revision, we need you to address these additional requirements.

1. Please ensure that your manuscript meets PLOS ONE's style requirements, including those for file naming. The PLOS ONE style templates can be found at

http://www.journals.plos.org/plosone/s/file?id=wjVg/PLOSOne_formatting_sample_main_body.pdf and http://www.journals.plos.org/plosone/s/file?id=ba62/PLOSOne_formatting_sample_title_authors_affiliations.pdf

2. Thank you for stating the following in the Acknowledgments Section of your manuscript:

"This research is supported by a Ph.D. scholarship from the Egyptian Ministry of Higher

Education (MoHE). Also, this work is partially funded by the PHC IMHOTEP project."

We note that you have provided funding information that is not currently declared in your Funding Statement. However, funding information should not appear in the Acknowledgments section or other areas of your manuscript. We will only publish funding information present in the Funding Statement section of the online submission form.

Please remove any funding-related text from the manuscript and let us know how you would like to update your Funding Statement. Currently, your Funding Statement reads as follows:

"The author(s) received no specific funding for this work."

  1. Please provide an amended Funding Statement that declares *all* the funding or sources of support received during this specific study (whether external or internal to your organization) as detailed online in our guide for authors at http://journals.plos.org/plosone/s/submit-now.  

  1. Please state what role the funders took in the study.  If any authors received a salary from any of your funders, please state which authors and which funder. If the funders had no role, please state: "The funders had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript."

c. Please include your amended statements within your cover letter; we will change the online submission form on your behalf.

[Note: HTML markup is below. Please do not edit.]

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #1: Yes

Reviewer #2: Partly

**********

2. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #1: No

Reviewer #2: N/A

**********

3. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #1: Yes

Reviewer #2: Yes

**********

4. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #1: Yes

Reviewer #2: Yes

**********

5. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #1: This paper presents a data dependence analyzer for binary codes. An existing tool is used to manipulate the binary for extracting memory access information. Dynamic abstract interpretation is used to identify data dependencies. The paper mentions the use of such a tool to support speculative execution; however, the demonstration of its effectiveness is missing. The experimental section shows relatively low overhead.

The paper is incomplete and not organized well; however, it was not that difficult to follow. Many details are missing in this paper.

As per PLUS ONE reviewing policies, I am not evaluating how useful binary data dependence analysis is.

1. Why is the evaluation limited to Polybench? What is the rationale for evaluating the proposed work only on linear codes? Why were some of the benchmarks in Polybench excluded?

2. The authors should "clearly" specify the kind of code this framework can handle. Is this work compatible with non-linear codes? If yes, evaluate the proposed approach on SPEC benchmarks; If not why? The restriction of the approach and the implementation should be separately discussed.

3. How important is the notion of "loop iterators" and "loop bounds" for this paper? Is this work compatible with codes with indirect accesses?

4.1. Compare the scope of this work w.r.t Apollo. Apollo can support affine and semi-affine codes. Can this framework handle the same?

4.2. Can this work be used to build the Polyhedral model so that more advanced loop transformations can be applied (Apollo does something like this)? Or is the work just directed towards speculative parallelization /vectorization.

5. Does the overhead reported in Figure 2 include profiling and function extraction overheads? It is better to split the overhead of each component and redraw Figure 2 as a stacked bar chart.

6. The paper mentions speculative execution but does not present any results. Adding this data can demonstrate potential speed up.

Reviewer #2: This paper describes a new method for extracting data dependence from binary code using abstract interpretation at runtime.

This paper is in general well written and easy to understand. This helps me quickly focus on evaluating the technical work of this paper. I do have three questions that I hope the authors to address:

1. The evaluations fall short to support the claim by the author that “Our initial results the accuracy of our proposed approach in detecting data dependence dynamically”. Even though the table 2 in the paper shows that the proposed approach finds all the actual data dependency (true positives), the paper does not contain any description about false positive. At line 596, the sentence “Moreover, the second column explains the true positives.” indicates that table 2 only contains true positive numbers.

2. The experiments in this paper do not contain comparisons against any baseline. I do understand that it is likely that there is not any previous work on detecting data dependence on binary code. However, there still should be baseline to show the necessity of each component in the proposed approach. For example, I can propose a simple baseline that uses static binary level backward slicing to determine data dependence; such baseline does not incur “runtime” overhead and can be implemented with existing dataflow analysis toolkit, such as the dataflowAPI in Dyninst (github.com/dyninst/dyninst). I do not claim this baseline is better than the proposed approach. However, line 603 to 605 of the paper states that the data dependences are in “a C equation” and “two C statement”. A C equation typically correspond to several adjacent machine instructions; static analysis can extract data dependence for such cases. In other words, while the proposed approach has good potential, the evaluation does not highlight the actual effectiveness of the proposed approach.

3. In Section 4.3.2 Abstract Operations, the authors do not discuss how to handle function calls. The hot function can contain a loop in which multiple small functions are called. It is not clear to me how the proposed approach can be applied to this case.

In summary, I do believe this paper has great potential and the proposed approach looks promising, but the evaluations need improving.

**********

6. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #1: No

Reviewer #2: No

[NOTE: If reviewer comments were submitted as an attachment file, they will be attached to this email and accessible via the submission site. Please log into your account, locate the manuscript record, and check for the action link "View Attachments". If this link does not appear, there are no attachment files to be viewed.]

While revising your submission, please upload your figure files to the Preflight Analysis and Conversion Engine (PACE) digital diagnostic tool, https://pacev2.apexcovantage.com/. PACE helps ensure that figures meet PLOS requirements. To use PACE, you must first register as a user. Registration is free. Then, login and navigate to the UPLOAD tab, where you will find detailed instructions on how to use the tool. If you encounter any issues or have any questions when using PACE, please email us at figures@plos.org. Please note that Supporting Information files do not need this step.

Revision 1

All responses to comments are written in the attached file "Response to Reviewers"

Attachments
Attachment
Submitted filename: Response to Reviewers.pdf
Decision Letter - Rafael Sachetto Oliveira, Editor

PONE-D-19-16831R1

Binary-level data dependence analysis of hot execution regions using abstract interpretation at runtime

PLOS ONE

Dear Mrs. Omar,

Thank you for submitting your manuscript to PLOS ONE. After careful consideration, we feel that it has merit but does not fully meet PLOS ONE’s publication criteria as it currently stands. Therefore, we invite you to submit a revised version of the manuscript that addresses the points raised during the review process.

We would appreciate receiving your revised manuscript by Apr 20 2020 11:59PM. When you are ready to submit your revision, log on to https://www.editorialmanager.com/pone/ and select the 'Submissions Needing Revision' folder to locate your manuscript file.

If you would like to make changes to your financial disclosure, please include your updated statement in your cover letter.

To enhance the reproducibility of your results, we recommend that if applicable you deposit your laboratory protocols in protocols.io, where a protocol can be assigned its own identifier (DOI) such that it can be cited independently in the future. For instructions see: http://journals.plos.org/plosone/s/submission-guidelines#loc-laboratory-protocols

Please include the following items when submitting your revised manuscript:

  • A rebuttal letter that responds to each point raised by the academic editor and reviewer(s). This letter should be uploaded as separate file and labeled 'Response to Reviewers'.
  • A marked-up copy of your manuscript that highlights changes made to the original version. This file should be uploaded as separate file and labeled 'Revised Manuscript with Track Changes'.
  • An unmarked version of your revised paper without tracked changes. This file should be uploaded as separate file and labeled 'Manuscript'.

Please note while forming your response, if your article is accepted, you may have the opportunity to make the peer review history publicly available. The record will include editor decision letters (with reviews) and your responses to reviewer comments. If eligible, we will contact you to opt in or out.

We look forward to receiving your revised manuscript.

Kind regards,

Rafael Sachetto Oliveira, Ph.D

Academic Editor

PLOS ONE

[Note: HTML markup is below. Please do not edit.]

Reviewers' comments:

Reviewer's Responses to Questions

Comments to the Author

1. If the authors have adequately addressed your comments raised in a previous round of review and you feel that this manuscript is now acceptable for publication, you may indicate that here to bypass the “Comments to the Author” section, enter your conflict of interest statement in the “Confidential to Editor” section, and submit your "Accept" recommendation.

Reviewer #2: (No Response)

Reviewer #3: All comments have been addressed

**********

2. Is the manuscript technically sound, and do the data support the conclusions?

The manuscript must describe a technically sound piece of scientific research with data that supports the conclusions. Experiments must have been conducted rigorously, with appropriate controls, replication, and sample sizes. The conclusions must be drawn appropriately based on the data presented.

Reviewer #2: Partly

Reviewer #3: Yes

**********

3. Has the statistical analysis been performed appropriately and rigorously?

Reviewer #2: Yes

Reviewer #3: N/A

**********

4. Have the authors made all data underlying the findings in their manuscript fully available?

The PLOS Data policy requires authors to make all data underlying the findings described in their manuscript fully available without restriction, with rare exception (please refer to the Data Availability Statement in the manuscript PDF file). The data should be provided as part of the manuscript or its supporting information, or deposited to a public repository. For example, in addition to summary statistics, the data points behind means, medians and variance measures should be available. If there are restrictions on publicly sharing data—e.g. participant privacy or use of data from a third party—those must be specified.

Reviewer #2: Yes

Reviewer #3: Yes

**********

5. Is the manuscript presented in an intelligible fashion and written in standard English?

PLOS ONE does not copyedit accepted manuscripts, so the language in submitted articles must be clear, correct, and unambiguous. Any typographical or grammatical errors should be corrected at revision, so please note any specific errors here.

Reviewer #2: Yes

Reviewer #3: Yes

**********

6. Review Comments to the Author

Please use the space provided to explain your answers to the questions above. You may also include additional comments for the author, including concerns about dual publication, research ethics, or publication ethics. (Please upload your review as an attachment if it exceeds 20,000 characters)

Reviewer #2: Thanks for the authors' revision. For the responses from the authors about the three questions I raised, my comments are:

1. I do not agree with the statement "Moreover, the false positives, third column, numbers will not affect the speculative parallelization performance. The parallelization decision would be relied on the current state also as well as our dependence analysis."

If the parallelization decision relies on the dependent analysis, then false positives of the dependent analysis will lead to missed parallelization decision. Let me use an extreme example to explain. Suppose I build a dependent analysis where one instruction depends on every other instruction. This analysis will not miss any true dependency (no false negative), but cause a ton of false positive. I do not think we can make any useful parallelization decision based on such analysis with tons of false positive.

The authors provide the results showing that their approach will lead to fewer false positives compared to a base line, so false positive is a not problem for the paper. I think the false positive results improve the paper. However, I think the authors should rewrite the sentences about false positives. I disagree that "false positives will not affect the speculative parallelization performance".

2. I appreciate the authors for adding a strong baseline into the results and add a detailed examples for comparing the baseline with their approach. This definitely helps understanding the strength of the authors' approach. My honest question is in Table 2, both the authors' approach and the baseline find all the true positives in all the benchmarks used by the authors. I am not surprised by the effectiveness of the baseline approach because the authors have stated that the data dependences are in "a C equation" and "two C statements". So, the "true positives" results do not show that authors' new approach is better than the baseline. The authors' new approach is much better for false positives compared to the baseline, but the current revision seems to downplay the importance of false positives.

Therefore, I think the authors either need to find more benchmarks where the new approach finds more true positives compared to the baseline, or clearly explain the importance of false positives. Of course, the best scenario is that the authors can do both.

3. I am fine with putting handling of function calls in future work, which is indeed a difficult problem.

Reviewer #3: The paper is well written and has a good structure and organization. The Authors clearly show the limitations of current related work and the contributions of their proposal in the paper.

The authors adequately answered the questions raised by the reviewers in the revised manuscript. However, the authors need to proofread the paper for grammar in the final submission.

**********

7. PLOS authors have the option to publish the peer review history of their article (what does this mean?). If published, this will include your full peer review and any attached files.

If you choose “no”, your identity will remain anonymous but your review may still be made public.

Do you want your identity to be public for this peer review? For information about this choice, including consent withdrawal, please see our Privacy Policy.

Reviewer #2: No

Reviewer #3: No

[NOTE: If reviewer comments were submitted as an attachment file, they will be attached to this email and accessible via the submission site. Please log into your account, locate the manuscript record, and check for the action link "View Attachments". If this link does not appear, there are no attachment files to be viewed.]

While revising your submission, please upload your figure files to the Preflight Analysis and Conversion Engine (PACE) digital diagnostic tool, https://pacev2.apexcovantage.com/. PACE helps ensure that figures meet PLOS requirements. To use PACE, you must first register as a user. Registration is free. Then, login and navigate to the UPLOAD tab, where you will find detailed instructions on how to use the tool. If you encounter any issues or have any questions when using PACE, please email us at figures@plos.org. Please note that Supporting Information files do not need this step.

Revision 2

We have addressed all reviewers' comments in the attached file called "Responses to Reviewers"

Attachments
Attachment
Submitted filename: Responses to Reviewers.pdf
Decision Letter - Rafael Sachetto Oliveira, Editor

Binary-level data dependence analysis of hot execution regions using abstract interpretation at runtime

PONE-D-19-16831R2

Dear Dr. Omar,

We are pleased to inform you that your manuscript has been judged scientifically suitable for publication and will be formally accepted for publication once it complies with all outstanding technical requirements.

Within one week, you will receive an e-mail containing information on the amendments required prior to publication. When all required modifications have been addressed, you will receive a formal acceptance letter and your manuscript will proceed to our production department and be scheduled for publication.

Shortly after the formal acceptance letter is sent, an invoice for payment will follow. To ensure an efficient production and billing process, please log into Editorial Manager at https://www.editorialmanager.com/pone/, click the "Update My Information" link at the top of the page, and update your user information. If you have any billing related questions, please contact our Author Billing department directly at authorbilling@plos.org.

If your institution or institutions have a press office, please notify them about your upcoming paper to enable them to help maximize its impact. If they will be preparing press materials for this manuscript, you must inform our press team as soon as possible and no later than 48 hours after receiving the formal acceptance. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information, please contact onepress@plos.org.

With kind regards,

Rafael Sachetto Oliveira, Ph.D

Academic Editor

PLOS ONE

Additional Editor Comments (optional):

I am pleased to confirm that your paper has been accepted for publication in Plos One.

Thank you for submitting your work to this journal.

Reviewers' comments:

Formally Accepted
Acceptance Letter - Rafael Sachetto Oliveira, Editor

PONE-D-19-16831R2

Binary-level data dependence analysis of hot execution regions using abstract interpretation at runtime

Dear Dr. Omar:

I am pleased to inform you that your manuscript has been deemed suitable for publication in PLOS ONE. Congratulations! Your manuscript is now with our production department.

If your institution or institutions have a press office, please notify them about your upcoming paper at this point, to enable them to help maximize its impact. If they will be preparing press materials for this manuscript, please inform our press team within the next 48 hours. Your manuscript will remain under strict press embargo until 2 pm Eastern Time on the date of publication. For more information please contact onepress@plos.org.

For any other questions or concerns, please email plosone@plos.org.

Thank you for submitting your work to PLOS ONE.

With kind regards,

PLOS ONE Editorial Office Staff

on behalf of

Dr. Rafael Sachetto Oliveira

Academic Editor

PLOS ONE

Open letter on the publication of peer review reports

PLOS recognizes the benefits of transparency in the peer review process. Therefore, we enable the publication of all of the content of peer review and author responses alongside final, published articles. Reviewers remain anonymous, unless they choose to reveal their names.

We encourage other journals to join us in this initiative. We hope that our action inspires the community, including researchers, research funders, and research institutions, to recognize the benefits of published peer review reports for all parts of the research system.

Learn more at ASAPbio .