back to article Buggy code to the left of me, perfect source to the right, here I am, stuck in the middle with EU

Midway through SUPERSEDE, the EU three-year project backed by €3.25m in funding to make software better, software still sucks. It's always been thus, but now that computer code has a say in the driving of Teslas, confronts everyone daily on smartphones, and has crept into appliances, medical devices, and infrastructure, it's a …

  1. TeeCee Gold badge
    WTF?

    SUPER.....oops.

    Funny. All those use cases seem to be about tweaking the UI to prevent users buggering off in disgust.

    Does this mean:

    1) The partners involved haven't actually got a fucking clue what they're supposed to be doing?

    2) It's actually got bugger all to do with code quality and is just yet another layer of gloss over the usual ropey bag of shite.

    (As it's the EU, I suspect the correct answer is; "Officially 1, but actually 2").

    1. AMBxx Silver badge
      Unhappy

      Re: SUPER.....oops.

      You'll probably find the companies involved lobbied the EU to make the case for improved software quality. Then, coincidentaly, said companies offered to fix the problem.

      Doesn't seem to be very much money though - how much are Google, MS etc spending annually looking at this?

    2. AndrueC Silver badge
      Happy

      Re: SUPER.....oops.

      (As it's the EU, I suspect the correct answer is; "Officially 1, but actually 2")

      Don't be so narrow minded. It could be both.

    3. Doctor Syntax Silver badge

      Re: SUPER.....oops.

      "All those use cases seem to be about tweaking the UI to prevent users buggering off in disgust."

      3) The people who bought whatever the product was discovered that in real life they didn't really need what it provided.

    4. Anonymous Coward
      Anonymous Coward

      Re: SUPER.....oops.

      It's 2. I've worked on EU projects. There's the occasional optimist trying to get something useful done, but you have to work very hard to find them among the swarm of people just making sure they get the funding.

      The EU ensures it just helps out projects that are worthwhile by funding no more than 50% of the total cost, so the companies involved have to contribute and of course they don't triple their estimates of the work they will do. Oh no. Not at all.

  2. Anonymous Coward
    Anonymous Coward

    One way to improve software is to create re-usable blocks that get as close to a 100% quality as possible. Too some extent this is already done witth softare librarries, but the reduction of code through higher level platforms, rather than workstation based libraries and hoping for th enest when implemeenting will improve matters.

    Basically: write less lines of code and build on a major cloud infrastructures. Let millions of other users establish and promote the quality of components.

    1. frank ly

      Also, read through your code and dry run it in your mind, at least twice, before you unleash it onto the world.

    2. DrXym

      One way to improve software is to use languages which prevent you from making mistakes in the first place.

      Languages like C++ allow the programmer to do patently dumb things without batting an eyelid. e.g returning a reference to a temporary variable. Or creating implicit constructor / assignment operators for classes that will crash because of pointer member variables. Or allowing assignments in conditions. There are numerous other examples.

      Higher level languages aren't immune either. Languages like Javascript are completely okay with failing at runtime because a variable is the wrong type or doesn't exist or with bizarro rules about when this is bound and when it isn't.

      Some modern languages are far more strict about such things and work on the philosophy that if you can catch an error at compile time you stop it getting into production. Languages like Rust are uber-strict to the point that getting something to compile is a sado-masochistic ritual but there is no doubt that the code that comes out is higher quality and less prone to failure.

      1. Anonymous Coward
        Anonymous Coward

        "Sandboxing" the developer is an old aim, Visual Basic, Java, all attempts to sandbox the developer and protect him or her from making mistakes - it turned out it didn't work, and new issues were just introduced - and Java in 1996 looked the saviour of them all, alike every other much hyped language that followed.

        Nor strict languages are something new - just take Pascal, for example...

    3. P. Lee
      Happy

      >One way to improve software is to create re-usable blocks

      Obligatory Dilbert: http://dilbert.com/strip/1996-01-31

  3. Anonymous Coward
    Anonymous Coward

    Gotta lurve the EU.

    Once upon a time we went to see a startup in Brussels. LOvely offices. Charming CEO. Talked about EU funding and the importance of marketing to get it. Half a dozen employees, mostly in PR.

    Finally I aksed, 'But what does your company actually do?'

    'Oh we are funded to investigate and develop a common system of postal standards across the EU for when all the national postal systems deregulate'.

    'And who is actually doing that?'

    'Oh, we have a mad Russian in the basement with a minicomputer. Lord knows what he is doing.'

    1. John Lilburne

      Re: Gotta lurve the EU.

      'Oh, we have a mad Russian in the basement with a minicomputer. Lord knows what he is doing.'

      If that is so then 10:1 it will be impenetrable code, using single letter variable names, with zero comments, it will have duplicated a large part of the existing runtime code, and exploited undocumented side effects in the rest.

      1. m0rt

        Re: Gotta lurve the EU.

        'In Soviet Russia, code debugs you!'

        1. Anonymous Coward
          Anonymous Coward

          Re: Gotta lurve the EU.

          Judging from code quality, debugging the authors would be a good start!

      2. Rich 11

        Re: Gotta lurve the EU.

        If that is so then 10:1 it will be impenetrable code, using single letter variable names, with zero comments, it will have duplicated a large part of the existing runtime code, and exploited undocumented side effects in the rest.

        Didn't we all grow up doing that, until we got our first proper job at a place which could afford a properly organised team? No? Just me then...

  4. Anonymous Coward
    Anonymous Coward

    Telemetry makes software better?

    Wrong answer. And nothing new - Microsoft and others already implemented it - and of course any telemetry have nasty sides, when used in production systems. Feedback is important, but just a big bunch of data without knowing much of the user experience, aims, etc. is utterly useless. It's just another "big data" approach doomed to fail.

    You see it in many commercial products - trying to shift testing to end-user without a proper selection and supervision of the tests (to save money) is decreasing the product usability greatly.

    Especially since in any large bunch of data you can find a subset that will support any preconceived idea of yours...

  5. gv

    "Based on some 108 million lines of code, CAST estimated which problems would need to be fixed and concluded that it would cost about $2.82 per line of code to make those repairs."

    What are the chances that these "repairs" will require repairing in their turn? Accept the fact that software is inherently buggy (a bit like the real world).

  6. chivo243 Silver badge

    Love the reference

    Gotta love Gerry Rafferty. Keep up the fine work!

  7. Dan 55 Silver badge
    Mushroom

    My case

    Just started a new project. All important technical decisions were taken by a very important person who knows nothing about IT. Programmers, etc.. were not consulted and complained that it was madness from the first day.

    This will be a disaster, everyone knows it. Programmers continually complain. No team leader or PM will escalate that what we're doing is madness.

    As of today, we are still marching onward to the glorious delivery date.

    1. allthecoolshortnamesweretaken
    2. Anonymous Coward
      Anonymous Coward

      Re: My case

      *Stands up, looks around, locates you in another cubical & waves*

      Hey Bob! I thought that was you! Wanna hit the pub after & bitch about the boss?

      *Sits back down & goes back to pretending to work like they pretend to pay me*

  8. Bronek Kozicki
    Facepalm

    ha, ha, ha ...

    So, the "panacea" for buggy code is a new and very complex GUI toolkit for figuring out where clients are not clicking?

    Thank you, I will pass. PC-lint and compiler warnings work for me. And sane design, with the goal of reducing complexity.

  9. John Brown (no body) Silver badge

    €3.25m?

    Maybe they could use it better by taking device and software suppliers to court for not fixing the faults that were there from purchase for the full and legally defined "lifetime" of the product, which in the EU is a minimum of 2 years for the warrenty period and usually a few years afterwards for "design faults/failures".

    Specifically smart phone security issues but pretty much anything that contains software/firmware is guilty of being abandoned well before it's expected end-of-life.

    1. Daniel von Asmuth
      FAIL

      Re: €3.25m?

      Three megabucks will buy you a rather big box of goody Belgian Bonbons (chocolates), but it would cost billions just to print out the source code of all the software used in the EU.

  10. Herby

    How many people??

    For €3.25m I estimate that you might get around 20 people for a year (I'm assuming "good" people, not those who are barely able to breathe).

    This assumes that your overhead is around 100% of salary (if it isn't that could be a problem). Even then for a two year project you get 10 people that will work it out. I just don't see much happening for that little money. Of course, there will be those who say, there is the problem, we need more €€€'s and some nice government agency (I assume there are several in Brussels) will pony up the cash. After all we can't waste this precious research after we have done so much.....

  11. Vic

    Substantially reducing the bug count is technically quite easy

    It's all about incentives. Put the right ones in place, and people will write good code because it is personally beneficial for them to do so.

    Put the right incentives in for the PMs, and the testing gets done properly - again, because it is personally beneficial for them to do so.

    Put the wrong incentives in place, and you get chaos.

    Put no incentives in place and you get the current situation - "ship and be damned". While there is a penalty for late shipment, but no penalty for shipping crap, guess what goes out the door?

    Vic.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Other stories you might like