Abstract interpretation (original) (raw)

About DBpedia

抽象解釈(ちゅうしょうかいしゃく、英: Abstract interpretation)は、コンピュータプログラムの意味論の健全な近似の理論であり、順序集合(特に束)における単調関数に基づいている。全ての計算を実施することなく、プログラムの部分的な実行(ある種の部分評価)をするものと見ることができ、それによりプログラムの意味に関する情報(例えば、制御構造、情報の流れなど)を獲得する。 主な応用として、形式的な静的コード解析があり、プログラム実行に関する情報を自動抽出するものである。このような解析には次の2つの利用法がある。 * コンパイラ内部で、対象プログラムを解析し、特定の最適化やプログラムの変換が可能かどうかを決定する。 * デバッグ時や、特定の種類のバグが存在しないことを保証するとき。 抽象解釈は、Patrick Cousot と Radhia Cousot によって定式化された。

thumbnail

Property Value
dbo:abstract In computer science, abstract interpretation is a theory of sound approximation of the semantics of computer programs, based on monotonic functions over ordered sets, especially lattices. It can be viewed as a partial execution of a computer program which gains information about its semantics (e.g., control-flow, data-flow) without performing all the calculations. Its main concrete application is formal static analysis, the automatic extraction of information about the possible executions of computer programs; such analyses have two main usages: * inside compilers, to analyse programs to decide whether certain optimizations or transformations are applicable; * for debugging or even the certification of programs against classes of bugs. Abstract interpretation was formalized by the French computer scientist working couple Patrick Cousot and Radhia Cousot in the late 1970s. (en) Die abstrakte Interpretation ist eine Methode aus dem Bereich der Programmanalyse. Ziel der abstrakten Interpretation ist es Informationen über das Verhalten von Programmen (Analyse der Semantik) zu bekommen, indem man von Teilen des Programms abstrahiert und die Anweisungen Schritt für Schritt nachvollzieht (Interpretation). Bei der abstrakten Interpretation konzentriert man sich auf Teilaspekte der Ausführung der Anweisungen, man lässt einiges an Information geschickt weg (Abstraktion), erhält letztlich eine Näherung an die Programmsemantik, die aber für den gewünschten Zweck vollkommen ausreichen kann. Viele Eigenschaften von Programmen sind nicht berechenbar, d. h. man kann kein Programm angeben, welches sie in endlicher Zeit mit endlichen Speicherressourcen für beliebige Programme berechnet. Durch eine Approximation, also das Weglassen von einigen Informationen, kann man zwar Fragen nach bestimmten Eigenschaften gar nicht mehr klären, dafür werden aber andere Eigenschaften in der vergröberten Sicht erst berechenbar. Das Verfahren stammt von Radhia Cousot und Patrick Cousot. (de) L'interprétation abstraite est une théorie d'approximation de la sémantique de programmes informatiques fondée sur les fonctions monotones pour ensembles ordonnés, en particulier les treillis (en anglais : lattice). Elle peut être définie comme une exécution partielle d'un programme pour obtenir des informations sur sa sémantique (par exemple, sa structure de contrôle, son flot de données) sans avoir à en faire le traitement complet. Sa principale fonction concrète est l'analyse statique, l'extraction automatique d'informations sur les exécutions possibles d'un programme ; ces analyses ont deux usages principaux : * pour les compilateurs, afin d'analyser le programme pour déterminer si certaines optimisations ou transformations sont possibles ; * pour le débogage, ou pour prouver l'absence de certains types de bugs dans le programme. L'interprétation abstraite a été formalisée par le professeur Patrick Cousot et le docteur Radhia Cousot. (fr) 抽象解釈(ちゅうしょうかいしゃく、英: Abstract interpretation)は、コンピュータプログラムの意味論の健全な近似の理論であり、順序集合(特に束)における単調関数に基づいている。全ての計算を実施することなく、プログラムの部分的な実行(ある種の部分評価)をするものと見ることができ、それによりプログラムの意味に関する情報(例えば、制御構造、情報の流れなど)を獲得する。 主な応用として、形式的な静的コード解析があり、プログラム実行に関する情報を自動抽出するものである。このような解析には次の2つの利用法がある。 * コンパイラ内部で、対象プログラムを解析し、特定の最適化やプログラムの変換が可能かどうかを決定する。 * デバッグ時や、特定の種類のバグが存在しないことを保証するとき。 抽象解釈は、Patrick Cousot と Radhia Cousot によって定式化された。 (ja) In informatica, l'interpretazione astratta è una teoria di approssimazione valida della semantica dei programmi, basata su funzioni monotone su insiemi ordinati, in particolare reticoli. Può essere vista come una esecuzione parziale di un programma al fine di raccogliere informazioni sulla sua semantica (per esempio control-flow, data-flow) senza eseguire tutti i calcoli. La sua applicazione concreta è l'analisi statica, l'estrazione di informazione automatica circa le possibili esecuzioni di programmi; tali analisi hanno due scopi principali: * all'interno di compilatori, per analizzare programmi al fine di eseguire determinate ottimizzazioni o trasformazioni (per esempio offuscamenti); * nel debugging o per la certificazione di programmi contro classi di bug. L'interpretazione astratta fu formalizzata dalla coppia francese Patrick Cousot e alla fine del 1970. (it) 在计算机科学中,抽象释义是基于在有序集合特别是格上的单调函数,计算机程序的语义的可靠逼近理论。它可以被看作对计算机程序的部分,获取关于它的语义信息(比如,控制结构、)而不进行所有计算。 它的主要具体应用是形式静态分析,关于计算机程序的可能执行的信息的自动提取;比如这种分析有两个主要用途: * 在编译器内部,分析程序来确定特定或是否是可适用的; * 针对缺陷类的程序的调试甚至校验。 抽象释义是 和 所形式化的。 (zh)
dbo:thumbnail wiki-commons:Special:FilePath/Abstract_interpretation_of_integers_by_signs_svg.svg?width=300
dbo:wikiPageExternalLink http://www.cs.unipr.it/~bagnara/Papers/PDF/Q485.pdf http://www.dsi.unive.it/~avp/ http://www.mpi-inf.mpg.de/vtsa08/slides/sutre2.pdf https://dblp.uni-trier.de/db/conf/vmcai/ https://dblp1.uni-trier.de/db/conf/sas/ https://www.di.ens.fr/~cousot/AI/ http://staticanalysis.org http://web.mit.edu/afs/athena.mit.edu/course/16/16.399/www/ https://web.archive.org/web/20221123194810/https:/people.cs.ksu.edu/~schmidt/papers/schmidt/Escuela03/home.html http://cs.au.dk/~amoeller/spa/
dbo:wikiPageID 60490 (xsd:integer)
dbo:wikiPageLength 23070 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1123445752 (xsd:integer)
dbo:wikiPageWikiLink dbr:Python_(programming_language) dbr:Monotonic_function dbr:Symbolic_simulation dbr:Patrick_Cousot dbr:Debugging dbr:Information_extraction dbr:Interpreter_(computing) dbr:Polyhedron dbr:Compiler dbr:Optimization_(computer_science) dbr:Galois_connection dbr:Model_checking dbr:Multiplication dbr:Congruence_relation dbr:Calculation dbr:Computational_complexity dbr:Computer_program dbr:Computer_science dbr:Static_program_analysis dbr:Symbolic_execution dbr:C_(programming_language) dbr:Total_function dbr:Data-flow_analysis dbr:Lattice_(order) dbr:Three-valued_logic dbr:Abstraction dbr:Fixed_point_(mathematics) dbr:Ariane_5_Flight_501 dbr:Halting_problem dbr:Haskell_(programming_language) dbr:Interval_arithmetic dbr:Assembly_language dbc:Abstract_interpretation dbc:Program_analysis dbr:LNCS dbr:Symposium_on_Principles_of_Programming_Languages dbr:Homonym dbr:Program_transformation dbr:Widening_(computer_science) dbr:Ascending_chain_condition dbr:Polyhedra dbr:Social_security_number dbr:Control-flow_analysis dbr:Ordered_set dbr:Radhia_Cousot dbr:Real_number dbr:Semantics_of_programming_languages dbr:Word_(computer_architecture) dbr:Knaster–Tarski_theorem dbr:Static_code_analysis dbr:Soundness dbr:Imperative_programming dbr:List_of_tools_for_static_code_analysis dbr:Integers_modulo_n dbr:Rice's_theorem dbr:Computability_theory_(computation) dbr:Execution_(computers) dbr:File:3dpoly.svg dbr:File:Abstract_interpretation_of_integers_by_signs_svg.svg dbr:File:Combination_of_abstract_domains.svg
dbp:wikiPageUsesTemplate dbt:Color dbt:No dbt:Reflist dbt:Samp dbt:Short_description dbt:Yes
dct:subject dbc:Abstract_interpretation dbc:Program_analysis
gold:hypernym dbr:Theory
rdf:type dbo:Work yago:Ability105616246 yago:Abstraction100002137 yago:Cognition100023271 yago:Know-how105616786 yago:Method105660268 yago:PsychologicalFeature100023100 yago:WikicatFormalMethods
rdfs:comment 抽象解釈(ちゅうしょうかいしゃく、英: Abstract interpretation)は、コンピュータプログラムの意味論の健全な近似の理論であり、順序集合(特に束)における単調関数に基づいている。全ての計算を実施することなく、プログラムの部分的な実行(ある種の部分評価)をするものと見ることができ、それによりプログラムの意味に関する情報(例えば、制御構造、情報の流れなど)を獲得する。 主な応用として、形式的な静的コード解析があり、プログラム実行に関する情報を自動抽出するものである。このような解析には次の2つの利用法がある。 * コンパイラ内部で、対象プログラムを解析し、特定の最適化やプログラムの変換が可能かどうかを決定する。 * デバッグ時や、特定の種類のバグが存在しないことを保証するとき。 抽象解釈は、Patrick Cousot と Radhia Cousot によって定式化された。 (ja) 在计算机科学中,抽象释义是基于在有序集合特别是格上的单调函数,计算机程序的语义的可靠逼近理论。它可以被看作对计算机程序的部分,获取关于它的语义信息(比如,控制结构、)而不进行所有计算。 它的主要具体应用是形式静态分析,关于计算机程序的可能执行的信息的自动提取;比如这种分析有两个主要用途: * 在编译器内部,分析程序来确定特定或是否是可适用的; * 针对缺陷类的程序的调试甚至校验。 抽象释义是 和 所形式化的。 (zh) In computer science, abstract interpretation is a theory of sound approximation of the semantics of computer programs, based on monotonic functions over ordered sets, especially lattices. It can be viewed as a partial execution of a computer program which gains information about its semantics (e.g., control-flow, data-flow) without performing all the calculations. Its main concrete application is formal static analysis, the automatic extraction of information about the possible executions of computer programs; such analyses have two main usages: (en) Die abstrakte Interpretation ist eine Methode aus dem Bereich der Programmanalyse. Ziel der abstrakten Interpretation ist es Informationen über das Verhalten von Programmen (Analyse der Semantik) zu bekommen, indem man von Teilen des Programms abstrahiert und die Anweisungen Schritt für Schritt nachvollzieht (Interpretation). Das Verfahren stammt von Radhia Cousot und Patrick Cousot. (de) L'interprétation abstraite est une théorie d'approximation de la sémantique de programmes informatiques fondée sur les fonctions monotones pour ensembles ordonnés, en particulier les treillis (en anglais : lattice). Elle peut être définie comme une exécution partielle d'un programme pour obtenir des informations sur sa sémantique (par exemple, sa structure de contrôle, son flot de données) sans avoir à en faire le traitement complet. L'interprétation abstraite a été formalisée par le professeur Patrick Cousot et le docteur Radhia Cousot. (fr) In informatica, l'interpretazione astratta è una teoria di approssimazione valida della semantica dei programmi, basata su funzioni monotone su insiemi ordinati, in particolare reticoli. Può essere vista come una esecuzione parziale di un programma al fine di raccogliere informazioni sulla sua semantica (per esempio control-flow, data-flow) senza eseguire tutti i calcoli. La sua applicazione concreta è l'analisi statica, l'estrazione di informazione automatica circa le possibili esecuzioni di programmi; tali analisi hanno due scopi principali: (it)
rdfs:label Abstract interpretation (en) Abstrakte Interpretation (de) Interprétation abstraite (fr) Interpretazione astratta (it) 抽象解釈 (ja) 抽象释义 (zh)
owl:sameAs freebase:Abstract interpretation yago-res:Abstract interpretation wikidata:Abstract interpretation dbpedia-de:Abstract interpretation dbpedia-et:Abstract interpretation dbpedia-fa:Abstract interpretation dbpedia-fr:Abstract interpretation dbpedia-it:Abstract interpretation dbpedia-ja:Abstract interpretation dbpedia-zh:Abstract interpretation https://global.dbpedia.org/id/353Ft
prov:wasDerivedFrom wikipedia-en:Abstract_interpretation?oldid=1123445752&ns=0
foaf:depiction wiki-commons:Special:FilePath/Abstract_interpretation_of_integers_by_signs_svg.svg wiki-commons:Special:FilePath/Combination_of_abstract_domains.svg wiki-commons:Special:FilePath/3dpoly.svg
foaf:isPrimaryTopicOf wikipedia-en:Abstract_interpretation
is dbo:knownFor of dbr:Patrick_Cousot dbr:Radhia_Cousot
is dbo:wikiPageRedirects of dbr:Abstract_interpreter dbr:Abstract_reduction
is dbo:wikiPageWikiLink of dbr:Prolog dbr:List_of_computer_scientists dbr:Nabla_symbol dbr:Set_constraint dbr:Decompiler dbr:Denotational_semantics dbr:Patrick_Cousot dbr:Reinhard_Wilhelm dbr:DMS_Software_Reengineering_Toolkit dbr:Invariant_(mathematics) dbr:List_of_programming_language_researchers dbr:Loop_invariant dbr:Compiler dbr:CodeSonar dbr:Galois_connection dbr:Model_checking dbr:Control_flow_analysis dbr:Shmuel_Sagiv dbr:Static_program_analysis dbr:Symbolic_execution dbr:Total_functional_programming dbr:Data-flow_analysis dbr:Lattice_(order) dbr:AbsInt dbr:Abstraction dbr:Database dbr:Dynamic_program_analysis dbr:ECLAIR dbr:Edmund_M._Clarke dbr:Fixed_point_(mathematics) dbr:Fluctuat dbr:Formal_verification dbr:Frama-C dbr:Parasoft_C/C++test dbr:Formal_methods dbr:2014_in_science dbr:Astrée_(static_analysis) dbr:Ariane_flight_V88 dbr:Abstract_machine dbr:Abstract_model_checking dbr:Abstraction_(computer_science) dbr:CodePeer dbr:Widening_(computer_science) dbr:Polyspace dbr:Radhia_Cousot dbr:Knaster–Tarski_theorem dbr:Software_bug dbr:Sparse_conditional_constant_propagation dbr:Semantics_(computer_science) dbr:Extended_static_checking dbr:List_of_tools_for_static_code_analysis dbr:Pointer_analysis dbr:Strictness_analysis dbr:Fixed-point_theorems dbr:Size-change_termination_principle dbr:Abstract_interpreter dbr:Abstract_reduction
is dbp:knownFor of dbr:Patrick_Cousot dbr:Radhia_Cousot
is foaf:primaryTopic of wikipedia-en:Abstract_interpretation