From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by c5ff346549e7 (Postfix) with ESMTPS id 64A6F5D5 for ; Mon, 25 Jan 2021 18:56:00 +0000 (UTC) X-IronPort-AV: E=Sophos;i="5.79,374,1602540000"; d="scan'208";a="489036008" Received: from prod-listesu18.inria.fr (HELO sympa.inria.fr) ([128.93.162.160]) by mail2-relais-roc.national.inria.fr with ESMTP; 25 Jan 2021 19:55:58 +0100 Received: by sympa.inria.fr (Postfix, from userid 20132) id 2B3CDE0131; Mon, 25 Jan 2021 19:55:58 +0100 (CET) Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 89DAFE00A6 for ; Mon, 25 Jan 2021 19:55:54 +0100 (CET) Authentication-Results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=Markus.Elfring@web.de; spf=Pass smtp.mailfrom=Markus.Elfring@web.de; spf=None smtp.helo=postmaster@mout.web.de IronPort-PHdr: =?us-ascii?q?9a23=3Ayfdg7Rxk1vqa8tXXCy+O+j09IxM/srCxBDY+r6Qd?= =?us-ascii?q?2u8RIJqq85mqBkHD//Il1AaPAdyKragfwLOP6OigATVGvc/e9ihaMdRlbFwssY?= =?us-ascii?q?0uhQsuAcqIWwXQDcXBSGgEJvlET0Jv5HqhMEJYS47UblzWpWCuv3ZJQk2sfQV6?= =?us-ascii?q?Kf7oFYHMks+5y/69+4HJYwVPmTGxfa5+IA+5oAnMssQam5VuJ6g+xhfUv3dFdf?= =?us-ascii?q?ldyWd0KV6OhRrx6dq88Zx5/yhMp/4t8tNLXLnncag/UbFWFiktPXov5M3suxnD?= =?us-ascii?q?TA+P6WUZX24LjBdGABXL4Q/jUJvpvST0quRy2C+BPc3rVr80Qiit771qSBDzli?= =?us-ascii?q?gKMSMy/XzNhcxxiKJbpw+hpwB6zoXJboyZKOZyc6XAdt4BW2FPQtheWDBAAoOk?= =?us-ascii?q?bosAEewBPfpDr4Lgo1cCtAayCRWwCO/qzDJDm3340rAg0+k5Dw/G0gwuEc8Nvn?= =?us-ascii?q?raotr6O6UdXvy6wqTT0TXDdulb1Svh5IXGcB0sp+yHU7JqccrWzEkiDwTLgU+K?= =?us-ascii?q?qYzmIjOVzfkGvWef7+puT+Kvimgnqw5sqTWowckjkJPJhoEIylDf7yl3z4I1Jd?= =?us-ascii?q?OiSE56Z96kH4Bdti+EOIRtWM8tXn9ntT88x7YbtpG1YDIEx447xx7DdfOHaY6I?= =?us-ascii?q?7wr9WeuVJTp1h2xoda67ihu99UWs1u/xW9W73VhFsCZLndrBuH4N2hDP6saLV/?= =?us-ascii?q?9w80ah1zuL0w3e9O5JLEM7m6TVLZMq37A+lp0WsUvZHy/2nl37jKqXdkU44Oin?= =?us-ascii?q?9f7rYrL8pp+TL4N7lgT+Mrk0lsOhHOs4Lw4DVHWY9+SkzLDv41D1TKtQgvEojK?= =?us-ascii?q?XUsorWKdkbq6KjHgNY3Z4v5wilAzu439kVkmMLIE9EdR6ZlYTlJlPDLfblBvml?= =?us-ascii?q?mVusii1kx/XeM73hHJrNKn/Dna/kfbZ69k5c1BA/zN5B6J1PEL0OPez8VlfwtN?= =?us-ascii?q?zeEBA5LxS5z/j6BNljzI8SR3yDD62DPK/PsVKE/P8jLuaUaI8Qojn9Kvwl5/D0?= =?us-ascii?q?jX8+nF8QZa6n0oENaHC7A/RmOF+Vb3XogtcPC2cKvww+TOPxhVyMTzFcfGy+UL?= =?us-ascii?q?8i6T0jEoKpEZ/DRpyxgLyGxCq0AodZZmVCClyVFXfodp6EW+sXZSKJIs5hlyQE?= =?us-ascii?q?WqK7R48g0xGurg76xKB9Iura4C1L/a7kgel8+OTJ3Tg39Do8W9WUzGiXCWhxn2?= =?us-ascii?q?UgSDo/3aQ5qkt4nASty6991tlRD99O/LtkVgkgNJjTh7hfAsrxRxmHU9OHUleg?= =?us-ascii?q?Tf25DDt3Qt9nkIxGWFp0B9j31kOL5CGtGbJA0uXTXMVooJKZ5GD4IoNG81iDzL?= =?us-ascii?q?Mo3ws5T8EJOWD03vcupTiWPJbAlgCir4jvcK0d2CDX82LTn3WDtgdUXVwpCPiX?= =?us-ascii?q?bTUkfkLT6O/ByAbCQrupUO91Nwxc1YidJ6EMZtC71Vg=3D?= X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: =?us-ascii?q?A0BJBQCaEw9ghw4P49RigQmBUYMKFVgyL?= =?us-ascii?q?4RAkSwtA4N9jFqLagsBAwENJwUBAgQBAYFVgnUCgXgCHQcBBDUFDQIQAQEFAQE?= =?us-ascii?q?BAgEDAwQBEwEBAQwNCQgphWgMgjgpAYMSAQQBIx0BAREmAQQLCxoCJgICVwYNC?= =?us-ascii?q?AEBgyIBglQBAw4kC7JKgTKDBQEBBoEzAYEYggsfLCJNgTsDBoEOKo0+Jg+BTT+?= =?us-ascii?q?BOII9By4+gl0DgV6DGYJgg0Q9AnNQDJEAlw2REywHgWiBEoEdC4gIkjMFCh+TB?= =?us-ascii?q?w0Gj16fPZZggW6BZgwHMxokT4JpUBkNjjuECjeEKoVFQDMCNQIGAQkBAQMJWQE?= =?us-ascii?q?BizoBAQ?= X-IPAS-Result: =?us-ascii?q?A0BJBQCaEw9ghw4P49RigQmBUYMKFVgyL4RAkSwtA4N9jFq?= =?us-ascii?q?LagsBAwENJwUBAgQBAYFVgnUCgXgCHQcBBDUFDQIQAQEFAQEBAgEDAwQBEwEBA?= =?us-ascii?q?QwNCQgphWgMgjgpAYMSAQQBIx0BAREmAQQLCxoCJgICVwYNCAEBgyIBglQBAw4?= =?us-ascii?q?kC7JKgTKDBQEBBoEzAYEYggsfLCJNgTsDBoEOKo0+Jg+BTT+BOII9By4+gl0Dg?= =?us-ascii?q?V6DGYJgg0Q9AnNQDJEAlw2REywHgWiBEoEdC4gIkjMFCh+TBw0Gj16fPZZggW6?= =?us-ascii?q?BZgwHMxokT4JpUBkNjjuECjeEKoVFQDMCNQIGAQkBAQMJWQEBizoBAQ?= X-IronPort-AV: E=Sophos;i="5.79,374,1602540000"; d="scan'208";a="489035996" X-MGA-submission: =?us-ascii?q?MDHzhDSaBQYMDj5Xx3hdT3zdQBgx5vrg0wEKxs?= =?us-ascii?q?iG5VzxKRV9CQx8o7NDQZ8Cre7DT2nYAuLs3tmB9Fks0vYc3woa/dnHrW?= =?us-ascii?q?MnyA8k2V4zP+tnra6DF+re2T56iX1FwuVOsPgyoqbMXtQZJgVYbKp4ld?= =?us-ascii?q?xZmsIdDrbBOEK/wqPdfpkhRQ=3D=3D?= Received: from mout.web.de ([212.227.15.14]) by mail2-smtp-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Jan 2021 19:55:53 +0100 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=web.de; s=dbaedf251592; t=1611600952; bh=QiYepED3ygaBn1ILxzS3756hS+Xj+/zQ97muF/MB20k=; h=X-UI-Sender-Class:To:References:Cc:From:Subject:Date:In-Reply-To; b=oBFl3O3+qQqmpFM4KiJ3MIGSc+nrwl93liFCeTbu6lyx+VVMFaO41zBUttqGJE0Ym xCcY+xagyneP3xJRbGZ6hhYmAWwhoaRrmXzk+H7zRyq1ORW1HLs2/uX8f8JqttFOsW bx6VCghI4l0DulKMRxQtMfMbWUiee2/V6NPg2enI= X-UI-Sender-Class: c548c8c5-30a9-4db5-a2e7-cb6cb037b8f9 Received: from [192.168.1.2] ([2.244.162.17]) by smtp.web.de (mrweb004 [213.165.67.108]) with ESMTPSA (Nemesis) id 0Lr59f-1lh0bz2wFP-00ebeN; Mon, 25 Jan 2021 19:55:52 +0100 To: Yawar Amin References: <41485ac7-50cf-08fe-4206-b9f863c4d2f5@web.de> <20210124143420.443qexv5dvgtqpbm@first.in-berlin.de> <20210124160729.iybuih6mmaquulcw@first.in-berlin.de> Cc: caml-list@inria.fr From: Markus Elfring Message-ID: Date: Mon, 25 Jan 2021 19:55:45 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: quoted-printable X-Provags-ID: V03:K1:FU8CuQWfYrIvHP2veFmj/IzwhVo6cp3QTt7o7whEeejqd8Z8K1p sFL5F1Tg5txglEVKn+4U6Oqe+MQehkjy57VPXuOaiurFu+k4jLZ2c2HvvPM+NI8341voLWu 2VvJL20KjBz9EzxqzoE91HMW11c0JDLsk09zBFIVlXSXCNmzgXlPW2DS/mJDrI+/xIHplRe HAMYZBpdmvrXT45sgpMTQ== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:p/TVdKK3S94=:1CfKjsKfBoYacqXjek4LqR ikPoygbQQoi4Fp0J08+vDeTqJLspoJ/lnOvc8LM72m+WQ8SUC6LHewTNIJvo73VNPKCgi34xS cENcogUOLDlh6ZS1QEXIPCSH7Q1icNkGmfFSuCcorE0P+J4rchxQk4mkOT/pEojRXSk3+osXq 8vevjNzuyaajg1SZLh3d6hcJdrS2k9GzwtM3BDOgS20WPmeOdNgv+I33m0R1JjchKK6+fcLWa qBe80UEM3x27LoQ87Jl2oSyPGBOmGl1Zg9gQ884kjl2L8m8KSRqRqwNsqHjXYOCng4+Mafgwj cPEzfpiM2RV9KSq5NDNjQvgSuf2V/hHKeE3PXXteiB/T//08P0hpQymkDLQcPyVHtMPLMHx8U ITAXqxdwWn59RWWtEmyIflawFjmo6oXDD+ohixybMeZw+PYJk+uzx1GYs3iaeBKS5MBOb8+y4 4DCVpokFLdqQ3fWfwdK2rIBBA81sjnJkKvttIMnA8OEqQ7Z1ZvCUJNCx1XdTpUyb6tFc54Q2x MrhjLZkTumj/ZXHP8qMP1AC9XSEtwN5+0bBAMTjxJrkPaO9Cfs4Kh/W+/vsbb6uFTufYWMgTx mYcjpwWMpYmxa7O/q9IHlZ1HcC3Depu5dA+U+0UFGllauKrtl/1VxqJfi/XDQ+tvcprVclwxi 6DyMF4n0QWaZsdAKdtSOQJZqZJXWk7xzaD0oOmHdZTlxSsQYINR8zjNm458zgF1bX5dGVvh5j Q4apR/429lugHV2vIVlR0KME0tvB8M7l/DzmG5NGo6oMMLSrHFsoJ6KiG2lDnRCB7oCYn+uHO oeOeeFJXcnVhkmar3bq0wmbtmxa2Zd5t1C16jJEehbqZjFYnfCIphR4PzHSstEpSfOl/By0Ze QmYJ0ZbZAa7CvscmTmbA== Subject: Re: [Caml-list] Detecting missed checks for error indications in ML code Reply-To: Markus Elfring X-Loop: caml-list@inria.fr X-Sequence: 18387 Errors-To: caml-list-owner@inria.fr Precedence: list Precedence: bulk Sender: caml-list-request@inria.fr X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: > > Are you used to programming concerns according to software weaknesses > > like =E2=80=9CCWE-252: Unchecked Return Value=E2=80=9D? > > https://cwe.mitre.org/data/definitions/252.html > > I would say this is a solved problem. I got an other impression. > Or at least, it can be if you program in that way, using the result type= to indicate errors. It seems that there are target conflicts to consider. The data type =E2=80=9CStdlib.result=E2=80=9D corresponds just to another = special return value which can also be overlooked somehow, can't it? > Actually, this was a solved problem even before the result type was intr= oduced into OCaml, > because we already had exceptions. Are there any software documentation challenges remaining for functions that do not raise (or throw) such exceptions? > And exceptions were invented exactly for the purpose of ensuring > that errors can never go unnoticed. Error handling strategies can vary considerably. https://wiki.sei.cmu.edu/confluence/display/c/ERR00-C.+Adopt+and+implement= +a+consistent+and+comprehensive+error-handling+policy Regards, Markus