From 236a1ddf6b87e05d4aaf83e26b229ed8862fd4c7 Mon Sep 17 00:00:00 2001 From: Matthias Veigel Date: Thu, 22 May 2025 15:56:46 +0200 Subject: [PATCH] Small fixes --- main.typ | 71 +++++++++++++++++++++++---------------------- refs.bib | 49 +++++++++++++++++++++---------- review_process.png | Bin 0 -> 45868 bytes review_process.svg | 3 -- 4 files changed, 70 insertions(+), 53 deletions(-) create mode 100644 review_process.png delete mode 100644 review_process.svg diff --git a/main.typ b/main.typ index 4a7efa8..76edf3b 100644 --- a/main.typ +++ b/main.typ @@ -45,15 +45,15 @@ todo todo = Methodology -This publication was created following the process described in @process_fig. The protocol for the review is divided up into the object of the research see @research_questions_s, the search strategy see @sas_s, the selection criteria see @selection_criteria_s and the data extraction strategy see @data_extraction_s. +This publication is created following the process described in @process_fig. The protocol for the review is divided up into the object of the research see @research_questions_s, the search strategy see @sas_s, the selection criteria see @selection_criteria_s and the data extraction strategy see @data_extraction_s. #place( bottom + center, scope: "parent", float: true, [ #figure( - caption: [Overview of the review process], - image("review_process.svg") + caption: [Overview of the review process. Adapted from @ciccozzi_execution_2019 and @gotz_claimed_2021.], + image("review_process.png") ) ] ) @@ -65,28 +65,33 @@ This goal has been defined in two research questions: This questions aims to identify which advantages DFA has over other optimization techniques and which disadvantages it has when used. - RQ2 --- How is dataflow analysis used in current compilers? \ - This questions aims to identify how DFA is already used in current compilers and if it is used during normal compilation or if it has to be explicitly enabled. + This questions aims to identify how DFA is already used in current compilers, what optimizations are done with it and if it is used during normal compilation or if it has to be explicitly enabled. == Search and selection strategy -My search strategy consisted of 4 steps as seen in @sas_fig. \ +Our search strategy consisted of 4 steps as seen in @sas_fig. \ #figure( caption: [Search string used in electronic databases], kind: "raw", align(left)[ + // ("dataflow analysis" OR "data flow analysis") AND (compiler OR compilers OR compilation) AND (optimization OR optimizations) AND (advantages OR disadvantages OR strengths OR limitations OR trade-offs) AND (implementation OR usage OR used OR applied) + // ("Full Text .AND. Metadata":"dataflow analysis" OR "Full Text .AND. Metadata":"data flow analysis") AND ("Full Text .AND. Metadata":compiler OR "Full Text .AND. Metadata":compilers OR "Full Text .AND. Metadata":compilation) AND ("Full Text .AND. Metadata":optimization OR "Full Text .AND. Metadata":optimizations) AND ("Full Text .AND. Metadata":advantages OR "Full Text .AND. Metadata":disadvantages OR "Full Text .AND. Metadata":strengths OR "Full Text .AND. Metadata":limitations OR "Full Text .AND. Metadata":trade-offs) AND ("Full Text .AND. Metadata":implementation OR "Full Text .AND. Metadata":usage OR "Full Text .AND. Metadata":used OR "Full Text .AND. Metadata":applied) #set raw(syntaxes: "search-string.sublime-syntax", theme: "search-string.tmTheme") + // AND ("compiler optimization" OR "compilation optimization" OR "compiler optimizations" OR "compilation optimizations" OR "optimizing compiler" OR "optimizing compilers") ```SearchString - dfa OR (dataflow AND analysis) - AND (compiler* OR compilation) - AND (optimiz*) + ("dataflow analysis" OR "data flow analysis") + AND (compiler OR compilers OR compilation) + AND (optimization OR optimizations) + AND (advantages OR disadvantages OR strengths OR limitations OR trade-offs) + AND (implementation OR usage OR used OR applied) ``` ] ) -The papers from the first steps are collected from the electronic databases ACM Digital Library, IEEE Xplore, Springer Link, Web of Science with the search string seen in @sas_search_string. +The papers from the first steps are collected from the electronic databases ACM Digital Library, IEEE Xplore, Springer Link with the search string seen in @sas_search_string. The search string in @sas_search_string was created using the research questions in @research_questions_s and was always applied to the full text of the papers. \ In the second step all duplicates which where returned from multiple databases where removed from the results. \ In the third step the selection was filtered by applying all selection criteria from @selection_criteria_s. \ -In the forth step I snowballed the previously acquired results. This was to find relevant papers which where not included because of either the search string or the search criteria. \ -Afterwards all papers where evaluated based on the data extraction items mentioned in @data_extraction_s. +In the fourth step I snowballed the previously acquired results. This was to find relevant papers which where not included because of either the search string or the search criteria. \ +Afterwards all papers of the snowballing where evaluated based on the data extraction items mentioned in @data_extraction_s. #place( auto, scope: "parent", @@ -105,16 +110,14 @@ Afterwards all papers where evaluated based on the data extraction items mention rect((0, 0), (rel: bs), name: "acm") rect((0, -(bs.at(1)+0.3)*1), (rel: bs), name: "ieee") rect((0, -(bs.at(1)+0.3)*2), (rel: bs), name: "springer") - rect((0, -(bs.at(1)+0.3)*3), (rel: bs), name: "websci") - rect((bs.at(0)+1.5, -(bs.at(1)*1.5+0.45)), (rel: bs), name: "dup") - rect((bs.at(0)*2+2.25, -(bs.at(1)*1.5+0.45)), (rel: bs), name: "sel") - rect((bs.at(0)*3+3, -(bs.at(1)*1.5+0.45)), (rel: bs), name: "snow") - rect((bs.at(0)*4+3.75, -(bs.at(1)*1.5+0.45)), (rel: bs), name: "inc") + rect((bs.at(0)+1.5, -(bs.at(1)+0.3)), (rel: bs), name: "dup") + rect((bs.at(0)*2+2.25, -(bs.at(1)+0.3)), (rel: bs), name: "sel") + rect((bs.at(0)*3+3, -(bs.at(1)+0.3)), (rel: bs), name: "snow") + rect((bs.at(0)*4+3.75, -(bs.at(1)+0.3)), (rel: bs), name: "inc") line("acm.east", (rel: (0.75, 0)), name: "dlu") line("ieee.east", (rel: (0.75, 0))) - line("springer.east", (rel: (0.75, 0))) - line("websci.east", (rel: (0.75, 0)), name: "dld") + line("springer.east", (rel: (0.75, 0)), name: "dld") line("dlu.end", "dld.end", name: "dl") set-style(mark: (end: "straight")) @@ -124,9 +127,8 @@ Afterwards all papers where evaluated based on the data extraction items mention line("snow.east", "inc.west") content("acm", align(center)[ACM Digital Library \ n = ]) - content("ieee", align(center)[IEEExplore \ n = ]) + content("ieee", align(center)[IEEE Xplore \ n = ]) content("springer", align(center)[Springer Link \ n = ]) - content("websci", align(center)[Web of Science \ n = ]) content("dup", align(center)[Duplicate removal \ n = ]) content("sel", align(center)[Application of \ selection criteria \ n = ]) content("snow", align(center)[Snowballing \ n = ]) @@ -141,29 +143,31 @@ For a publication to be relevant it has to satisfy at least one inclusion criter #[ #v(10pt) #set enum(numbering: (.., i) => "IC" + str(i)) - + Publications comparing DFA to other optimization techniques - + Publications focusing on a specific compiler (e.g., LLVM, Java JIT, C\# JIT) - + Publications providing an implementation for a DFA optimization + + Publications discussing advantages and disadvantages of DFA compared to other optimization techniques. + + Publications focusing on one or more compilers (e.g., LLVM, Java JIT, C\# JIT). + + Publications providing an implementation for a DFA optimization. #v(10pt) ] -_IC1_ was chosen to help answer _RQ1_. \ +We chose _IC1_ to help answer _RQ1_. \ _IC2_ is to include publications which talk about a compiler and how DFA is implemented in it. \ -_IC3_ is to further include publications which directly provide an implementation +_IC3_ is to further include publications which directly provide an implementation. #[ #v(10pt) #set enum(numbering: (.., i) => "EC" + str(i)) - + Publications which discuss DFA in a non-compiler context - + Publications written in a language other than english - + Secondary and tertiary publications (e.g., systematic literaturer reviews, surveys) - + Publications in the form of tutorial papers, short papers, poster papers, editorials - + Publications for which the full text is not available + + Publications which discuss DFA in a non-compiler context. + + Publications written in a language other than english. + + Secondary and tertiary publications (e.g., systematic literaturer reviews, surveys). + + Publications in the form of tutorial papers, short papers, poster papers, editorials. + + Publications for which the full text is not available. + + Publications published before 2010. #v(10pt) ] _EC1_ is to exclude publications which talk about DFA in other contexts which are not relevant to compiler optimization. \ -_EC2-EC5_ are to exclude publications which don't provide enough information to include them in this publication. +_EC2-EC5_ are to exclude publications which do not provide enough information to include them in this publication. \ +_EC6_ is to make sure the publications are still relevant. == Data extraction -Based on the research questions I wrote 9 data items to exrtract from all included publications. @data_extraction_table lists all data items. \ +Based on the research questions I collected 9 data items to exrtract from all included publications. @data_extraction_table lists all data items. \ Data items _D1-D3_ are to document the source of the publication. \ _D4_ and _D5_ are to explicitly list the advantages and disadvantages for answering _RQ1_. \ _D6_ and _D7_ show in which compiler DFA was implemented and if it is running directly on a programming language like C++ or if it runs on a intermediate language like LLVM IR. \ @@ -203,8 +207,7 @@ All data items were extracted from the full text of all included publications. #colbreak() #set heading(numbering: none) -= References -#bibliography("refs.bib", title: none, style: "association-for-computing-machinery") +#bibliography("refs.bib", title: "References", style: "association-for-computing-machinery") /* #colbreak(weak: true) diff --git a/refs.bib b/refs.bib index c862e98..5bb4e29 100644 --- a/refs.bib +++ b/refs.bib @@ -1,19 +1,36 @@ -@article{netwok2020, - title={At-scale impact of the {Net Wok}: A culinarically holistic investigation of distributed dumplings}, - author={Astley, Rick and Morris, Linda}, - journal={Armenian Journal of Proceedings}, - volume={61}, - pages={192--219}, - year=2020, - publisher={Automatic Publishing Inc.} + +@article{ciccozzi_execution_2019, + title = {Execution of {UML} models: a systematic review of research and practice}, + volume = {18}, + issn = {1619-1366, 1619-1374}, + shorttitle = {Execution of {UML} models}, + url = {http://link.springer.com/10.1007/s10270-018-0675-4}, + doi = {10.1007/s10270-018-0675-4}, + abstract = {Several research efforts from different areas have focused on the execution of UML models, resulting in a diverse and complex scientific body of knowledge. With this work, we aim at identifying, classifying, and evaluating existing solutions for the execution of UML models. We conducted a systematic review in which we selected 63 research studies and 19 tools among over 5400 entries by applying a systematic search and selection process. We defined a classification framework for characterizing solutions for UML model execution, and we applied it to the 82 selected entries. Finally, we analyzed and discussed the obtained data. From the analyzed data, we drew the following conclusions: (i) There is a growing scientific interest on UML model execution; (ii) solutions providing translational execution clearly outnumber interpretive solutions; (iii) model-level debugging is supported in very few cases; (iv) only a few research studies provide evidence of industrial use, with very limited empirical evaluations; (v) the most common limitation deals with coverage of the UML language. Based on these observations, we discuss potential research challenges and implications for the future of UML model execution. Our results provide a concise overview of states of the art and practice for UML model execution intended for use by both researchers and practitioners.}, + language = {en}, + number = {3}, + urldate = {2025-05-22}, + journal = {Software \& Systems Modeling}, + author = {Ciccozzi, Federico and Malavolta, Ivano and Selic, Bran}, + month = jun, + year = {2019}, + pages = {2313--2360}, } -@article{netwok2022, - title={{Net Wok}++: Taking distributed dumplings to the cloud}, - author={Morris, Linda and Astley, Rick}, - journal={Armenian Journal of Proceedings}, - volume={65}, - pages={101--118}, - year=2022, - publisher={Automatic Publishing Inc.} +@article{gotz_claimed_2021, + title = {Claimed advantages and disadvantages of (dedicated) model transformation languages: a systematic literature review}, + volume = {20}, + issn = {1619-1366, 1619-1374}, + shorttitle = {Claimed advantages and disadvantages of (dedicated) model transformation languages}, + url = {https://link.springer.com/10.1007/s10270-020-00815-4}, + doi = {10.1007/s10270-020-00815-4}, + abstract = {There exists a plethora of claims about the advantages and disadvantages of model transformation languages compared to general-purpose programming languages. With this work, we aim to create an overview over these claims in the literature and systematize evidence thereof. For this purpose, we conducted a systematic literature review by following a systematic process for searching and selecting relevant publications and extracting data. We selected a total of 58 publications, categorized claims about model transformation languages into 14 separate groups and conceived a representation to track claims and evidence through the literature. From our results, we conclude that: (i) the current literature claims many advantages of model transformation languages but also points towards certain deficits and (ii) there is insufficient evidence for claimed advantages and disadvantages and (iii) there is a lack of research interest into the verification of claims.}, + language = {en}, + number = {2}, + urldate = {2025-05-22}, + journal = {Software and Systems Modeling}, + author = {Götz, Stefan and Tichy, Matthias and Groner, Raffaela}, + month = apr, + year = {2021}, + pages = {469--503}, } diff --git a/review_process.png b/review_process.png new file mode 100644 index 0000000000000000000000000000000000000000..c9ae091669032a4e0da2f90a8d0494b7d3f936c1 GIT binary patch literal 45868 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 z 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 UQq6$54jK4|R@XgWsA?AYKecnoGXMYp literal 0 HcmV?d00001 diff --git a/review_process.svg b/review_process.svg deleted file mode 100644 index 5d21abe..0000000 --- a/review_process.svg +++ /dev/null @@ -1,3 +0,0 @@ - - -
Planning
Planning
Research
questions
Research...
Protocol
Protocol
Review need
identification
Review need...
Research questions
definition
Research questions...
Protocol
definition
Protocol...
Protocol
evaluation
Protocol...
Conducting
Conducting
Database
search
Database...
Selection
review
Selection...
Snowballing
Snowballing
Data extraction
Data extraction
Data
synthesis
Data...
Set of
publications
Set of...
Relevant publications
Relevant pub...
Data
items
Data...
Reporting
Reporting
Final report
Final report
Threats analysis
Threats analysis
Report writing
Report writing
Report evaluation
Report evaluation
Activity
Activity
Artifact
Artifact
Activity Flow
Activity Flow
Artifact Flow
Artifact Flow
\ No newline at end of file