open_issues/code_analysis: GCC plugins; CTraps.
[hurd-web.git] / open_issues / code_analysis.mdwn
index 98b9b1d..290bee4 100644 (file)
@@ -172,6 +172,20 @@ There is a [[!FF_project 276]][[!tag bounty]] on some of these tasks.
 
     Not yet [[ported to the Hurd|community/gsoc/project_ideas/gcc_asan]].
 
+  * [GCC plugins](http://gcc.gnu.org/wiki/plugins)
+
+      * [CTraps](https://github.com/blucia0a/CTraps-gcc)
+
+        > CTraps is a gcc plugin and runtime library that inserts calls to runtime
+        > library functions just before shared memory accesses in parallel/concurrent
+        > code.
+        > 
+        > The purpose of this plugin is to expose information about when and how threads
+        > communicate with one another to programmers for the purpose of debugging and
+        > performance tuning.  The overhead of the instrumentation and runtime code is
+        > very low -- often low enough for always-on use in production code.  In a series
+        > of initial experiments the overhead was 0-10% in many important cases.
+
   * Input fuzzing
 
     Not a new topic; has been used (and a paper published) for early UNIX