Hot answers tagged

189 votes

Can we assume while testing software that a user wouldn't perform such silly actions on software?

You might not enter random values into fields of a web application, but there certainly people out there that do just that. Some people enter random by accident and others do it intentionally trying ...
Bart van Ingen Schenau's user avatar
101 votes

Can we assume while testing software that a user wouldn't perform such silly actions on software?

Never Assume Anything You cannot assume that any user will not do something "dumb" with your software by accident or on-purpose. Users can accidentally press the wrong button, the cat can ...
Ben Cottrell's user avatar
  • 11.7k
94 votes
Accepted

Software bug vs. software corruption

Software corruption is the contrary of software integrity. It's the same thing as data corruption, except that the data is the software code. It can affect: the software binary stored in memory: ...
Christophe's user avatar
  • 74.7k
69 votes

What kind of bugs do "goto" statements lead to? Are there any historically significant examples?

It isn't that the goto is bad by itself. (After all, every jump instruction in a computer is a goto.) The problem is that there is a human style of programming that pre-dates structured programming, ...
Mike Dunlavey's user avatar
67 votes

What kind of bugs do "goto" statements lead to? Are there any historically significant examples?

Why is goto dangerous? goto doesn't cause instability by itself. Despite about 100,000 gotos, the Linux kernel is still a model of stability. goto by itself should not cause security vulnerabilities. ...
Christophe's user avatar
  • 74.7k
60 votes

Can we assume while testing software that a user wouldn't perform such silly actions on software?

There are several factors to take in account. To illustrate those points, I'll use an example of a field where a user should enter a percentage in a context of a quota defined for a specific task in ...
Arseni Mourzenko's user avatar
34 votes

What kind of bugs do "goto" statements lead to? Are there any historically significant examples?

The famous Dijkstra article was written at a time when some programming languages were actually capable of creating subroutines having multiple entry and exit points. In other words, you could ...
Robert Harvey's user avatar
34 votes
Accepted

What to do if a core function does exactly what you need to do, but has a bug

I suspect this is a fight over a name. Option 3 (create a separate function) is absolutely the best. Provided you can think of a good name for the new function. But I suspect you can't. That's why ...
candied_orange's user avatar
32 votes

What to do if a core function does exactly what you need to do, but has a bug

Option 4. There is no bug in the core function. I find a function which does exactly this. Its description explicitly says that it normalizes input to our desired format. this function has test ...
user431546's user avatar
28 votes

Software bug vs. software corruption

You can fix corruption by restoring from a good back up. Corruption means some of the bits somehow got changed from what they were meant to be. You can fix a bug* by doing more development and ...
candied_orange's user avatar
20 votes

Software bug vs. software corruption

A bug is when a software does exactly what the programmer told it to do, instead of what the programmer wanted it to do. A corruption is when a software does something else than what the programmer ...
vsz's user avatar
  • 1,486
18 votes

Should I notify my colleagues when I find a bug in their code?

If it's part of your process, then yes. If it's specifically not part of your process, then no. If it's not specified, the best thing is to ask the developers if they would like you to notify them if ...
Kit Z. Fox's user avatar
15 votes

Software bug vs. software corruption

Presumably what they mean by "software corruption" is unintended changes to the contents of an executable file due to things like a failure of the storage media. A "bug" would mean ...
Alex D's user avatar
  • 1,308
14 votes

Can Rust replace the C or C++ programs in the Future?

Actually, the bug in the Generator Control Units that you refer to is not the kind of memory handling bug that Rust (or any language with fixed-size integers) can protect against. An internal counter ...
Bart van Ingen Schenau's user avatar
12 votes
Accepted

Consistency of Undefined behavior

No. The consistency of undefined behaviour is undefined. Speaking practically, when you've caused undefined behaviour by dereferencing a null pointer, you can probably expect fairly deterministic ...
Lightness Races in Orbit's user avatar
12 votes

What kind of bugs do "goto" statements lead to? Are there any historically significant examples?

When the wigwam was current architectural art, their builders could undoubtedly give you sound practical advice regarding construction of wigwams, how to let smoke escape, and so on. Fortunately, ...
thb's user avatar
  • 747
12 votes

Can we assume while testing software that a user wouldn't perform such silly actions on software?

There are a lot of good answers here that describe why this is important, but not a lot of advice on how to sensibly protect your application. The "standard practice" is to use robust input ...
Robert Harvey's user avatar
11 votes

Who de-duplicates bug tickets?

Really, everyone should make a reasonable effort to avoid duplicates, but developers are usually in the best position to do so. Bugs can be found by many people, but usually are filtered to one ...
Karl Bielefeldt's user avatar
11 votes

What kind of bugs do "goto" statements lead to? Are there any historically significant examples?

What kind of bugs do “goto” statements lead to? Are there any historically significant examples? I used to use goto statements when writing BASIC programs as a child as a simple way to get for and ...
Aaron Hall's user avatar
  • 5,905
11 votes

Can we assume while testing software that a user wouldn't perform such silly actions on software?

Usually the 'random' values are not random. You are attempting to capture edge cases, the "unknown unknown". Say for example the # character will crash you app. You don't know this in advance and it ...
Ewan's user avatar
  • 70.9k
11 votes

What to do when third party won't fix bug

This is one of the drawbacks of using third-party libraries: as you get more and more dependent of them, you're at the mercy of the company which develops those libraries. Not only they can set the ...
Arseni Mourzenko's user avatar
9 votes
Accepted

Should one create a new git branch for each issue?

Use one permanent dev branch per user Can it happen, that whoever manages your project comes in and decides that another feature is more important, or that you need to fix a bug first? Then one ...
nvoigt's user avatar
  • 7,337
9 votes

What to do if a core function does exactly what you need to do, but has a bug

Out of your 3 options, I would only reject #2 out front. Adding a flag argument often leaves the complexity in the code and forces future readers to understand both options before choosing one. This ...
DasKrümelmonster's user avatar
7 votes

Are “Hard to find bugs” the responsibility of the developer or the tester?

There is no single standard software development process with clear defined responsibility for everything: On one side this is unfortunately, because it makes life harder. You have to organize ...
Christophe's user avatar
  • 74.7k
7 votes

What kind of bugs do "goto" statements lead to? Are there any historically significant examples?

To add one thing to the other excellent answers, with goto statements it can be difficult to tell exactly how you got to any given place in the program. You can know that an exception occurred at some ...
qfwfq's user avatar
  • 178
7 votes

What kind of bugs do "goto" statements lead to? Are there any historically significant examples?

goto is harder for humans to reason about than other forms of flow control. Programming correct code is hard. Writing correct programs is hard, determining if programs are correct is hard, proving ...
Yakk's user avatar
  • 2,121
7 votes

Can we assume while testing software that a user wouldn't perform such silly actions on software?

I once wrote a program, which I live-tested in a lab with 60 students. I was standing behind the 60 computer screens and saw them use it. The amount of ridiculous things they did was hair-raising. I ...
Arthur Tarasov's user avatar
7 votes

Can we assume while testing software that a user wouldn't perform such silly actions on software?

What you're describing is Fuzzing or Fuzz Testing: throw random and invalid input at a system and see what happens. You don't do this because you expect a user to do it. You do it to expose your own ...
Schwern's user avatar
  • 1,058
7 votes
Accepted

Informing Users of Outstanding Bugs

This depends very much on the kind of software, the kind of bug and the possible impact of not telling your users about it. For the majority of bugs, the only reasonable place where users need to be ...
Doc Brown's user avatar
  • 200k

Only top scored, non community-wiki answers of a minimum length are eligible