Data-flow analysis (original) (raw)

Property Value
dbo:abstract Eine Datenflussanalyse ist eine statische Code-Analyse eines Computerprogramms, die untersucht, zwischen welchen Teilen eines Programms Daten weitergegeben werden und welche Abhängigkeiten daraus resultieren. Ziele solcher Analysen sind Optimierungen des Codes hinsichtlich der Ausführungszeit (durch Löschen überflüssigen Codes, Restrukturierung oder Parallelisierung) und der Speichernutzung. Datenflussanalysen werden in folgende Arten unterteilt: * Vorwärtsanalysen, bei denen der Programmcode mit Hilfe des Kontrollflussgraphen untersucht wird und * Rückwärtsanalysen, bei denen der Programmcode mit Hilfe des umgekehrten Kontrollflussgraphen untersucht wird. (de) Data-flow analysis is a technique for gathering information about the possible set of values calculated at various points in a computer program. A program's control-flow graph (CFG) is used to determine those parts of a program to which a particular value assigned to a variable might propagate. The information gathered is often used by compilers when optimizing a program. A canonical example of a data-flow analysis is reaching definitions. A simple way to perform data-flow analysis of programs is to set up data-flow equations for each node of the control-flow graph and solve them by repeatedly calculating the output from the input locally at each node until the whole system stabilizes, i.e., it reaches a fixpoint. This general approach, also known as Kildall's method, was developed by Gary Kildall while teaching at the Naval Postgraduate School. (en) 데이터 흐름 분석(Data-flow analysis)은 컴퓨터 프로그램에서 다양한 지점에서 계산된 가능한 값들의 집합에 대한 정보를 모으는 기법이다. 프로그램의 제어 흐름 그래프(CFG)는 프로그램의 이러한 값들에서 변수에 저장되기 위해서는 어떤 값이 전파돼야 하는지를 결정하는데 사용된다. 모은 정보는 종종 컴파일러가 프로그램을 최적화할 때 사용된다. 데이터 흐름 분석의 고전적인 예로 (reaching definition)가 있다. 프로그램의 데이터 흐름 분석을 수행하는 간단한 방법은 제어 흐름 그래프의 각 정점에 대해 데이터 흐름 방정식을 세우고, 전체 연립 방정식이 수렴할 때까지, 즉 고정점에 도달할 때까지 각 정점에서 입력에 대한 출력을 반복적으로 계산하여 푸는 것이다. 이 일반적인 접근법은 개리 킬달에 의해 개발되었다. (ko) データフロー解析(英: Data-flow analysis)は、プログラム内の様々な位置で、取りうる値の集合に関する情報を収集する技法である。制御フローグラフ (CFG) を使って変数の値が伝播するかどうかなどの情報を集め、利用する。このようにして集められた情報はコンパイラが最適化に利用する。データフロー解析の基本は (reaching definition) である。 あるプログラムのデータフロー解析を行う単純な方法は、制御フローグラフの各ノードについてデータフロー方程式を設定し、全体として安定した状態、すなわち不動点に到達するまで、それらの式を繰り返し計算していく。完了することを保証するためには、不動点データフロー解析に基づくデータフロー方程式が必要である。すなわち、各式のローカルな更新は単調である。この技法の基本はゲイリー・キルドールが海軍大学院で教えていたころに開発したものである。 (ja) 数据流分析 是一种用于收集计算机程序在不同点计算的值的信息的技术。一个程序的控制流圖(control flow graph, CFG)被用来确定对变量的一次赋值可能传播到程序中的哪些部分。这些信息通常被编译器用来优化程序。数据流分析的一个典型的例子就是可到达定义的计算。 进行数据流分析的最简单的一种形式就是对控制流图的某个节点建立数据流方程,然后通过迭代计算,反复求解,直到到达不动点。这种一般的方法是由在讲课时发明的。 (zh)
dbo:wikiPageExternalLink http://www.cse.iitb.ac.in/~uday/dfaBook-web https://archive.org/details/flowanalysisofco0000hech https://archive.org/details/advancedcompiler00much
dbo:wikiPageID 826951 (xsd:integer)
dbo:wikiPageLength 27279 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1112320718 (xsd:integer)
dbo:wikiPageWikiLink dbr:Entry_point dbr:Naval_Postgraduate_School dbr:Morgan_Kaufmann_Publishers dbr:Topological_sort dbr:Dead_code_elimination dbr:Join_(mathematics) dbr:Definite_assignment_analysis dbr:Depth-first_search dbr:Requirement dbr:Software_feature dbr:Compiler dbr:Control-flow_graph dbr:Node_(computer_science) dbr:Use-define_chain dbr:Gary_Kildall dbr:Monotonic dbr:Control_flow dbr:Control_flow_analysis dbr:Live_variable_analysis dbr:Computer_program dbr:CRC_Press dbc:Compiler_optimizations dbr:Tree_(graph_theory) dbr:Tree_traversal dbr:Basic_block dbr:Fixpoint dbr:Abstract_interpretation dbr:Bit_array dbr:Reaching_definition dbr:Available_expression dbc:Data-flow_analysis dbr:Springer_Science+Business_Media dbr:Optimizing_compiler dbr:Reaching_definitions dbr:XLT86 dbr:Use_case dbr:Partial_order dbr:Taylor_and_Francis_Group dbr:Elsevier_North-Holland_Inc. dbr:Constant_propagation dbr:Postorder dbr:Liveness_analysis dbr:Morgan_Kaufmann
dbp:cs1Dates y (en)
dbp:date January 2020 (en)
dbp:wikiPageUsesTemplate dbt:Anchor dbt:Cite_book dbt:Code dbt:Col-begin dbt:Col-break dbt:Col-end dbt:More_citations_needed_section dbt:Reflist dbt:Short_description dbt:Use_dmy_dates dbt:Software_development_process dbt:Compiler_optimizations
dct:subject dbc:Compiler_optimizations dbc:Data-flow_analysis
gold:hypernym dbr:Technique
rdf:type dbo:TopicalConcept yago:WikicatCompilerOptimizations yago:Abstraction100002137 yago:Act100030358 yago:Action100037396 yago:Change100191142 yago:ChangeOfState100199130 yago:Event100029378 yago:Improvement100248977 yago:Optimization100260051 yago:PsychologicalFeature100023100 yago:YagoPermanentlyLocatedEntity
rdfs:comment 데이터 흐름 분석(Data-flow analysis)은 컴퓨터 프로그램에서 다양한 지점에서 계산된 가능한 값들의 집합에 대한 정보를 모으는 기법이다. 프로그램의 제어 흐름 그래프(CFG)는 프로그램의 이러한 값들에서 변수에 저장되기 위해서는 어떤 값이 전파돼야 하는지를 결정하는데 사용된다. 모은 정보는 종종 컴파일러가 프로그램을 최적화할 때 사용된다. 데이터 흐름 분석의 고전적인 예로 (reaching definition)가 있다. 프로그램의 데이터 흐름 분석을 수행하는 간단한 방법은 제어 흐름 그래프의 각 정점에 대해 데이터 흐름 방정식을 세우고, 전체 연립 방정식이 수렴할 때까지, 즉 고정점에 도달할 때까지 각 정점에서 입력에 대한 출력을 반복적으로 계산하여 푸는 것이다. 이 일반적인 접근법은 개리 킬달에 의해 개발되었다. (ko) データフロー解析(英: Data-flow analysis)は、プログラム内の様々な位置で、取りうる値の集合に関する情報を収集する技法である。制御フローグラフ (CFG) を使って変数の値が伝播するかどうかなどの情報を集め、利用する。このようにして集められた情報はコンパイラが最適化に利用する。データフロー解析の基本は (reaching definition) である。 あるプログラムのデータフロー解析を行う単純な方法は、制御フローグラフの各ノードについてデータフロー方程式を設定し、全体として安定した状態、すなわち不動点に到達するまで、それらの式を繰り返し計算していく。完了することを保証するためには、不動点データフロー解析に基づくデータフロー方程式が必要である。すなわち、各式のローカルな更新は単調である。この技法の基本はゲイリー・キルドールが海軍大学院で教えていたころに開発したものである。 (ja) 数据流分析 是一种用于收集计算机程序在不同点计算的值的信息的技术。一个程序的控制流圖(control flow graph, CFG)被用来确定对变量的一次赋值可能传播到程序中的哪些部分。这些信息通常被编译器用来优化程序。数据流分析的一个典型的例子就是可到达定义的计算。 进行数据流分析的最简单的一种形式就是对控制流图的某个节点建立数据流方程,然后通过迭代计算,反复求解,直到到达不动点。这种一般的方法是由在讲课时发明的。 (zh) Data-flow analysis is a technique for gathering information about the possible set of values calculated at various points in a computer program. A program's control-flow graph (CFG) is used to determine those parts of a program to which a particular value assigned to a variable might propagate. The information gathered is often used by compilers when optimizing a program. A canonical example of a data-flow analysis is reaching definitions. (en) Eine Datenflussanalyse ist eine statische Code-Analyse eines Computerprogramms, die untersucht, zwischen welchen Teilen eines Programms Daten weitergegeben werden und welche Abhängigkeiten daraus resultieren. Ziele solcher Analysen sind Optimierungen des Codes hinsichtlich der Ausführungszeit (durch Löschen überflüssigen Codes, Restrukturierung oder Parallelisierung) und der Speichernutzung. Datenflussanalysen werden in folgende Arten unterteilt: (de)
rdfs:label Data-flow analysis (en) Datenflussanalyse (de) データフロー解析 (ja) 데이터 흐름 분석 (ko) 数据流分析 (zh)
owl:sameAs freebase:Data-flow analysis yago-res:Data-flow analysis wikidata:Data-flow analysis dbpedia-de:Data-flow analysis dbpedia-fa:Data-flow analysis dbpedia-ja:Data-flow analysis dbpedia-ko:Data-flow analysis dbpedia-no:Data-flow analysis dbpedia-sk:Data-flow analysis dbpedia-sr:Data-flow analysis dbpedia-zh:Data-flow analysis https://global.dbpedia.org/id/ECSk
prov:wasDerivedFrom wikipedia-en:Data-flow_analysis?oldid=1112320718&ns=0
foaf:isPrimaryTopicOf wikipedia-en:Data-flow_analysis
is dbo:knownFor of dbr:Alireza_Shokoohi
is dbo:wikiPageDisambiguates of dbr:DFA
is dbo:wikiPageRedirects of dbr:Data_flow_analysis dbr:Data_flow_graph dbr:Dataflow_graph dbr:Dataflow_analysis dbr:Flow_analysis dbr:Global_data-flow_analysis dbr:Global_data_flow_analysis dbr:Data-flow_graph dbr:Data_Flow_Analysis dbr:Kildall's_algorithm dbr:Kildall's_method
is dbo:wikiPageWikiLink of dbr:ProGuard dbr:Alireza_Shokoohi dbr:History_of_compiler_construction dbr:Jtest dbr:List_of_important_publications_in_computer_science dbr:List_of_pioneers_in_computer_science dbr:VeriFlux dbr:Dead-code_elimination dbr:Dead_code dbr:Definite_assignment_analysis dbr:List_of_programmers dbr:Compiler dbr:Control-flow_diagram dbr:Control-flow_graph dbr:GNU_lightning dbr:Gary_Kildall dbr:Control_flow_analysis dbr:Thomas_W._Reps dbr:MALPAS_Software_Static_Analysis_Toolset dbr:Shmuel_Sagiv dbr:Stalin_(Scheme_implementation) dbr:Data_flow_analysis dbr:Data_flow_graph dbr:Dataflow_graph dbr:DFA dbr:Head/tail_breaks dbr:Dataflow dbr:Dataflow_analysis dbr:Fixed_point_(mathematics) dbr:Parasoft_C/C++test dbr:Disassembler dbr:Flow_analysis dbr:Software_regression dbr:Harry_R._Lewis dbr:Software_testing_tactics dbr:Abstract_interpretation dbr:Reaching_definition dbr:Software_testing dbr:Solebit dbr:Global_data-flow_analysis dbr:Global_data_flow_analysis dbr:Data-flow_graph dbr:Data_Flow_Analysis dbr:Neil_D._Jones dbr:Open64 dbr:Optimizing_compiler dbr:Sacrococcygeal_teratoma dbr:Explicit_data_graph_execution dbr:ISO/IEC_29119 dbr:Live-variable_analysis dbr:Fixed-point_combinator dbr:Kildall's_algorithm dbr:Kildall's_method
is dbp:knownFor of dbr:Alireza_Shokoohi
is foaf:primaryTopic of wikipedia-en:Data-flow_analysis