Slashdot Mirror


Computer Program Fixes Old Code Faster Than Expert Engineers

An anonymous reader writes: Less than two weeks after one group of MIT researchers unveiled a system capable of repairing software bugs automatically, a different group has demonstrated another system called Helium, which "revamps and fine-tunes code without ever needing the original source, in a matter of hours or even minutes." The process works like this: "The team started with a simple building block of programming that's nevertheless extremely difficult to analyze: binary code that has been stripped of debug symbols, which represents the only piece of code that is available for proprietary software such as Photoshop. ... With Helium, the researchers are able to lift these kernels from a stripped binary and restructure them as high-level representations that are readable in Halide, a CSAIL-designed programming language geared towards image-processing. ... From there, the Helium system then replaces the original bit-rotted components with the re-optimized ones. The net result: Helium can improve the performance of certain Photoshop filters by 75 percent, and the performance of less optimized programs such as Microsoft Windows' IrfanView by 400 to 500 percent." Their full academic paper (PDF) is available online.

167 comments

  1. Nirvana?! by Anonymous Coward · · Score: 0

    Software fixes bugs! Oh, wait....

    1. Re:Nirvana?! by JMJimmy · · Score: 5, Insightful

      Unemployment is a sort of nirvana.

      I just want to know why when they improve the speed of something by 75-500% it's considered research but when I do it it's considered a waste of time? Companies just don't appreciate efficiency.

    2. Re:Nirvana?! by Anonymous Coward · · Score: 0

      Because they are happy with toilets taking 15 minutes to clean. Really dropping that to 7 minutes or 3 minutes isn't going to change things that much. If you were able to clean them faster, you'd just slack off more on Slashdot.

    3. Re:Nirvana?! by Anonymous Coward · · Score: 1

      Because you did it once and wanted to get paid hourly, while these guys made a computer that will do it for the cost of the electric bill all day long on every program you feed into it without complaining once.

    4. Re:Nirvana?! by quantumghost · · Score: 5, Funny

      $ Helium -i Helium -o Helium2

      Program ran in 656.76s

      $ Helium2

      Welcome to SkyNET

    5. Re:Nirvana?! by Anonymous Coward · · Score: 0

      Because research is a waste of time?

    6. Re:Nirvana?! by Anonymous Coward · · Score: 0

      Because then programmers would be eligible to very good evaluations and possible promotions or pay raise. That's a serious expense compared to a software program (that may even be "purchased" keeping costs down and perhaps reduce another unnecessary worker).

      But im sure laid off programmers would have no trouble finding another job... cough.

    7. Re:Nirvana?! by Bengie · · Score: 1

      A person is not fractional, so a single person doing a job faster may not benefit, but people can be fractional, and reducing the number of toilet cleaners by 50% can save a lot of money.

    8. Re:Nirvana?! by Anonymous Coward · · Score: 0

      Software fixes bugs! Oh, wait....

      In Soviet Russia: Bugs fixes software.

    9. Re:Nirvana?! by LifesABeach · · Score: 1

      Which would free up that part of the work force to mow lawns in California's San Joaquin valley.

    10. Re:Nirvana?! by Krishnoid · · Score: 1

      Because they published a paper on it?

    11. Re:Nirvana?! by Anonymous Coward · · Score: 0

      As I was driving to the office I was taken by the large percentage of dead lawns out here in the Coachella Valley and thinking that life must be hell right now if you're a gardener by trade - especially since a large percentage of the gardeners in this area are here illegally and wouldn't be eligible for unemployment insurance benefits . . . The drought definitely has impacted the gardening business out here (perhaps they'll migrate to the San Joaquin Valley :-D )

    12. Re:Nirvana?! by Anonymous Coward · · Score: 0

      continually iterating the process tends to result in a program called Probulator

    13. Re:Nirvana?! by Anonymous Coward · · Score: 0

      >Because you did it once and wanted to get paid hourly

      Nobody getting paid hourly wants to be more efficient, this means less work, and less money.

    14. Re:Nirvana?! by Anonymous Coward · · Score: 0

      ".... while these guys made a computer that will do it....on every program you feed into it without complaining once...."
      So they solved the halting problem then? LOL, if I only had a femtocent for everytime I've heard that claim, I'd be wealthier than Bill Gates!!!
         

    15. Re:Nirvana?! by Anonymous Coward · · Score: 0

      What lawns?

    16. Re: Nirvana?! by cthulhu11 · · Score: 1

      The quarter of a man he got hired The next damn day he got fired There's only one thing wrong with this plan He only gets a quarter he's a quarter of a man

    17. Re:Nirvana?! by ebvwfbw · · Score: 1

      Would you like to play a game?

    18. Re:Nirvana?! by LifesABeach · · Score: 1

      Exactly.

  2. Improving the performance by more than 100% by Racemaniac · · Score: 2, Informative

    Does that mean the program responds in negative time? even before you click the button it's already done what you wanted? Sounds impractical...

    1. Re:Improving the performance by more than 100% by Bengie · · Score: 4, Informative

      100% faster just means 2x.

    2. Re:Improving the performance by more than 100% by narcc · · Score: 1
    3. Re:Improving the performance by more than 100% by mlw4428 · · Score: 1

      How are you getting that idea? What it's most likely saying is that if a process took, say, 5 seconds before it could take as little as 1 second now. It has nothing to do with "negative" time.

    4. Re:Improving the performance by more than 100% by Anonymous Coward · · Score: 0

      yes that's one, and it's a know fact, microsoft put lots of sleeps in their code, so the only thing that software needs to do is decrease they delay...

    5. Re:Improving the performance by more than 100% by CajunArson · · Score: 1

      YOU ARE SO SMART!

      It's obviously physically impossible to ever improve the performance of anything more than 100%. That's why 60+ years of Moore's law means that modern computers have a maximum theoretical performance ceiling of 769 FLOPS since the Eniac churned out 385 FLOPS and it's physically impossible to be more than 100% faster.

      Where can I sign you up for the Turing Prize?

      http://knology.net/johnfjarvis...

      --
      AntiFA: An abbreviation for Anti First Amendment.
    6. Re:Improving the performance by more than 100% by randm.ca · · Score: 4, Insightful
      Am I having an English fail, or are they having a Math fail?

      Mr. Smith's salary has increased by 350% over the past 20 years. If his original salary was $22,000 per year, what is his current salary?
      First change 350% to a decimal: 350% = 3.5
      Next, multiply the original salary by the decimal number: (22000) x (3.5) = 77000
      After 20 years Mr. Smith's salary has increased from $22,000 to $77,000 per year.

      Didn't his salary increase by $77,000, from $22,000 to $99,000?

      To simplify it, if his salary had increased by 100% would that mean he was now making $22,000 (their logic) or $44,000 (my logic)?

    7. Re:Improving the performance by more than 100% by erebus2161 · · Score: 2

      You seem to be correct. Instead of saying his salary increased by 350%, they should have said his salary increased to 350% of his original salary.

    8. Re:Improving the performance by more than 100% by Anonymous Coward · · Score: 0

      Does that mean the program responds in negative time? even before you click the button it's already done what you wanted? Sounds impractical...

      It's only impractical if you change your mind before you actually click the button, but see it this way: all your work of the day is achieved before you go to the office.
      I'm not very good at solving temporal paradoxes, so I only count four possibilities:
        1/ The results cannot be seen before you actually click the buttons. You therefore have to stay all day long at your desk and click the buttons even if all the job was /virtually/ done before you sat down. That's lame and useless.
        2/ The results can be seen before you actually click the buttons, but causality must be ensured. We then change the software so that it also outputs the actions to perform to generate these results. You have to stay all day long at your desk and click the buttons listed. Your job requires no skills and telecommuting is definitely an option, yay!
        3/ All results of all the possible chains of actions are available before required. Therefore all problems cease to exist, since sorting all the results to find the best one could be forwarded to your software. Your job is no longer required; you are fired. However, everyone is now jobless so you don't feel alone. Maybe money no longer exists and we enter the StarTrek age, but don't count on it.
        4/ Last possibility but the most realistic: it's definitely not possible to have a system responding in negative time. But buzzwordsmouthfilled consultants and hispters will convince your PHB that their new framework has this capacity. You are fired. Positive point: you can stay at home, yay!

    9. Re:Improving the performance by more than 100% by alexhs · · Score: 1

      Their obvious math fail.

      Mr. Smith's salary has increased by $77 000 (notice how that's exactly how it's worded: by 350%) , not "to" $77 000.

      If their answer was to be believed, the original statement should have been that his current salary is 350% of what was his salary 20 years ago.
      One could also say that his salary has increased by $3.5 (% = 1/100 = 0.01, right ?) .

      I suspect that % is the more irregular symbol of mathematics. Most people don't know how to correctly use it in most contexts.

      Then you could have a laugh asking them how much that makes in average annual increase (answer is not (350/20)%).

      --
      I have discovered a truly marvelous proof of killer sig, which this margin is too narrow to contain.
    10. Re:Improving the performance by more than 100% by hackwrench · · Score: 1

      I'm a little confused but it seems to me that whether or not you can improve performance depends on how you measure performance. Cutting a program's run time from 5 seconds to 2.5 seconds measured one way is a speed increase of 50%, One of the replies measured something in terms of GFLOPS, but that's a measurement of hardware performance, not software performance on the same machine. I'm not sure what metric would be used to cause software to have a greater than 100% on the same machine.

    11. Re:Improving the performance by more than 100% by hackwrench · · Score: 1

      But that's 500% of the new value, not the old one. In order to express performance gains in a way that makes sense, you need to express it in terms of the old value.

    12. Re:Improving the performance by more than 100% by hackwrench · · Score: 1

      That's comparing the performance of different hardware. What's being measured here is the performance of software on the same hardware.

    13. Re:Improving the performance by more than 100% by mr_mischief · · Score: 1

      A program that could process 100 MB of data in five seconds can now process 500 MB of data in five seconds. That's a 400% increase in the amount of data it can process per unit of time. People are just really bad at wording this sort of thing for some reason. I think that reason is probably that math and language are taught largely independently and as if one never interacts with the other.

    14. Re:Improving the performance by more than 100% by hackwrench · · Score: 1

      I find that element in my education frustrating. Too bad one can't successfully sue the government or other providers of education for it.

    15. Re:Improving the performance by more than 100% by Anonymous Coward · · Score: 0

      Cutting a program's run time from 5 seconds to 2.5 seconds measured one way is a speed increase of 50%

      If machine A produces 12 widgets per minute and machine B produces 24, machine B is twice the speed of A - a speed increase of 100%.

    16. Re:Improving the performance by more than 100% by ChrisMaple · · Score: 1

      Technically, speed or "fast" is measured as quantity / time. If 5.0e9 operations used to take 5.0 seconds and now takes 1.0 second, it's 5 times as fast, just as 50 mph is 5 times as fast as 10 mph.

      --
      Contribute to civilization: ari.aynrand.org/donate
    17. Re:Improving the performance by more than 100% by Anonymous Coward · · Score: 0

      If his salary is 100% of what it was, it is unchanged. If it is 200% of what it was, it has doubled.

      If his salary increased by 0%, is is unchanged. If it increased by 100%, is has doubled.

    18. Re:Improving the performance by more than 100% by ignavus · · Score: 1

      100% faster just means 2x.

      Or 50% as slow.

      --
      I am anarch of all I survey.
    19. Re:Improving the performance by more than 100% by Anonymous Coward · · Score: 0

      No, no, no. You've got it wrong. It's not possible to increas the performance by more than 100% at a time.
      Moore's Law is about the year-on-year increases, so you can get 100% each year and end up with more than 100% in total. (Or even higher increases if you measure every month, for instance!)

  3. Support and copyright ... by gstoddart · · Score: 1

    So, hopefully you are doing this on stuff so old you don't have to worry about your support contract, hopefully you can figure out how to legally do this without violating someone's copyright (it's a derivative work), and hopefully you don't introduce any new errors or security holes.

    This sounds cool, but you're in a gray area in terms of legality I should think.

    I guess if it works it's cool, I'm just not clear on how you can prove that the two are 100% the same.

    --
    Lost at C:>. Found at C.
    1. Re:Support and copyright ... by Bengie · · Score: 1

      Better outlaw bit rot, it changes binaries all the time. Non-checksumming filesystems are now illegal.

    2. Re:Support and copyright ... by Anonymous Coward · · Score: 0

      Yes, but there are laws about essentially what relates to cracking the program. “Because stencils do the same computation over and over again, we are able to accumulate enough data to recover the original algorithms.”

    3. Re:Support and copyright ... by gstoddart · · Score: 4, Funny

      What? There is no law against modifying binaries on software you own.

      These days, copyright means whatever the hell corporations tell government it means, and it's a constantly moving target.

      I'm not convinced the BSA would agree.

      The quality of comments on this site continues to decline at a rapid pace...

      Yeah, it's full of snide assholes posting as Anonymous Coward who don't have anything intelligent to add.

      --
      Lost at C:>. Found at C.
    4. Re:Support and copyright ... by CreatureComfort · · Score: 1

      Any more, unless you coded it and compiled it yourself, you don't own any software. You are licensed to use it, with a lot of restrictions.

      --
      "Unheard of means only it's undreamed of yet,
      Impossible means not yet done." ~~ Julia Ecklar
    5. Re:Support and copyright ... by angel'o'sphere · · Score: 1

      Copyright is only violated if you distribute the work ... everyone in the business should know that.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    6. Re:Support and copyright ... by Anonymous Coward · · Score: 0

      No there are no such laws. They aren't "cracking" the program either. They are optimizing it. There are lots of programs that do this already, and have been doing this for years. Really this site is going downhill.

    7. Re:Support and copyright ... by angel'o'sphere · · Score: 2, Interesting

      Unfortunately you AC parent is right and you are just an asshole and an idiot.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    8. Re:Support and copyright ... by anybody_out_there · · Score: 1

      What? There is no law against modifying binaries on software you own. The quality of comments on this site continues to decline at a rapid pace...

      True, the quality of comments does decline. See the quoted comment for exhibit A.

      Generally, unless you wrote the software, you don't own the binary; you merely LICENSE it. There are civil laws against violating the licensing agreement by modifying or reverse engineering. Not that this process would necessarily be considered reverse-engineering, but let a lawyer get a hold of the idea and watch out!

    9. Re: Support and copyright ... by Anonymous Coward · · Score: 0

      Better yet, classify bit rot as DRM. Then prosecute those who attempt to circumvent bit rot.

    10. Re:Support and copyright ... by Anonymous Coward · · Score: 0

      you are just an asshole and an idiot.

      Make up your mind. Which is it?

    11. Re:Support and copyright ... by Anonymous Coward · · Score: 0

      "There are civil laws against violating the licensing agreement by modifying or reverse engineering"

      No, there are no such laws (you are talking about EULA's most likely). If you believe there is a CIVIL LAW, then quote the law. You can't. As I said, the quality of comments here continues to slide downhill.

    12. Re:Support and copyright ... by Anonymous Coward · · Score: 0

      Even 'free' software you do not 'own'.

      Take for example GPL. Its whole bases of ownership is a copyright legal agreement that you can use it. You break that agreement you are supposed to not use it.

      The only software you own is what you write.

      Many times the click thru agreements on most software have restrictions on de-compiling or reverse engineering the code.

      That is the 'legal' definition. The practical definition is I 'own it' it is on my computer I control my computer. Good luck with finding out what I am doing. If you can find out, you can then maybe do something.

    13. Re:Support and copyright ... by guruevi · · Score: 2

      There is a law against modifying the software you own (at least in the US and the EU), it's called the DMCA and it's European derivatives. The only exception the DMCA allows is for 'interoperability' where no other programs do the same things. With the availability of open source solutions, it's just not worth fixing old crap when you can just fix open source systems without legal issues.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    14. Re:Support and copyright ... by gstoddart · · Score: 0

      Well, you apparently would be an authority on assholes, idiot.

      Seriously, do you get punched in real life? Or do you only act like an asshole on the internet?

      --
      Lost at C:>. Found at C.
    15. Re:Support and copyright ... by hackwrench · · Score: 1

      How much software do you own and how much software do you only have a license to use?

    16. Re:Support and copyright ... by mark-t · · Score: 5, Informative

      Actually, copyright is violated when you copy the work without permission and the purpose for copying the work does not otherwise make it exempt from infringement. If you don't distribute at all, and you do not profit from it in any way, then nobody else is necessarily even going to know you copied it, let alone want to prosecute you for it, but that does not necessarily mean it is necessarily legal (some jurisdictions even have private copying as exempt from infringement anyways, or for example, in Canada, have private-use copying exempt only so long as a mechanism for compensating at least some percentage private-use copies exists, such as levies on blank media where such copied content is considered by said controlling agencies to be likely to be copied onto).

      Distribution of unauthorized copies is usually taken as gold-bar standard proof of infringement, since it establishes, in an objectively verifiable way, a non-private-use purpose for making those copies which can be presented by the copyright holder as a basis for the claim against the infringer. The action of distributing unauthorized copies is generally considered illegal as well, a crime related to infringement and no less than at least evidence of conspiracy to commit copyright infringement, but is not technically copyright infringement, not is it absolutely required to commit infringement... at most it may only be required to be held accountable for infringement.

    17. Re:Support and copyright ... by Anonymous Coward · · Score: 0

      Interoperability doesn't work the way you describe. Check the dictionary.

    18. Re:Support and copyright ... by Anonymous Coward · · Score: 0

      LOL I'd rather be a snide asshole posting as Anonymous Coward than a snide asshole posting under some pointless account handle. Although I do use my real name on other sites ;p

    19. Re:Support and copyright ... by bws111 · · Score: 1

      Not 'any more'. EVER.

    20. Re:Support and copyright ... by Wraithlyn · · Score: 1

      There is a law against modifying the software you own

      No there is not.

      The DMCA criminalizes the circumvention of copy protection, not "modifying software" in general.

      --
      "Mind, as manifested by the capacity to make choices, is to some extent present in every electron." -Freeman Dyson
    21. Re:Support and copyright ... by Archillies · · Score: 1

      This is the nature of comment sections from the dawn of the .ALT of Usenet. Some things will never change, filter the garbage and move on....

      For those of you born in the "Web is the Internet" days, I am talking about mailing lists.

      --
      Finally an OldFart : Keep off MY lawn too!
    22. Re:Support and copyright ... by Coren22 · · Score: 2

      Clearly he can't be an asshole as that is the absence of space, not the muscle around the absence.

      --
      APK likes to ask for responses to the same things over and over. Maybe he just likes the responses?
    23. Re:Support and copyright ... by Anonymous Coward · · Score: 1

      Yes, but there are laws about essentially what relates to cracking the program. “Because stencils do the same computation over and over again, we are able to accumulate enough data to recover the original algorithms.”

      I think that this is the part that is being glossed over.

      They haven't created a program that can "repair" arbitrary programs and as long as "that's-not-a-bug-its-a-feature" exists, you can't define one.

      What they've apparently done is create a program that can analyze image-processing programs and replace algorithms with known good equivalents. Implying that it likely won't do jack for things like where a dropdown menu invokes an action without setting up the same command context that its corresponding toolbar button does.

      Much less render the software of the world immune to the type of failures we've seen over the last few days.

    24. Re:Support and copyright ... by mr_mischief · · Score: 1

      You don't own Photoshop. Adobe does.

    25. Re:Support and copyright ... by mr_mischief · · Score: 1

      You own it if you write it, if you pay someone under contract to write it for you to own, if you purchase the ownership and copyright interests in the code, or if the copyright is assigned to you.

    26. Re:Support and copyright ... by mr_mischief · · Score: 2

      Contract law is law. Also, there's actual copyright statute that says you can't create and distribute a derivative work. This has often been interpreted by the courts to mean you can't make a tool that easily enables others to do so. While running this on your own copy of something is not against statute, it may be a breach of contract.

      If you think that statutes are all of the law, then you don't understand the concept of law in pretty much the entire former English colonies, most of which operate at least partly under common law and precedent.

    27. Re:Support and copyright ... by guruevi · · Score: 1

      Compiling to binary seems to be an access control. If you read the DMCA, I as an engineer am able to read it as such that circumventing 'access controls' includes compiling to binary and removing the symbols necessary to 'access' the data in the program. If I read it as such, I'm pretty sure at some point, some lawyer with sufficient skill will do as well.

      --
      Custom electronics and digital signage for your business: www.evcircuits.com
    28. Re:Support and copyright ... by angel'o'sphere · · Score: 0

      You started it. You called the AC an assine ... so?

      So: calling an AC an assine ... what was the exact wording(?) ... makes you an assine asshole yourself.

      No, I don't get punched in real live as I have quite respectable set of ranks in martial arts.

      And idiots like you I rarely meet in RL ... luckily.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    29. Re:Support and copyright ... by angel'o'sphere · · Score: 1

      Actually, copyright is violated when you copy the work without permission and the purpose for copying the work does not otherwise make it exempt from infringement.
      That is ... actually ... wrong.

      All copyright laws on the world are about distributing/selling copies. You can copy what ever you want for personal use. Was always like that.

      There are only new exceptions like DMA etc. which want to prevent you from copying a CD etc. to a different media.

      The action of distributing unauthorized copies is generally considered illegal as well, a crime related to infringement and

      On most parts of the world this is not "illegal" (how ever it is defined how to handle it by law) nor a "crime". A crime is something where a random person can go to the police or an investigator (state attorney) and notify them and they start investigating on their own.

      No one in Europe e.g. would start an investigation if a random private person would make such a notification about another random person infringing copyright on some one else.

      Only the person suffering from the copyright infringement can make a notification and cause a civil case, not a crime case.

      And as a matter of fact: changing binary code of software to fix bugs for software you own and only run on your computers, and performance issues can be considered bugs, is legal all over the world!

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    30. Re:Support and copyright ... by mark-t · · Score: 1

      You are mistaken.

      Let's take US law for example.

      Title 17, Chapter 5, section 106 outlines the exclusive rights of a copyright holder, one of which is to reproduce the copyrighted work. Sections 107 through 122 outline limitations on those rights.

      title 17, chapter 5, section 501 defines copyright infringement. The mere act of copying without permission, which encroaches on the exclusive rights described in section 106, is infringement. Copying for personal use is an argument for fair use, which is a limitation on copyright as outlined in section 107, but it does not necessarily automatically follow that all private copies necessarily qualify for such exemption. The circumstances surrounding the making of the copy are examined to determined if fair use applies.

      If no such exemption is applicable, then title 18, part 1, chapter 113, section 2319, subsection b.3, the weakest case listed therein, and covering all cases that are neither repeat offenses or for commercial gain cites a penalty of one year for any willfull copyright infringement. A prison penalty of up to one year. Infringement for commercial gain and repeat offenses have higher penalties.

      So yes... It's a crime.

    31. Re:Support and copyright ... by angel'o'sphere · · Score: 1

      As I mentioned before the "crime" part is new and requires criminal behaviour (and is an US specific thing), modifying software you bought and is running on your machines only, is neither a violation nor a crime.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    32. Re:Support and copyright ... by Anonymous Coward · · Score: 0

      Children! Do not make me pull this car over!

    33. Re:Support and copyright ... by mark-t · · Score: 1

      Copyright infringement is a crime in several other countries as well, actually, I cited the relevant sections for US law o ly because I knew exactly where to look for them. I believe similar statutes exist in a least several European countries, and I know as a positive fact that is also how it is in Canada. But what part about "is" implies that is the way it has always been?

    34. Re:Support and copyright ... by Anonymous Coward · · Score: 0

      False. See MDY Industries vs Blizzard Entertainment

    35. Re:Support and copyright ... by Wraithlyn · · Score: 1

      Nonsense.

      The act of compilation itself does not protect the digital work (we're NOT talking about the source code here, we're talking about the end product) from being accessed. You can give the binary to someone else, and (in the absence of actual DRM features) they can run it. So it is not DRM in itself, that requires another layer.

      Neither the DMCA's Wikipedia page, nor the bill summary mentions the word "binary" or "compile". Nor does some quick googling unearth anything supporting your stance here.

      If I own a game, I am free to hack away it, install mods, trainers, hexedit data files, whatever the hell I want. As long as I am not bypassing any DRM features it has. The DMCA criminalizes cracking copy protection schemes. Not "all modification of binary files". If you have a source that says otherwise I'd love to read it.

      --
      "Mind, as manifested by the capacity to make choices, is to some extent present in every electron." -Freeman Dyson
    36. Re:Support and copyright ... by angel'o'sphere · · Score: 1

      Copyright does not really exist in Europe, we call it 'Urheber Recht' in german or 'moral rights'.
      A crime is, since a few years, to distribute pirated music and movies.
      Copying software, or books or any other thing falling under 'copyright' is only prosecuted on request of the rights holder, who has to prove the infringement, and it is not a crime.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  4. Bit-rot? by Anonymous Coward · · Score: 1

    I always understood bit-rot to be data degrading on a storage medium. Not sub-optimal cruft code from way back.

    1. Re: Bit-rot? by Anonymous Coward · · Score: 0

      This is metaphorical bit rot, welcome to the marvelous world of multi-leveled polysemy.

    2. Re:Bit-rot? by Junta · · Score: 1

      Incidentally, it's (probably) not in this case that the code was sub-optimal, just mis-optimized. Whether it's something like code written before AVX2 existed, now adding AVX2 codepath, or scenarios with two algorithms that end the same way that use different operations where a choice was made based on chips that could do one of those faster, and newer chips started getting faster the other way.

      --
      XML is like violence. If it doesn't solve the problem, use more.
    3. Re:Bit-rot? by Anonymous Coward · · Score: 0

      My advice is to just let it go. Words and phrases get redefined left and right with little regard to the original meaning. It used to be that a Hacker was someone who solved complex problems in interesting ways whereas now it is a Chinese person typing "ssh root@random.ip". Hell, a Pirate was someone who sailed the seas hijacking cargo ships while now it is just any kid who listens to a song on Youtube.

    4. Re:Bit-rot? by Anonymous Coward · · Score: 0

      I learned my new thing for the day now. To quote Paul Harvey, now I know the rest of the story.

  5. its been around for years. by nimbius · · Score: 5, Funny

    This kind of application has been ported to about half a dozen different operating systems. i use it on a regular basis but for those not familiar I find it works best with legacy PHP. the "rm" command (or as its known in windows "del") uses an advanced algorythm to determine the target codes age, total number of lines, and any optimizations that are required in order to make it fully web 4.0 SOAP, ROPE, and DOPE compliant. It then quickly converts the code to the updated version by changing the physical structure of the space it occupies on the disk. My coworkers always seem amazed when they see me break out my legacy optimizer. "What have you done?!" they exclaim, baffled at my efficiency. "holy crap do you know how important that was?!?" they remark in awe

    --
    Good people go to bed earlier.
    1. Re:its been around for years. by Anonymous Coward · · Score: 1

      I'd mod you +1 BOFH

    2. Re:its been around for years. by Anonymous Coward · · Score: 1

      I wrote the advanced version of that program called format. Optimizes every program on the drive you select. When I use it the whole department comes in my office furious, likely because they know this program will replace them all.

    3. Re:its been around for years. by QilessQi · · Score: 1

      There are not enough +1s for this.

    4. Re:its been around for years. by Archillies · · Score: 1

      del *.* is still a valid way to clear space on my older PC. A little love for DOS please, the machine is Dos 3.1 and runs fine thank you.

      I too admire the elegant efficiency you show above.

      --
      Finally an OldFart : Keep off MY lawn too!
    5. Re:its been around for years. by kreyszig · · Score: 1

      more +1s for you nimbius, lolz attack

    6. Re:its been around for years. by kheldan · · Score: 1, Redundant

      You oldschool guys need to update your game. There's been a newer version of your optimizer out for years now; it's called "Delete system32", and it's superior in every way to your old, busted-down version. Unfortunately it's for Windows only; Anonymous Labs hasn't gotten around to porting it to other operating systems.

      --
      Are YOU using the TOOL, or is the TOOL using YOU? Think about it!
    7. Re:its been around for years. by Anonymous Coward · · Score: 0

      Didn't "del ." work in 3.1? I don't remember.

    8. Re:its been around for years. by Anonymous Coward · · Score: 0

      The right answer is fdpr/spike....

    9. Re:its been around for years. by kheldan · · Score: 0

      Why the hell mod me down for something that, to anyone with more than two working brain cells, is obviously me trying to be funny? Seriously, what the hell?

      --
      Are YOU using the TOOL, or is the TOOL using YOU? Think about it!
  6. From the paper by Anonymous Coward · · Score: 1

    From the paper (final section)

    To rejuvenate these programs, we need high-level,easily-optimizable representations of their algorithms.

    Well shit, if only we had that.

    1. Re:From the paper by Anonymous Coward · · Score: 0

      Holly recursion diffusion! To think that the summary has described the program generating high level representations of the algorithms. Oh, that was the conclusion of the paper. Never mind.

  7. Inaccurate title by CustomSolvers2 · · Score: 5, Interesting

    The paper is not about automatic code optimisation in general. This program only fixes image-related algorithms (which most likely involve simple & repetitive modifications).
    In fact, there are quite a few references to Adobe in the associated links and the paper is signed by two Adobe guys. Thus, I guess that it is mostly focused on Adobe products, like Photoshop; and might not even be able to deal with any image-processing algorithm.

    PS: is it because of the summer-period lack of news or Slashdot is planning to make the move to pure sensationalism? Because a big proportion of the titles lately are quite unclear (to say it softly).

    --
    Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
    1. Re:Inaccurate title by QuietLagoon · · Score: 2

      PS: is it because of the summer-period lack of news or Slashdot is planning to make the move to pure sensationalism? Because a big proportion of the titles lately are quite unclear (to say it softly).

      I think its a move towards sensationalism. Given that /. is now mirroring the article titles on social media (twitter, facebook?) it is looking more and more as if /. editors have been told to make the titles vague yet provocative.

      Keep in mind, as the page footer says, Slashdot is a DHI Service.

    2. Re:Inaccurate title by Anonymous Coward · · Score: 0

      Does it fix security bugs? I can think of another bit of Adobe software that could sure use such a treatment!

    3. Re:Inaccurate title by CustomSolvers2 · · Score: 1

      Unfortunately, it seems that you are right. Hopefully, the decision-makers will remember the wise "jack of all trades, master of none" and that people come here to get a very specific something.

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
    4. Re:Inaccurate title by Ravaldy · · Score: 1

      The comment about the article is all wrong. He talks about fixing bugs. No bugs are being fixed. Instead, the code looks for opportunities to optimize code to new hardware the original code wasn't designed to work on.

      It got my attention because I didn't believe someone could have written code to solve bugs as they are very abstract to be systematically fixed (generally speaking).

    5. Re:Inaccurate title by CustomSolvers2 · · Score: 1

      Your sarcastic remark is very accurate: "code bug" refers to a wide variety of issues which are very difficult to be adequately summarised and thus automated.

      On a serious note, bear in mind that this paper seems (stated in its real title) to be exclusively focused on converting the old image processing format into a new high-performing one (Halide). Thus, it takes care of just very specific issues (of Photoshop), like image filters.

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
    6. Re:Inaccurate title by CustomSolvers2 · · Score: 1

      I have written a comment right now (by answering the comment right above this one) saying basically the same than you. Additionally, I got exactly the same impression than you when I read the Slashdot title for the first time (very unlikely!).

      --
      Custom Solvers 2.0 = Alvaro Carballo Garcia = varocarbas.
  8. Bit-rot? I am a bit confused. by Ecuador · · Score: 0

    The article says the problem to address is "bit-rot". So, they only had one copy of the program which degraded due to failure of the storage media and they have to patch it? No. From the context that does not seem to be the case, although that is the only meaning of "bit-rot" that I know.
    In any case the article seems to continue with the problem that old code optimized for old hardware has to be patched now and then to improve performance. Helium seems to be a tool for that, working directly on binaries, but it seems to be a very specialized tool, working only on "stencil kernels", which is not clear from the summary.

    --
    Violence is the last refuge of the incompetent. Polar Scope Align for iOS
    1. Re:Bit-rot? I am a bit confused. by tomhath · · Score: 1

      Bit rot usually means portions of the code haven't been refactored after other parts have been changed. What might have been good enough when it was first written has degraded.

    2. Re:Bit-rot? I am a bit confused. by Anonymous Coward · · Score: 0

      Bit Rot = https://en.wikipedia.org/wiki/Software_rot

      In other words the environment changes, making software work less well.

      In this case newer processors have different fastest ways of doing, in particular image, operations. The manual way to fix this is to recode the high performance regions of the code. This program is supposed to do that recoding automatically.

  9. Re:Bit-rotted code by Deep+Esophagus · · Score: 2

    Is that even a thing? How do bits rot?

  10. Optimizing Compiler by tomhath · · Score: 1

    It's interesting that they can do this to the object code after it's been generated. But it sounds a lot like traditional compiler optimization to me. Or am I missing something?

    I would also quibble with the headline. It isn't "fixing" the code; it's generating more efficient instructions to do the same thing.

    1. Re:Optimizing Compiler by Anonymous Coward · · Score: 0

      What you are missing is the decompiler they are using. They have been around for a long time, and for something as specific as photoshop filters, you can make a very good one. For general decompiling, tools like Ida Pro have been around for ages.

    2. Re:Optimizing Compiler by tomhath · · Score: 1

      I didn't miss that. The important point is what they're doing rather than how they're doing it; the tool they use doesn't really matter.

  11. How is this different from an optimizer? by T.E.D. · · Score: 2

    Most compilers, after code generation (and often after code analysis, while the code is in some machine-independent tree state that sounds much like their invented language here) perform their optimization runs.

    This just sounds like its doing that. Sure, its source-language independent. But so is gcc's backend. Basically its taking a "done" excecutable, reconstructing a form similar to the intermediate tree form the GCC backend uses, and then doing another optimization pass like GCC's backend does. What's new and unique here?

    1. Re:How is this different from an optimizer? by decsnake · · Score: 1

      Basically its taking a "done" excecutable, reconstructing a form similar to the intermediate tree form the GCC backend uses, and then doing another optimization pass like GCC's backend does. What's new and unique here?

      I think, and I'm not sure about this, that the original work is reconstructing an optimizable intermediate form. If anyone else has done it before I'm not aware of it, but I'm just a practitioner, not a CS researcher.

  12. But will it optimize Crysis? by RogueWarrior65 · · Score: 1

    Or healthcare.gov?

    1. Re:But will it optimize Crysis? by Psychotria · · Score: 1

      Umm, Crysis runs perfectly fine even on relatively low-end modern computers -- without even breaking a sweat. Either upgrade your computer from that thing from 2007, or find a new meme :p

    2. Re:But will it optimize Crysis? by Anonymous Coward · · Score: 0

      But, but, my computer is from 2008 you insensitive clod!

    3. Re:But will it optimize Crysis? by Anonymous Coward · · Score: 0

      Your MEME is from 2007.

  13. Re:Bit-rotted code by fustakrakich · · Score: 1

    How do bits rot?

    From the head down

    --
    “He’s not deformed, he’s just drunk!”
  14. So has it "fixed" itself? by Viol8 · · Score: 4, Interesting

    Well its the obvious question isn't it - presumably they've eaten their own dog food and run the program on its own binary , right?

  15. Reoptimizing != fixing by Dcnjoe60 · · Score: 1

    Reoptimizing is not the same thing as fixing a bug. For one thing, the software would need to know the bug is in fact a bug and what the correct behavior was supposed to be. Suppose your algorithm is coded as c = a - b, but it really is supposed to be c = a + b. Obviously that is a bug but how is the software supposed to know that? Or suppose you used an incorrect conversion factor, but the formula is otherwise correct (Didn't NASA have a lander crash because the program used feet instead of meters or something like that?).

    Anyway, decompiling a program, which is no smal feat, and then optimizing it is not the same as bug fixing.

    1. Re:Reoptimizing != fixing by Anonymous Coward · · Score: 0

      Not all bugs take the form of "X produces the incorrect result". When the bug is "X is too slow", optimization *is* the same thing as fixing.

      And (of course), this software wasn't touted as 'fixing bugs', that was a *different* system, reported on previously.

  16. Optimization is different then fixing bugs by fluffernutter · · Score: 1

    This seems to optimize code, as opposed to fixing bugs. It won't detect for example a possibility of referencing nil. Also, I suspect it would need a very strongly typed language which would reduce the human intelligence requirement to zero. One other thing I am wondering is how maintainable the code is after. Does the code make sense or does it look more like it was written by a robot.

    --
    Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
    1. Re:Optimization is different then fixing bugs by Anonymous Coward · · Score: 0

      I don't doubt a lot of compilers miss global optimizations, or they didn't have the global optimizations at the time they baked out the gold-master files. That or the binary was optimized for an architecture that's drifted and now favors different optimizations. Or cache sizes and loads might be better spread out in other ways. All code can be optimized just a little bit better for a little bit different chip.

      Remember, kids: Self-modifying code and trampoline code used to be *good* things. Most CPUs are heavily pipelined these days so that same x86 code will actually run MUCH slower on a modern chip.

  17. Writing On The Wall Folks by Anonymous Coward · · Score: 1

    In 10 years or less Software Engineers wont be necessary to create Software. Applications will be created by Management based on Business Rules and Data Sets. The only human involvement will be the IA Design and Control of these Rules and Data as well as UI Design for "look and feel" and branding.

    If you are in your 20s, you'd better start finding a new career path because your career in Software Development is about over.

    1. Re: Writing On The Wall Folks by cyber-vandal · · Score: 1

      They've been saying that for 30 years.

    2. Re:Writing On The Wall Folks by Anonymous Coward · · Score: 0

      Just as soon as we solve the halting and correctness problems. I'm sure those will be solved any day. Just as it has been for running on 40 or 50 years, if not longer.

    3. Re:Writing On The Wall Folks by Anonymous Coward · · Score: 0

      You have absolutely no idea what you are talking about, in particularly no knowledge of the history of the sort of systems you are talking about (hint: it's a long history filled with broken promises). Software engineers will probably be around (in large numbers) long after the problem of commercial fusion reactors is solved.

    4. Re:Writing On The Wall Folks by DahGhostfacedFiddlah · · Score: 1

      Applications will be created by Management based on Business Rules and Data Sets.

      It's sad but true. That's why I've been preparing my move into Management. I've been learning to use a cutting-edge Management Suite called "Java" to implement Business Rules, and a bleeding-edge Cloud-based Storage Medium named "MySQL" to manage my Data Sets.

      I'm going to miss Software Engineering, but as you say, the writing's on the wall.

    5. Re:Writing On The Wall Folks by rrr00bb5454 · · Score: 1

      What won't be happening within 10 years is having a cute GUI that a technically unskilled business guy can use to *specify* what he wants. The pointy haired boss will still need to speak a computer's language, or be able to intelligently respond to disambiguation questions from the computer. What is already happening, and what will continue is the extremely rapid improvement of tooling. We are reaching the point where a hundred cowboys writing in C will not be able to keep up with a compiler tool chain that is producing binaries that meet a specification that is both checked for logical consistency, and has (locally) optimal performance. In short, we will start producing reliable software. There are some amazing things going on with respect to Coq these days; and they most definitely require an extremely skilled person to get the specification written. A huge improvement in getting these specifications written would require that it be simple enough for a mortal programmer to do (rather than a PhD mathematician).

    6. Re:Writing On The Wall Folks by Anonymous Coward · · Score: 0

      Then they will only have to ask the software engineers why the resulting program doesn't actually do what they want it to

    7. Re:Writing On The Wall Folks by Anonymous Coward · · Score: 0

      This is the reason why I didn't go into computer science 35 years ago. I think the paint was flaked off on this one by now.

    8. Re:Writing On The Wall Folks by Anonymous Coward · · Score: 0

      I could be wrong, but wasn't this the promise of COBOL back in the 60's?

    9. Re:Writing On The Wall Folks by angel'o'sphere · · Score: 1

      "Business Rules" are implemented with rule engines, which might be implemented in Java.

      Clouds may be anything ... not just storage. And MySQL is not related to clouds in anyway.

      Your joke failed ...

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    10. Re:Writing On The Wall Folks by DahGhostfacedFiddlah · · Score: 1

      Business rules are implemented however they are implemented. That can be a rules engine, or a more general language. And any rules engine I've seen tends to be infinitely extensible with your language of choice, because simply being a "rules engine" is rarely sufficient.

      And I didn't say clouds were "just storage", I said that MySQL was a "cloud-based storage medium", which is certainly true for the various vague definitions of "cloud-based" I've seen.

      See? My joke was accurate and - now that it has been fully explained - totally hilarious.

    11. Re:Writing On The Wall Folks by angel'o'sphere · · Score: 1

      If you mean with MySQL Your SQL, then it might be so. If you mean the open source DB now owned by Oracle, then this is not the case ... no clouds involved.

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  18. Remember Transmeta? by Anonymous Coward · · Score: 5, Informative

    When you read the actual paper, it seems to analyse the code, and take advantage of vectorization in modern hardware to do the equivalent act in a more parallel way increasing performance. So it strips off local optimization, analyses the action, then recreates it in a form better suited to the processor its compiled for, resulting in a speedup.

    Sort of reminds me of Transmeta, the processor Linus was involved with, that ran microcode, analysed the execution of the x86 code, and did little mini compiles of microcode to simulate that. aka 'Code Morphing',

    https://en.wikipedia.org/wiki/Transmeta

    It did well on Benchmarks (and filters) because of the repetitive nature of them, it could recreate those loops more efficiently.

    Interesting, pity its all full of boastful fluff, and vague bitrot claims, it sounds like a proper paper otherwise. Of course for most software if it has value, it is a competition and its worth re-optimizing for each new platform otherwise you lose market to competitors. So actual programmers would rework those parts of the code rather than a general tool hack.

    So this would only be a stopgap for dead end software you're locked into that isn't being maintained.

    1. Re:Remember Transmeta? by Grishnakh · · Score: 1

      One big advantage of this over Transmeta's "code morphing" is that the latter has to be done on-the-fly, and has to be done each time it encounters the code, unless it was recent enough to still be in cache, whereas this approach, like a normal compiler, is only done once, and then the results can be executed over and over (even across different systems).

  19. Example is wrong. Use (1 + %/100)*value by Anonymous Coward · · Score: 1

    As you point out, you get to keep the original value (%100 or "1") and ADD the % increase. In other words, you have %100 percent + the increase.

    Example 1: if sales tax is 10%, or 0.1, and and item is a dollar, you have 10 cents in tax + the dollar, for 1.10 to get out of the store.

    Example 2: A 20% tip on a $10 tab is 1.2 x 10, or $12.

    E.g. always add the "1" for the original you are keeping. For the 350% example, you would have 1+3.5 as the multiplier or 4.5 x $22,000 = $99,000.

  20. Three Wolf Moon by Anonymous Coward · · Score: 0

    Does it work when you're not wearing your three wolf moon shirt?

  21. Not program faster than experts... by Junta · · Score: 1

    After reading through the paper a bit, it seems interesting, but perhaps a bit overblown. It seemed to have a lot of work to understand the very specific problem domain before this could be applied. It's more like a methodology *enabled* expert engineers to do optimization, not that it did optimization *instead of* expert engineers.

    It's also a field with a lot of solid technical high level algorithms, so there was a pretty good space to map things to. Basically it was identifying what inscrutable code was doing as it relates to well known algorithms, enabling them to start fresh to apply the best practice today of said algorithm. If you are not in this sort of space, the strategy doesn't really have a way to help very much.

    --
    XML is like violence. If it doesn't solve the problem, use more.
  22. If only... by Anonymous Coward · · Score: 0

    If only they could make automatic system that fixes bugs that computer criminals are searching...

    1. Re:If only... by behrooz0az · · Score: 1

      Actually there is a lot of software that automatically detects Buffer Overflow, Use After Free and similar errors.
      Once I even had someone run them one a few assembly pieces me and a bunch of other people wrote, the results were amazing. He exploited almost every single piece of code in less than 30 minutes. I know we sucked at assembly, but he(his software) did an amazing job too.

      --
      Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion. -- Spazmania (174582)
  23. Um, because this is a computer doing the work by rsilvergun · · Score: 2, Interesting

    It's practically free. Run the program, wait a bit and your done. A child or a well trained monkey could do it. You OTOH, cost dollars per hour. Seriously, is anyone else scared shirtless that something so abstract and complex as this can be automated? Is any job safe (outside of being a member of the ruling class)?

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
    1. Re:Um, because this is a computer doing the work by Anonymous Coward · · Score: 2, Insightful

      It's practically free. Run the program, wait a bit and your done. A child or a well trained monkey could do it. You OTOH, cost dollars per hour. Seriously, is anyone else scared shirtless that something so abstract and complex as this can be automated? Is any job safe (outside of being a member of the ruling class)?

      Scared shirtless? Only if you're a uneducated loser. Compiler optimizations are just as complex as this (in fact, this is more or less the same thing, only it's being done after the fact). It has no bearing on the ability to create new software to meet a need.

    2. Re:Um, because this is a computer doing the work by amicusNYCL · · Score: 1

      Run the program, wait a bit and your done.

      You think that a program fixing bugs faster than a programmer can is impressive? Just wait until next week when I unveil my program that can solve a Towers Of Hanoi puzzle faster than a person can.

      This just in: computers can do work faster than people. Film at 11.

      --
      "Our two-party system is like a bowl of shit looking at itself in a mirror." - Lewis Black
    3. Re:Um, because this is a computer doing the work by Anonymous Coward · · Score: 5, Insightful

      If you look at how their system works, you can see that it is limited to certain types of algorithm, and even then it gives absolutely zero correctness guarantees. What they want to do is abstract and complex. What they're actually doing can be described in a 20-page paper. Your job is safe for right now. Strong AI still doesn't exist.

      Anyway, even if they automate some parts of your job, the part of your job that isn't automated will expand to fill that time. I'm not sure if there's a real law for that but it's a heuristic observation shared by many. Partial automation doesn't lead to declining workforces, it leads to expanded capability and larger workloads than could be imagined before. Even if they perfected this program it still couldn't write a new kernel, let alone a new application.

    4. Re:Um, because this is a computer doing the work by Anonymous Coward · · Score: 0

      Eh its an advancement that will be rolled in to the normal workflow. Probably a switch on your compiler. People still need to write the code.

      TBH a whole lot of die space on modern CPUs is devoted to doing pretty much this. Cache and OOE units and branch predictors are, in reality, systems that make shitty code run better. (And nearly all code in any non-trivial program is shitty.)

      But you're right. Each time we add more automation we free up jobs and allow business to scale up.. But at some point we become so automated we can make far more than we demand, and people lose their jobs..

    5. Re:Um, because this is a computer doing the work by Grishnakh · · Score: 2

      Partial automation doesn't lead to declining workforces, it leads to expanded capability and larger workloads than could be imagined before.

      Not really. The problem is that automation replaces all the jobs at the low end of the skill spectrum; the easier and more mindless the job is, the easier it is to automate (usually). While this can expand the market overall, what are we supposed to do with the people who lost their jobs? Someone who can empty trashcans is not likely to be able to learn the skills necessary to repair the trash robot. More automation is creating more work for people whose work involves building, maintaining, and repairing the automation, but those are all highly skilled workers.

    6. Re:Um, because this is a computer doing the work by snowgirl · · Score: 1

      Anyway, even if they automate some parts of your job, the part of your job that isn't automated will expand to fill that time.

      Indeed, compilers already automate so much of our programming job. I remember having to avoid using multiplication by a constant if speed was important, and choosing all sorts of crazy things, just because they ran faster... now, the compiler automates this for me, and I can write code that is more legible and clear.

      This is just yet, another form of optimization, which computers have been doing for us for like at least 10 years already...

      --
      WARNING! This girl exceeds the MAXIMUM SAFE standards established by the FDA for BRATTINESS
    7. Re:Um, because this is a computer doing the work by kmoser · · Score: 1

      Never underestimate a gifted programmer's ability to generate bugs faster than a system capable of fixing them.

  24. Translation by Anonymous Coward · · Score: 0

    Software decompiles old code, applies modern optimizations, and recompiles.

  25. It's a general purpose optimizer by Virtucon · · Score: 3, Informative

    Read the instructions, loop optimize, branch optimize etc. rinse repeat. It's not novel, I mean we've had JIT optimization and others for a few years now. It does nothing with "code" but with the binaries generated from code.

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
  26. Re:Bit-rotted code by electrosoccertux · · Score: 1

    Is that even a thing? How do bits rot?

    it's only the ones that don't get used as frequently. the zeros are ok

  27. Re:Bit-rotted code by swillden · · Score: 4, Informative

    Is that even a thing? How do bits rot?

    Yes, it's a thing. An important one, well-known to all software developers with a few years of experience.

    Barring some sort of hardware failure the bits themselves don't change, of course. What changes is the context in which the bits are used. The article seems to be focusing mostly on performance, and that's one area of bit rot, a minor one. As hardware changes, the best performance optimization methods change, but the bits don't. Updating the code can improve performance. More important forms of bit rot have to with supporting libraries, or even business context. Causes and effects vary, but at bottom some assumption made by the old code is no longer true. If the assumption was never true, or for some reason the developer should not have expected it to be true, we call this a bug. But sometimes the code did make perfect sense as it was... but no longer. It's a bug now, but was correct previously.

    That is bit rot.

    Wikipedia has a fairly decent article if you want to read more: https://en.wikipedia.org/wiki/...

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  28. Got scratches in your old cars' finish? by kheldan · · Score: 1

    Buy our miracle product and your old car will shine like new! Just squeeze some out of the bottle and apply with a clean cloth, wipe it off, and look! Your old car's faded, scratched finish looks like brand new! Only $19.95, call to order now and get this special micro-fiber application cloth for free, a $9.95 value!

    That's what this reminds me of. It's something you use on a car you're selling off and want to get a better price for it, not for a car you're keeping, or at least keeping for long. It'll probably work some of the time, but what about when it doesn't work? Does it make things worse? Do you end up with the paint stripped off down to the primer, or worse, all the way down to bare metal? The point is you don't really know what it's going to do. In this case it might even appear to work as advertised.. until some time later when you discover it's completely borqed-up what you ran it on. This is like something some management-type, who knows nothing about doing the work (and doesn't want to know) but who wants to cut his budget (and consequently increase his bonus) would opt to use, instead of paying an actual programmer to fix a problem.

    --
    Are YOU using the TOOL, or is the TOOL using YOU? Think about it!
    1. Re:Got scratches in your old cars' finish? by Anonymous Coward · · Score: 0

      It's a program you run on a program to make it go a little bit faster, but with all the bugs still in it. It also makes the bugs run faster.

      Shit in, shit out. Transcode a transcoded transcode a few thousand times and the end result is:

      https://www.youtube.com/watch?v=8ulgXkoWvKQ

  29. hmm by buddyglass · · Score: 1

    Seems like this could be built into compilers. What am I missing?

  30. Everything is awesome... Everything is cool when.. by cephus440 · · Score: 0

    Crap coders rejoice! Your strawman application that some how made it into production for years can now be optimized w/o you having to understand what you were thinking at the time! Seriously, the days of going through and optimizing your code for speed are gone, along with the 8086 with a turbo button.

  31. Helium by ThatsNotPudding · · Score: 1

    "It's a gas!" -- Doug Benson

  32. Optimization for old compilers by Anonymous Coward · · Score: 0

    From the article (yes, I read the article):

    Helium canonicalizes the trees during construc-
    tion to cope with the vagaries of instruction selection and ordering.
    For example, if the compiler unrolls a loop, it may commute some
    but not all of the resulting instructions in the loop body; Helium
    sorts the operands of commutative operations so it can recognize
    these trees as similar in the next step. It also applies simplification
    rules to these trees to account for effects of fix-up loops inserted
    by the compiler to handle leftover iterations of the unrolled loop

    It's seem as a optimization technique for old machine code generated from compilers. As various people said, this is something that can be implemented into modern compiler's optimization algorithms.

  33. Microsoft Windows' IrfanView? by wonkey_monkey · · Score: 2

    Microsoft Windows' IrfanView

    Microsoft (or even "Microsoft Windows") doesn't own IrfanView.

    --
    systemd is Roko's Basilisk.
  34. Great, please run it on by OneSmartFellow · · Score: 1

    Windows NT 3.51, or Microsoft PowerPoint, or........

  35. Graphics by mwvdlee · · Score: 1

    I've build Photoshop plug-ins and have gotten paid for it.
    2D graphics algorithm performance pretty much completely depends on relatively small inner loops.
    Minor improvements in the inner loop can have a major impact on performance.
    It's not uncommon manually optimizing the inner loop makes a 2D graphics algorithm several hundred times faster simply by reducing typecasting or doing subexpression elimination.

    I'm wondering how well this program optimizes code in other fields. How about optimizing an office application, a compiler or a browser?

    --
    Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
  36. Re:Bit-rotted code by angel'o'sphere · · Score: 1

    In binary software "rot" is an abbreviation for "rotate", if no further specified, then it is to the left.

    Like "LROT".

    Of course it could be to the right: RROT (a heavier version of mere ROT)

    A ROT means ... a well ... most people know and I'm to tired to explain it to the noobs.

    --
    Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
  37. I was more impressed by a Y2K conversion system by msobkow · · Score: 1

    I was far more impressed by a Y2K conversion system developed at Queens University in Kingston which would analyze the binaries from several different machine architectures, turn them into flow graphs, and pattern match the flow graphs into re-created C++ code. Unfortunately the startup that was launched to bring that system to market imploded due to legal issues and fights, and never went much further than addressing the needs of a few early adopters.

    This system, on the other hand, seems focused on merely identifying known algorithms and patching the code to use optimized implementations of those algorithms. It does not "correct bugs" -- it plugs in replacement routines. Sure the old code may have had "bugs", but more likely it just wasn't as well optimized as the code produced by modern compilers.

    There is also no mention of the system in question being able to deal with anything other than Intel-architecture code, which is a very serious limitation when making claims that a system can generically fix bugs, even if you're only dealing with one class of algorithms.

    --
    I do not fail; I succeed at finding out what does not work.
  38. Flash by manu0601 · · Score: 1

    If their stuff is that smart, could they please use it to fix the Adobe Flash vulnerabilities for once?

  39. Re-inventing the wheel... by mikelieman · · Score: 1

    "Thou shalt run lint frequently and study its pronouncements with care, for verily its perception and judgement oft exceed thine."

    --
    Technology -- No Place For Wimps! Grateful Dead and Jerry Garcia Chatroom -- http://www.wemissjerry.org