Re: [extremeprogramming] The principle behind How Test-Driven Development Works

"David Allsopp via Groups.Io" <[email protected]> Sat, 23 Nov 2019 22:51:53 +0000 (UTC)
Newsgroups gmane.comp.programming.extreme-programming
Message-ID <[email protected]>
 
You may be interested in this article about the american-fuzzy-lop fuzzing tool (http://lcamtuf.coredump.cx/afl/), which managed to discover the format for valid JPEG files...
https://lcamtuf.blogspot.com/2014/11/pulling-jpegs-out-of-thin-air.html

"American fuzzy lop is a security-oriented fuzzer that employs a novel type of compile-time instrumentation and genetic algorithms to automatically discover clean, interesting test cases that trigger new internal states in the targeted binary. This substantially improves the functional coverage for the fuzzed code. The compact synthesized corpora produced by the tool are also useful for seeding other, more labor- or resource-intensive testing regimes down the road."
Essentially it tries to make a program crash or hang by generating random input, and mutating that input to try to find branches in the code, to explore as much of the state space as possible. It is thus quite good at finding test cases that you hadn't thought of...
D.

    On Thursday, 21 November 2019, 05:07:45 GMT, Dave Nicolette <[email protected]> wrote:
 
 Very interesting idea!

On 11/20/19, Dossy via Groups.Io <[email protected]> wrote:
> This is literally the concept behind the Genetic Algorithms approach to AI.
>
> Automated tests are your fitness measures.
>
> I don't know if it's time yet to launch a startup that employs GA's to
> "write" code, while the humans focus on writing the tests.
>
>
> On 11/20/19 3:15 PM, James Grenning wrote:
>>  Tests are specific enough so  a robot could generate passing code
>> automatically, I suspect,  now.
>
> --
> Dossy Shiobara        |      "He realized the fastest way to change
> [email protected]    |  is to laugh at your own folly -- then you
> http://panoptic.com/   |  can let go and quickly move on." (p. 70)
>  * WordPress * jQuery * MySQL * Security * Business Continuity *
>
>
> 
>
>





-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#160321): https://groups.io/g/extremeprogramming/message/160321
Mute This Topic: https://groups.io/mt/39414677/2417047
Group Owner: [email protected]
Unsubscribe: https://groups.io/g/extremeprogramming/leave/4902963/619838065/xyzzy  [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-