Code Checking Automation - Computerphile

preview_player
Показать описание
The original version of text messaging had a flaw, but how can we investigate problems with software quickly and easily? Professor John Hughes shows us how a modern tool can automate the process of code checking.

This video was filmed and edited by Sean Riley.

Рекомендации по теме
Комментарии
Автор

I'm currently studying my final year of Computer Engineering at the Chalmers University of Technology in Sweden. I remember the first course I ever took was Functional Programming in Haskell with this awesome guy, John Hughes! Not only did he help invent the language Haskell but he is also the best teacher I've ever had and I got the pleasure learning and properly testing functional programming code with QuickCheck (demonstrated in the video) which he developed together with another guy!
I really enjoyed watching this clip as it brings back a lot of memories!
I wish him nothing but the best!

SuperSlugger
Автор

this guy has done a very good job with this demo!

sophiatheodores
Автор

Honestly my favorite part is his reaction to it failing the tests lol

KnownNever
Автор

This is great! Can we have more videos on functional programming and testing?

northcode_
Автор

This is one of the best Computerphile videos I've seen in a while! Excellent demo and explanation. More of him and Professor Brailsford!

BlakeHelms
Автор

an IT engineer having an iPhone? you dont see that very often

okie
Автор

I don't know why but this is the most fascinating computerphile I've seen

tectix
Автор

4:15 You just blew Apple users minds. They have no idea what witchcraft that touch screen magic is.

rich
Автор

The main problem I have with testing is that you can just as easily write the tests incorrectly as you can the code incorrectly.This system seems to be much better as it limits the amount of code you are writing as a test, get thousands of test cases without having to manually write thousands of tests, and can easily be adjusted to see where exactly the error is rather than just saying there is an error.

JamesCoyle
Автор

There is a lot of buzz around PBT over various dev conferences. And this 10 minute talk is the best intro with a brilliant example.

AlexeyZlobin
Автор

You don't always find the minimal example; you're just doing a naive search, which usually finds a simplified case, and usually the same one. Love quickcheck, though. It's gold!

WannabeWantD
Автор

Great video. A great example of deducing a problem and how to logically think through it.

Ribby
Автор

one of the best explanations I have seen. perfect mix of theory and examples. thanks!

Acid
Автор

The funny thing is, on the very first test that failed, I noticed the "0" at the end and thought that was the problem.

invisibledave
Автор

Excellent video! Please do one on unums and why they're better than IEEE 754 floats.

UltimatePerfection
Автор

I can't help but think that the nature of the problem would have been apparent more quickly if the failed tests had shown both the original and unpacked messages. Stating that a test failed only tells us that the unpacked message was different than the original, but it doesn't tell us what's different about it. I personally noticed the suspicious 0 at the end of the failed tests very early on, but couldn't really be sure if that was really the culprit or not, but had the failed test also shown that the unpacked message was simply missing the 0 at the end, then it would have been quite simple to figure out how/why the code was cutting off that 0 at the end.

phiefer
Автор

Professor Hughes, I sent a msg to Computerphile's Facebook page asking for a video on what is the "Absence of errors" fallacy in software testing, and also asking for some explanation of the concept of "Exhaustive testing is impossible" and why we can never guarantee that software will not have any errors, bugs, or defects in it. Essentially this is a QA software testing subject, but I would really love to see this topic discussed by Computerphile. You would be a great facilitator of this video due to your experience with quick test. Thank you.

bryanstark
Автор

Absolutely fantastic demonstration. More from this man is 100% welcome :D

bdafeesh
Автор

Emacs on windows? Never seen that before.

Garbaz
Автор

So in the case in the video, the testing found a mistake from the specification.

However, there is a high likelihood that flaws specific to the implementation may not be found, if they are caused by a misunderstanding of the specification. It is quite likely the same programmer who would make both the packing and unpacking code, so testing should preferably include running the code on known correct samples of input/output. Those are not easily auto-generated (at least not without a separate implementation, which is known to work correctly).

tuxino