Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. What is a bug?

What is a bug?

Scheduled Pinned Locked Moved The Lounge
helpquestionlearningpythonvisual-studio
37 Posts 24 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Mandeep8

    Is Windows 7's constant attempting to install a differnet version of an OS without consent a bug? It's not expected the behaviour

    M Offline
    M Offline
    Mark_Wallace
    wrote on last edited by
    #12

    Indeed. It is unwanted behavior that is actually built in. Many would call that malware, and I'd tend toward agreeing with them. I wanna be a eunuchs developer! Pass me a bread knife!

    1 Reply Last reply
    0
    • M Marc Clifton

      I imagine we can all agree that a runtime error (something that blows up the program at runtime) or a logical error (doesn't blow up, but produces the wrong result) are bugs. Of course, there are other categories, like a "performance bug" -- produces the right result but takes too long. In any case... What about syntax errors -- those things that the compiler (or the IDE) detects before you even run the code, and in fact prevents you from running the code. Would you go so far as to say that syntax errors are a subset of what we call bugs? Or do you think that something can only be called a bug if it manifests when the program is run? Marc

      Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

      D Offline
      D Offline
      Dominic Burford
      wrote on last edited by
      #13

      In a strongly typed language such as C#, a syntax bug will result in a compile time error so will be trapped before it reaches any potential customers. In a loosely typed language such as Javascript a syntax error will result in a run-time exception and so could arguably be defined as a bug as it could reach a potential customer if it has not been tested sufficiently. A bug is generally defined as any deviation from expected behaviour.

      "There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare Home | LinkedIn | Google+ | Twitter

      1 Reply Last reply
      0
      • N Nish Nishant

        Well, a basic business requirement would be that your code can compile into a binary/runnable format. :)

        Regards, Nish


        Website: www.voidnish.com Blog: voidnish.wordpress.com

        D Offline
        D Offline
        Dominic Burford
        wrote on last edited by
        #14

        Nish Nishant wrote:

        Well, a basic business requirement would be that your code can compile into a binary/runnable format

        That would not be a requirement of the business. That would be a technical requirement.

        "There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare Home | LinkedIn | Google+ | Twitter

        N 1 Reply Last reply
        0
        • D Dominic Burford

          Nish Nishant wrote:

          Well, a basic business requirement would be that your code can compile into a binary/runnable format

          That would not be a requirement of the business. That would be a technical requirement.

          "There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare Home | LinkedIn | Google+ | Twitter

          N Offline
          N Offline
          Nish Nishant
          wrote on last edited by
          #15

          Technical requirements and business requirements have some overlap.

          Regards, Nish


          Website: www.voidnish.com Blog: voidnish.wordpress.com

          D 1 Reply Last reply
          0
          • R raddevus

            Very interesting question you pose. Would you track compiler errors in a bug tracking database? I would hope that no one ever has. As soon as I say that then someone is going to say, "what about the people who are writing code compilers?" :laugh: So, since you wouldn't really consider tracking compiler errors as you do other errors they probably should be ignored since you can't build the software to get it running without resolving them. Analogy Time Also, let's see if there is an analogy.... ...suppose the robots that are building the cars in an assembly line malfunction and start painting the cars multiple colors because the car has a design element which sticks out that inadvertently flips a switch as it travels down the assembly line. Would that be a bug in the car? Probably not.

            My book, Launch Your Android App, is available at Amazon.com.

            N Offline
            N Offline
            Nish Nishant
            wrote on last edited by
            #16

            If you are working on a C++ template library, you may need to track some bugs that may take a few days to fix :-)

            Regards, Nish


            Website: www.voidnish.com Blog: voidnish.wordpress.com

            1 Reply Last reply
            0
            • N Nish Nishant

              In the old days, they were considered bugs. So there were 3 levels ; - compiler errors - runtime errors (program crashes) - logical/functional errors (program does not crash but gives incorrect output) Today most people don't consider compiler errors as bugs.

              Regards, Nish


              Website: www.voidnish.com Blog: voidnish.wordpress.com

              K Offline
              K Offline
              Kenneth Haugland
              wrote on last edited by
              #17

              You forgot the Visual Studio doesn't (currently) work properly so we need a workaround bug :)

              1 Reply Last reply
              0
              • M Marc Clifton

                I imagine we can all agree that a runtime error (something that blows up the program at runtime) or a logical error (doesn't blow up, but produces the wrong result) are bugs. Of course, there are other categories, like a "performance bug" -- produces the right result but takes too long. In any case... What about syntax errors -- those things that the compiler (or the IDE) detects before you even run the code, and in fact prevents you from running the code. Would you go so far as to say that syntax errors are a subset of what we call bugs? Or do you think that something can only be called a bug if it manifests when the program is run? Marc

                Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

                Richard DeemingR Offline
                Richard DeemingR Offline
                Richard Deeming
                wrote on last edited by
                #18

                For some customers, a "bug" is when your software doesn't magically alter its behaviour to adapt to changes in the business requirements which they didn't bother to tell you about. :doh:


                "These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer

                "These people looked deep within my soul and assigned me a number based on the order in which I joined" - Homer

                1 Reply Last reply
                0
                • M Marc Clifton

                  I imagine we can all agree that a runtime error (something that blows up the program at runtime) or a logical error (doesn't blow up, but produces the wrong result) are bugs. Of course, there are other categories, like a "performance bug" -- produces the right result but takes too long. In any case... What about syntax errors -- those things that the compiler (or the IDE) detects before you even run the code, and in fact prevents you from running the code. Would you go so far as to say that syntax errors are a subset of what we call bugs? Or do you think that something can only be called a bug if it manifests when the program is run? Marc

                  Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

                  Kornfeld Eliyahu PeterK Offline
                  Kornfeld Eliyahu PeterK Offline
                  Kornfeld Eliyahu Peter
                  wrote on last edited by
                  #19

                  I asked one of our customers... "A bug is when one choose to print a summary report and a summary report is printed"...

                  Skipper: We'll fix it. Alex: Fix it? How you gonna fix this? Skipper: Grit, spit and a whole lotta duct tape.

                  "It never ceases to amaze me that a spacecraft launched in 1977 can be fixed remotely from Earth." ― Brian Cox

                  1 Reply Last reply
                  0
                  • D den2k88

                    What is a bug? Baby don't hurt me, don't hurt me, no more!

                    GCS d--- s-/++ a- C++++ U+++ P- L- E-- W++ N++ o+ K- w+++ O? M-- V? PS+ PE- Y+ PGP t++ 5? X R++ tv-- b+ DI+++ D++ G e++>+++ h--- ++>+++ y+++*      Weapons extension: ma- k++ F+2 X If you think 'goto' is evil, try writing an Assembly program without JMP. -- TNCaver

                    S Offline
                    S Offline
                    Slacker007
                    wrote on last edited by
                    #20

                    I chuckled.

                    1 Reply Last reply
                    0
                    • M Marc Clifton

                      I imagine we can all agree that a runtime error (something that blows up the program at runtime) or a logical error (doesn't blow up, but produces the wrong result) are bugs. Of course, there are other categories, like a "performance bug" -- produces the right result but takes too long. In any case... What about syntax errors -- those things that the compiler (or the IDE) detects before you even run the code, and in fact prevents you from running the code. Would you go so far as to say that syntax errors are a subset of what we call bugs? Or do you think that something can only be called a bug if it manifests when the program is run? Marc

                      Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

                      S Offline
                      S Offline
                      Slacker007
                      wrote on last edited by
                      #21

                      I always thought of a bug as a flaw in the code implementation (logic) that does not meet the business requirements, as stated earlier by other members. If someone is writing shitty code, that is not a bug, that is just feces, and they probably need to go see a doctor. Just saying... :-D

                      1 Reply Last reply
                      0
                      • N Nish Nishant

                        In the old days, they were considered bugs. So there were 3 levels ; - compiler errors - runtime errors (program crashes) - logical/functional errors (program does not crash but gives incorrect output) Today most people don't consider compiler errors as bugs.

                        Regards, Nish


                        Website: www.voidnish.com Blog: voidnish.wordpress.com

                        L Offline
                        L Offline
                        Lost User
                        wrote on last edited by
                        #22

                        Here you touch one of the reasons why I dislike interpreters so much. A compiler can automatically detect syntax errors and also some smaller desasters waiting to happen, like uninitialized variables, missing return values or type mismatches. Since you have nothing to run until the compiler is satisfied, these bugs are easy to get rid of and will not be of any trouble anymore. An interpreter will not notice anything until it reaches a faulty line at runtime. The ridiculous amount of testing othat would be needed to get the security of a freshly compiled (and by no means perfect) program simply is not worth it.

                        The language is JavaScript. that of Mordor, which I will not utter here
                        This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a fucking golf cart.
                        "I don't know, extraterrestrial?" "You mean like from space?" "No, from Canada." If software development were a circus, we would all be the clowns.

                        S 1 Reply Last reply
                        0
                        • L Lost User

                          Here you touch one of the reasons why I dislike interpreters so much. A compiler can automatically detect syntax errors and also some smaller desasters waiting to happen, like uninitialized variables, missing return values or type mismatches. Since you have nothing to run until the compiler is satisfied, these bugs are easy to get rid of and will not be of any trouble anymore. An interpreter will not notice anything until it reaches a faulty line at runtime. The ridiculous amount of testing othat would be needed to get the security of a freshly compiled (and by no means perfect) program simply is not worth it.

                          The language is JavaScript. that of Mordor, which I will not utter here
                          This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a fucking golf cart.
                          "I don't know, extraterrestrial?" "You mean like from space?" "No, from Canada." If software development were a circus, we would all be the clowns.

                          S Offline
                          S Offline
                          Slacker007
                          wrote on last edited by
                          #23

                          CDP1802 wrote:

                          An interpreter will not notice anything until it reaches a faulty line at runtime. The ridiculous amount of testing othat would be needed to get the security of a freshly compiled (and by no means perfect) program simply is not worth it.

                          1 Reply Last reply
                          0
                          • M Marc Clifton

                            I imagine we can all agree that a runtime error (something that blows up the program at runtime) or a logical error (doesn't blow up, but produces the wrong result) are bugs. Of course, there are other categories, like a "performance bug" -- produces the right result but takes too long. In any case... What about syntax errors -- those things that the compiler (or the IDE) detects before you even run the code, and in fact prevents you from running the code. Would you go so far as to say that syntax errors are a subset of what we call bugs? Or do you think that something can only be called a bug if it manifests when the program is run? Marc

                            Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

                            D Offline
                            D Offline
                            dandy72
                            wrote on last edited by
                            #24

                            Marc Clifton wrote:

                            there are other categories, like a "performance bug" -- produces the right result but takes too long

                            Performance is a feature, not a bug. Remember that software development is driven by one's ability to only pick two out of fast, correct and cheap.

                            Marc Clifton wrote:

                            those things that the compiler (or the IDE) detects before you even run the code, and in fact prevents you from running the code

                            Typos.

                            Marc Clifton wrote:

                            Or do you think that something can only be called a bug if it manifests when the program is run?

                            I would tend to agree with that assertion.

                            1 Reply Last reply
                            0
                            • M Marc Clifton

                              I imagine we can all agree that a runtime error (something that blows up the program at runtime) or a logical error (doesn't blow up, but produces the wrong result) are bugs. Of course, there are other categories, like a "performance bug" -- produces the right result but takes too long. In any case... What about syntax errors -- those things that the compiler (or the IDE) detects before you even run the code, and in fact prevents you from running the code. Would you go so far as to say that syntax errors are a subset of what we call bugs? Or do you think that something can only be called a bug if it manifests when the program is run? Marc

                              Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

                              Mike HankeyM Offline
                              Mike HankeyM Offline
                              Mike Hankey
                              wrote on last edited by
                              #25

                              An extract from a letter Thomas Edison wrote in 1878 to Theodore Puskas

                              Quote:[^]

                              'Bugs' -- as such little faults and difficulties are called -- show themselves and months of intense watching, study and labor are requisite before commercial success or failure is certainly reached.

                              New version: WinHeist Version 2.2.2 Beta
                              I told my psychiatrist that I was hearing voices in my head. He said you don't have a psychiatrist!

                              1 Reply Last reply
                              0
                              • N Nish Nishant

                                Technical requirements and business requirements have some overlap.

                                Regards, Nish


                                Website: www.voidnish.com Blog: voidnish.wordpress.com

                                D Offline
                                D Offline
                                Dominic Burford
                                wrote on last edited by
                                #26

                                Business requirements define "what" the system should do, while the technical requirements define "how" the system should met those requirements. And defining the binaries that are output is most definitely a technical requirement.

                                "There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare Home | LinkedIn | Google+ | Twitter

                                1 Reply Last reply
                                0
                                • M Marc Clifton

                                  I imagine we can all agree that a runtime error (something that blows up the program at runtime) or a logical error (doesn't blow up, but produces the wrong result) are bugs. Of course, there are other categories, like a "performance bug" -- produces the right result but takes too long. In any case... What about syntax errors -- those things that the compiler (or the IDE) detects before you even run the code, and in fact prevents you from running the code. Would you go so far as to say that syntax errors are a subset of what we call bugs? Or do you think that something can only be called a bug if it manifests when the program is run? Marc

                                  Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

                                  R Offline
                                  R Offline
                                  Ravi Bhavnani
                                  wrote on last edited by
                                  #27

                                  It's unintended behavior that's not a feature. /ravi

                                  My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com

                                  1 Reply Last reply
                                  0
                                  • L Lost User

                                    Marc Clifton wrote:

                                    What about syntax errors -- those things that the compiler (or the IDE) detects before you even run the code, and in fact prevents you from running the code.

                                    I would say no, that is not a bug. If it is then this is awesome code that simply has a bug that needs to be fixed.

                                    var godObject = new God();
                                    while(true)
                                    {
                                    godObject.DoWhatIsNeeded()
                                    }

                                    Thats right, god objects don't even care about semi colons they are rocking it so much. THey just go go go and do what is needed. I got your whole system right here. Can I get paid now? But seriously, no syntax errors are not bugs. A bug is a manifestation (i.e. observation) of a failure in a running system. Yes, this means that if it is not observed it is not a bug. Welcome to quantum physics and the world of programming where one persons bug is another persons feature.

                                    Computers have been intelligent for a long time now. It just so happens that the program writers are about as effective as a room full of monkeys trying to crank out a copy of Hamlet. The interesting thing about software is it can not reproduce, until it can.

                                    K Offline
                                    K Offline
                                    Kevin Marois
                                    wrote on last edited by
                                    #28

                                    var godObject = new God();
                                    while(true)
                                    {
                                    godObject.DoWhatIsNeeded()
                                    }

                                    This is a compilation error... until you go back it add the missing semi-colon.

                                    If it's not broken, fix it until it is

                                    1 Reply Last reply
                                    0
                                    • M Marc Clifton

                                      I imagine we can all agree that a runtime error (something that blows up the program at runtime) or a logical error (doesn't blow up, but produces the wrong result) are bugs. Of course, there are other categories, like a "performance bug" -- produces the right result but takes too long. In any case... What about syntax errors -- those things that the compiler (or the IDE) detects before you even run the code, and in fact prevents you from running the code. Would you go so far as to say that syntax errors are a subset of what we call bugs? Or do you think that something can only be called a bug if it manifests when the program is run? Marc

                                      Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

                                      R Offline
                                      R Offline
                                      rob tillaart
                                      wrote on last edited by
                                      #29

                                      A bug is any unintended behaviour of the application. The intention of the application is defined in the requirements (I may hope) An application has 2 sides (more?) with unintended behaviour 1) unintended behaviour in the "eco system" aka computer [exobug] - behaviour that crashes the application itself - behaviour that crashes the OS and/or other applications - congests/blocks resources - CPU, memory, disk, network, GUI real estate, thread pool, battery, ... thereby interfering with other applications and/or the user. (can be acceptable, even the intention) 2) unintended behaviour wrt its intention [endobug] - generate completely wrong answers, - generate partly wrong answers, which might be acceptable (we do so with every float operation) - generate incomplete answers (what is given is right e.g. incomplete list of presidents) - generate answer too late, - generate too much information (overcomplete, the answer must be searched in the output) - generate the right answer when it is not supposed to (legal/permission/credential bug) A special kind of bug [releasebug] are features not meant to be released (e.g. not paid for) These can be especially costly when you wanted to patent them. - update - And you have bugs that corrupt your input data (or other data on the file system) while generating the correct result. e.g. a photo-editor that saves the modified picture under the source name.

                                      1 Reply Last reply
                                      0
                                      • M Marc Clifton

                                        I imagine we can all agree that a runtime error (something that blows up the program at runtime) or a logical error (doesn't blow up, but produces the wrong result) are bugs. Of course, there are other categories, like a "performance bug" -- produces the right result but takes too long. In any case... What about syntax errors -- those things that the compiler (or the IDE) detects before you even run the code, and in fact prevents you from running the code. Would you go so far as to say that syntax errors are a subset of what we call bugs? Or do you think that something can only be called a bug if it manifests when the program is run? Marc

                                        Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

                                        L Offline
                                        L Offline
                                        loctrice
                                        wrote on last edited by
                                        #30

                                        It's a moth[^]

                                        Elephant elephant elephant, sunshine sunshine sunshine

                                        1 Reply Last reply
                                        0
                                        • M Marc Clifton

                                          I imagine we can all agree that a runtime error (something that blows up the program at runtime) or a logical error (doesn't blow up, but produces the wrong result) are bugs. Of course, there are other categories, like a "performance bug" -- produces the right result but takes too long. In any case... What about syntax errors -- those things that the compiler (or the IDE) detects before you even run the code, and in fact prevents you from running the code. Would you go so far as to say that syntax errors are a subset of what we call bugs? Or do you think that something can only be called a bug if it manifests when the program is run? Marc

                                          Imperative to Functional Programming Succinctly Contributors Wanted for Higher Order Programming Project! Learning to code with python is like learning to swim with those little arm floaties. It gives you undeserved confidence and will eventually drown you. - DangerBunny

                                          Sander RosselS Offline
                                          Sander RosselS Offline
                                          Sander Rossel
                                          wrote on last edited by
                                          #31

                                          The more interesting question is "what do I tell my customers?" For example, the customer tells you "we want the name of the customer on our invoices." and you build exactly that. Now your customer calls and tells you the software doesn't work as expected. He created an invoice and it's addressed to "Higher Order Programming", but he had expected it to say "Marc Clifton"! "Well," you say "seems like we have ourselves a bug." However, classifying this as a bug makes it sound like it's YOUR fault (after all, bugs are made by programmers) while actually the specs were ambiguous (he had to specify the name of the person, not the company, a bug in the specs if you will). Calling the specs ambiguous may insult your customer. What is the correct thing to say, you don't want to take blame and you don't want to blame someone else? Perhaps "it seems there has been a misunderstanding, I can change it right away." Now what if you had made the application to print not any name on the invoice, but the price (where the name is supposed to be). Clearly that's not in the specs and it seems you actually have a bug. Can you tell the customer "we have a bug"? The word "bug" brings with it a negative annotation. Would it be better to tell the customer "it seems I've overlooked something" avoiding the words "bug", "error", "mistake", etc. I try to avoid the word as much as I can. "You're right, I'll change it right away!" seems like a good thing to say. Hearing you're right is always nice. Hearing that your problem will be fixed right away is also nice. The customer just forgot about the bug altogether and even though your software is buggy the customer is actually satisfied with your services! Answering your initial question, I don't think a syntax error is a bug, it's simply something you've overlooked :)

                                          Read my (free) ebook Object-Oriented Programming in C# Succinctly. Visit my blog at Sander's bits - Writing the code you need. Or read my articles here on CodeProject.

                                          Simplicity is prerequisite for reliability. — Edsger W. Dijkstra

                                          Regards, Sander

                                          M 1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups