From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=DKIM_ADSP_CUSTOM_MED, DKIM_INVALID,DKIM_SIGNED,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,MAILING_LIST_MULTI autolearn=ham autolearn_force=no version=3.4.4 Received: from minnie.tuhs.org (minnie.tuhs.org [50.116.15.146]) by inbox.vuxu.org (Postfix) with ESMTP id C80E521147 for ; Tue, 21 May 2024 03:56:58 +0200 (CEST) Received: from minnie.tuhs.org (localhost [IPv6:::1]) by minnie.tuhs.org (Postfix) with ESMTP id 3286343B69; Tue, 21 May 2024 11:56:53 +1000 (AEST) Received: from mail-pl1-x62a.google.com (mail-pl1-x62a.google.com [IPv6:2607:f8b0:4864:20::62a]) by minnie.tuhs.org (Postfix) with ESMTPS id 4B2B243B61 for ; Tue, 21 May 2024 11:56:43 +1000 (AEST) Received: by mail-pl1-x62a.google.com with SMTP id d9443c01a7336-1ee7963db64so26238845ad.1 for ; Mon, 20 May 2024 18:56:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1716256602; x=1716861402; darn=tuhs.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=7kZisLKH3y8cf/VG7Ehv5829lMq3lM9oIh1AckJz0sM=; b=j2p1IU5YFI+CumM50/TpZfODHIWggvpz140Ov6kjw15mAH6s+7mLBJGsDcNJMeq5g1 JUzPbBpysFb21Pp5YvGwXNF9luuGvANa63mlJ1r3k12pS6RMZ4my7ke3hNcNJls37jc8 IVCwCQuUbFakJg1VeJdgLcoEwe/8EeZnfbam1Oo6SYO2ppOik1LZbTu7rfqggdUbLz/z zdWc8Vmde6JiOfa7MW3ZcnaEpIWXB2iqIEkM44SXEmAqjJ13nmb5D64G6sGyPSMIISRv NxcBUyAumENYZ+bJGLkDSb2iDTIs45ScXCTuPTx1sixgahDCOR2ba/5VAfKNuCmw4RxQ iwcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1716256602; x=1716861402; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=7kZisLKH3y8cf/VG7Ehv5829lMq3lM9oIh1AckJz0sM=; b=Mvl3o6kLFZVOH7gCEQMByAT2E+zLRlbqIzM8Iw7F/NUlwijxs2ls0POIAb7mrkiV/A tqCrr/IAZmFnPkQMJTsQZioY1Lb+KlosQ9hNMk1B7qZtiqUeQgS37cSNIO6UcNcflCtE iAdqqXwrNLOl8MlR3awUteXvPmcFabtCFRwuMLzUmIjCZ1UwKKw7uEw6NJdjaKuwNxQO lS5yWab2uG1a8no4tFQgguQ7DDFO13QG0lrAH6ntJNz7WLvakIaqUzdVI2DpCA+blR65 yAvdmfYYWFW0+wAigJggM+g/oNamF4ny01XCtbrGHACOaIZgdFnpeUQ1GBeT132zkPG9 Jniw== X-Gm-Message-State: AOJu0YzEyHqHq8y8ajNHztkjFRM1QmAAvcIng8KGZcftxsHBHimbtu3s EGhlSCUGO220Jnb3gv5RKnqD/TBxqEqPw3qLGebGAxgx+l7cYQlNzTDPmPh2RW9FXS3g0OHv+sw B+FnH1M1+FZNLg493kqzjtnkvmAQ= X-Google-Smtp-Source: AGHT+IEXPk3UKBkZJ1904eiKzx+Irnf4RhgUdIKAVGBKKPR1QEHaqcSbsX2A6XwLBYTpnsrsHZfAan/pGczhHqGrz14= X-Received: by 2002:a17:90a:408d:b0:2b4:abc7:d64b with SMTP id 98e67ed59e1d1-2b6cc14b770mr28954487a91.6.1716256602370; Mon, 20 May 2024 18:56:42 -0700 (PDT) MIME-Version: 1.0 References: <51CC9A0D-122C-4A3D-8BAF-C249489FB817@serissa.com> In-Reply-To: <51CC9A0D-122C-4A3D-8BAF-C249489FB817@serissa.com> From: Rob Pike Date: Tue, 21 May 2024 11:56:30 +1000 Message-ID: To: Serissa Content-Type: multipart/alternative; boundary="00000000000020c0120618ed210a" Message-ID-Hash: RTCMMSWD7ZY535CAJJY4RQR74OE6TOOY X-Message-ID-Hash: RTCMMSWD7ZY535CAJJY4RQR74OE6TOOY X-MailFrom: robpike@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: TUHS main list X-Mailman-Version: 3.3.6b1 Precedence: list Subject: [TUHS] Re: A fuzzy awk. List-Id: The Unix Heritage Society mailing list Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: --00000000000020c0120618ed210a Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Ron Hardin was doing this to Dennis's C compiler in the 1980s, well before 1998. And I believe Doug McIlroy was generating random regular expressions to compare different implementations. It's probably impossible to decide who invented fuzzing, so the credit will surely go to the person who named it. -rob On Tue, May 21, 2024 at 12:09=E2=80=AFAM Serissa wrot= e: > Well this is obviously a hot button topic. AFAIK I was nearby when > fuzz-testing for software was invented. I was the main advocate for hirin= g > Andy Payne into the Digital Cambridge Research Lab. One of his little > projects was a thing that generated random but correct C programs and fed > them to different compilers or compilers with different switches to see i= f > they crashed or generated incorrect results. Overnight, his tester filed > 300 or so bug reports against the Digital C compiler. This was met with > substantial pushback, but it was a mostly an issue that many of the repor= ts > traced to the same underlying bugs. > > Bill McKeemon expanded the technique and published "Differential Testing > of Software" > https://www.cs.swarthmore.edu/~bylvisa1/cs97/f13/Papers/DifferentialTesti= ngForSoftware.pdf > > Andy had encountered the underlying idea while working as an intern on th= e > Alpha processor development team. Among many other testers, they used an > architectural tester called REX to generate more or less random sequences > of instructions, which were then run through different simulation chains > (functional, RTL, cycle-accurate) to see if they did the same thing. > Finding user-accessible bugs in hardware seems like a good thing. > > The point of generating correct programs (mentioned under the term LangSe= c > here) goes a long way to avoid irritating the maintainers. Making the te= st > cases short is also maintainer-friendly. The test generator is also in a > position to annotate the source with exactly what it is supposed to do, > which is also helpful. > > -L > > > --00000000000020c0120618ed210a Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Ron Hardin was doing this to Dennis's C compiler in the 1980s= , well before 1998. And I believe Doug McIlroy was generating random regula= r expressions to compare different implementations. It's probably impos= sible to decide who invented fuzzing, so the credit will surely go to the p= erson who named it.

-rob


On Tue, May 21, 2024 at 12:09=E2=80=AFAM = Serissa <stewart@serissa.com&= gt; wrote:
Well this is obviously a hot button topic.=C2= =A0 AFAIK I was nearby when fuzz-testing for software was invented. I was t= he main advocate for hiring Andy Payne into the Digital Cambridge Research = Lab.=C2=A0 One of his little projects was a thing that generated random but= correct C programs and fed them to different compilers or compilers with d= ifferent switches to see if they crashed or generated incorrect results.=C2= =A0 Overnight, his tester filed 300 or so bug reports against the Digital C= compiler.=C2=A0 This was met with substantial pushback, but it was a mostl= y an issue that many of the reports traced to the same underlying bugs.
=

Bill McKeemon expanded the technique and published "Dif= ferential Testing of Software"=C2=A0https://www.cs.swarthmore.edu/~bylvisa1/cs97/f13/Papers/Differe= ntialTestingForSoftware.pdf

Andy had encountered the underlying = idea while working as an intern on the Alpha processor development team.=C2= =A0 Among many other testers, they used an architectural tester called REX = to generate more or less random sequences of instructions, which were then = run through different simulation chains (functional, RTL, cycle-accurate) t= o see if they did the same thing.=C2=A0 Finding user-accessible bugs in har= dware seems like a good thing.

The point of generating correct= programs (mentioned under the term LangSec here) goes a long way to avoid = irritating the maintainers.=C2=A0 Making the test cases short is also maint= ainer-friendly.=C2=A0 The test generator is also in a position to annotate = the source with exactly what it is supposed to do, which is also helpful.

-L


<= /div>
--00000000000020c0120618ed210a--