From bd0ffbcc4e0f7abf5e811850fb9ebd93ca649966 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 21 Dec 2010 19:10:42 +0100 Subject: Elaborate on DSLs, IDLs, code analysis, etc. --- open_issues/code_analysis.mdwn | 8 +++++++- open_issues/formal_verification.mdwn | 16 ++++++++++++++++ open_issues/performance.mdwn | 19 +++++++++++++++---- open_issues/profiling.mdwn | 4 ++++ 4 files changed, 42 insertions(+), 5 deletions(-) create mode 100644 open_issues/formal_verification.mdwn (limited to 'open_issues') diff --git a/open_issues/code_analysis.mdwn b/open_issues/code_analysis.mdwn index 114dfbbf..ad59f962 100644 --- a/open_issues/code_analysis.mdwn +++ b/open_issues/code_analysis.mdwn @@ -8,7 +8,13 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] -There is static and dynamic code analysis. This overlaps with [[debugging]]. +In the topic of *code analysis* or *program analysis* ([[!wikipedia +Program_analysis_(computer_science) desc="Wikipedia article"]]), there is +static code analysis ([[!wikipedia Static_code_analysis desc="Wikipedia +article"]]) and dynamic program analysis ([[!wikipedia Dynamic_program_analysis +desc="Wikipedia article"]]). This topic overlaps with [[performance +analysis|performance]], [[formal_verification]], as well as general +[[debugging]]. * [[GCC]]'s warnings. Yes, really. diff --git a/open_issues/formal_verification.mdwn b/open_issues/formal_verification.mdwn new file mode 100644 index 00000000..168d59a4 --- /dev/null +++ b/open_issues/formal_verification.mdwn @@ -0,0 +1,16 @@ +[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +*Formal verification* ([[!wikipedia Formal_verification desc="Wikipedia +article"]]) deals with formally reasoning about a program's correctness. + +Especially in the field of [[DSL]]s, this is used for asserting program codes' +correctness, as explained in {{$microkernel/barrelfish#fof_plos09}}, for +example. diff --git a/open_issues/performance.mdwn b/open_issues/performance.mdwn index 3b4c4537..9b3701b3 100644 --- a/open_issues/performance.mdwn +++ b/open_issues/performance.mdwn @@ -8,10 +8,21 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] - * general [[RPC]] overhead +*Performance analysis* ([[!wikipedia Performance_analysis desc="Wikipedia +article"]]) deals with analyzing how computing resources are used for +completing a specified task. - * [[I/O System|io_system]] +[[Profiling]] is one relevant tool. - * [[fork]] +In [[microkernel]]-based systems, there is generally a considerable [[RPC]] +overhead. - * [[unit testing]] +In a multi-server system, it is non-trivial to implement a high-performance +[[I/O System|io_system]]. + +When providing [[faq/POSIX_compatibility]] (and similar interfaces) in an +environemnt that doesn't natively implement these interfaces, there may be a +severe performance degradation. For example, in this [[`fork` system +call|/glibc/fork]]'s case. + +[[Unit_testing]] can be used for tracking performance regressions. diff --git a/open_issues/profiling.mdwn b/open_issues/profiling.mdwn index 3f9330ba..f56ae974 100644 --- a/open_issues/profiling.mdwn +++ b/open_issues/profiling.mdwn @@ -8,6 +8,10 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] +*Profiling* ([[!wikipedia Profiling_(computer_programming) desc="Wikipedia +article"]]) is a tool for tracing where CPU time is spent. This is usually +done for [[performance analysis|performance]] reasons. + * [[gprof]] Should be working, but some issues have been reported, regarding GCC spec -- cgit v1.2.3