> Bug-elimination research, like other user-interface research, is highly nonmathematical.
The goal is to have users, in this case programmers, make as few
mistakes as possible in achieving their desired effects. We don’t have any way
to model this—to model human psychology—except by experiment. We can’t
even recognize mistakes without a human’s help. (If you can write a program
to recognize a class of mistakes, great—we’ll incorporate your program into
the user interface, eliminating those mistakes—but we still won’t be able to
recognize the remaining mistakes.) I’ve seen many mathematicians bothered by
this lack of formalization; they ask nonsensical questions like “How can you prove
that you don’t have any bugs?” So I sneak out of the department, take off my
mathematician’s hat, and continue making progress towards the goal.
> Bug-elimination research, like other user-interface research, is highly nonmathematical. The goal is to have users, in this case programmers, make as few mistakes as possible in achieving their desired effects. We don’t have any way to model this—to model human psychology—except by experiment. We can’t even recognize mistakes without a human’s help. (If you can write a program to recognize a class of mistakes, great—we’ll incorporate your program into the user interface, eliminating those mistakes—but we still won’t be able to recognize the remaining mistakes.) I’ve seen many mathematicians bothered by this lack of formalization; they ask nonsensical questions like “How can you prove that you don’t have any bugs?” So I sneak out of the department, take off my mathematician’s hat, and continue making progress towards the goal.