<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress.com" -->
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd"><url><loc>https://critical.eschertech.com/2010/06/22/aliasing-and-how-to-control-it/</loc><lastmod>2025-09-14T08:21:36+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2025/09/09/contracts-have-arrived-in-c/</loc><image:image><image:loc>https://critical.eschertech.com/wp-content/uploads/2025/09/create-a-highly-detailed-and-sharp-focused-image-that-visually-represents-1.png</image:loc><image:title>create-a-highly-detailed-and-sharp-focused-image-that-visually-represents</image:title></image:image><image:image><image:loc>https://critical.eschertech.com/wp-content/uploads/2025/09/create-a-highly-detailed-and-sharp-focused-image-that-visually-represents.png</image:loc><image:title>create-a-highly-detailed-and-sharp-focused-image-that-visually-represents</image:title></image:image><image:image><image:loc>https://critical.eschertech.com/wp-content/uploads/2025/09/image.png</image:loc><image:title>image</image:title></image:image><lastmod>2025-09-14T08:00:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2015/03/25/verifying-the-liskov-substitution-principle-in-c-code-part-1/</loc><lastmod>2015-03-25T16:20:40+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/07/16/verifying-pointer-arithmetic/</loc><lastmod>2012-04-04T16:43:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2011/10/24/escher-c-verifier-released/</loc><lastmod>2013-11-16T17:11:39+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2011/09/08/verifying-programs-that-use-function-pointers/</loc><lastmod>2011-09-20T11:06:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/02/19/using-strongly-typed-booleans-in-c-and-c/</loc><lastmod>2013-02-01T13:14:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/02/22/the-taming-of-the-pointer-part-2/</loc><lastmod>2011-06-13T09:02:21+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/02/23/reasoning-about-null-terminated-strings-in-cc/</loc><lastmod>2011-06-13T09:00:39+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/02/26/using-constrained-types-in-c/</loc><lastmod>2011-06-13T08:57:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/05/26/specification-with-ghost-functions/</loc><lastmod>2011-06-13T08:52:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/03/01/using-unicode-in-embedded-software/</loc><lastmod>2011-06-13T08:51:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/03/03/how-unsafe-is-pointer-arithmetic/</loc><lastmod>2014-01-10T19:17:20+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/12/12/verifying-programs-that-use-sizeof/</loc><lastmod>2011-06-13T08:42:09+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/03/09/safer-arrays-using-a-c-array-class/</loc><lastmod>2011-06-13T08:39:57+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/03/12/using-and-abusing-unions/</loc><lastmod>2011-06-13T08:23:38+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/03/18/making-sure-variables-are-initialized/</loc><lastmod>2011-06-13T08:17:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/03/22/verifying-loops-in-c/</loc><lastmod>2011-06-13T08:14:59+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/03/29/verifying-loops-part-2/</loc><lastmod>2011-06-13T08:12:35+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/03/31/verifying-loops-proving-termination/</loc><lastmod>2011-07-02T08:04:23+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/04/07/danger-unsigned-types-used-here/</loc><lastmod>2012-09-27T10:48:34+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/04/27/what-are-you-trying-to-prove/</loc><lastmod>2011-06-13T08:07:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/05/05/verifying-a-binary-search/</loc><lastmod>2011-06-13T08:06:10+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/05/06/verifying-a-binary-search-part-2/</loc><lastmod>2011-06-13T08:02:53+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/05/24/expressing-the-inexpressible/</loc><lastmod>2011-06-13T07:59:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/06/07/verifying-absence-of-integer-overflow/</loc><lastmod>2011-06-13T07:53:44+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/07/07/run-time-checks-are-they-worth-it/</loc><lastmod>2011-06-13T07:49:05+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/07/30/dynamic-memory-allocation-in-critical-embedded-systems/</loc><lastmod>2013-09-18T08:58:31+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/09/06/arc-is-now-ecv/</loc><lastmod>2011-06-13T07:46:55+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/12/20/ecv-beta-1-released/</loc><lastmod>2011-06-13T07:44:35+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/02/05/invariants-for-cc-classes-and-structs/</loc><lastmod>2014-05-21T11:48:33+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/02/17/taming-pointers-in-cc/</loc><lastmod>2010-07-17T12:58:26+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/about/</loc><lastmod>2010-05-08T09:04:24+00:00</lastmod><changefreq>weekly</changefreq><priority>0.6</priority></url><url><loc>https://critical.eschertech.com/2010/02/02/which-is-better-for-critical-software-c-or-c/</loc><lastmod>2010-02-19T13:57:56+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/01/31/hello-from-david-crocker/</loc><lastmod>2010-02-19T09:40:51+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/02/04/using-c-classes-to-achieve-encapsulation/</loc><lastmod>2011-08-03T18:27:57+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/02/11/safer-explicit-type-conversion/</loc><lastmod>2010-03-13T08:51:37+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com/2010/02/12/more-reasons-why-c-can-be-safer-than-c/</loc><lastmod>2010-02-19T09:39:15+00:00</lastmod><changefreq>monthly</changefreq></url><url><loc>https://critical.eschertech.com</loc><changefreq>daily</changefreq><priority>1.0</priority><lastmod>2025-09-14T08:21:36+00:00</lastmod></url></urlset>
