Ask Slashdot: What's the Most Sophisticated Piece of Software Ever Written? (quora.com)
An anonymous reader writes: Stuxnet is the most sophisticated piece of software ever written, given the difficulty of the objective: Deny Iran's efforts to obtain weapons grade uranium without need for diplomacy or use of force, John Byrd, CEO of Gigantic Software (formerly Director of Sega and SPM at EA), argues in a blog post, which is being widely shared in developer circles, with most agreeing with Byrd's conclusion.
He writes, "It's a computer worm. The worm was written, probably, between 2005 and 2010. Because the worm is so complex and sophisticated, I can only give the most superficial outline of what it does. This worm exists first on a USB drive. Someone could just find that USB drive laying around, or get it in the mail, and wonder what was on it. When that USB drive is inserted into a Windows PC, without the user knowing it, that worm will quietly run itself, and copy itself to that PC. It has at least three ways of trying to get itself to run. If one way doesn't work, it tries another. At least two of these methods to launch itself were completely new then, and both of them used two independent, secret bugs in Windows that no one else knew about, until this worm came along."
"Once the worm runs itself on a PC, it tries to get administrator access on that PC. It doesn't mind if there's antivirus software installed -- the worm can sneak around most antivirus software. Then, based on the version of Windows it's running on, the worm will try one of two previously unknown methods of getting that administrator access on that PC. Until this worm was released, no one knew about these secret bugs in Windows either. At this point, the worm is now able to cover its tracks by getting underneath the operating system, so that no antivirus software can detect that it exists. It binds itself secretly to that PC, so that even if you look on the disk for where the worm should be, you will see nothing. This worm hides so well, that the worm ran around the Internet for over a year without any security company in the world recognizing that it even existed." What do Slashdot readers think?
He writes, "It's a computer worm. The worm was written, probably, between 2005 and 2010. Because the worm is so complex and sophisticated, I can only give the most superficial outline of what it does. This worm exists first on a USB drive. Someone could just find that USB drive laying around, or get it in the mail, and wonder what was on it. When that USB drive is inserted into a Windows PC, without the user knowing it, that worm will quietly run itself, and copy itself to that PC. It has at least three ways of trying to get itself to run. If one way doesn't work, it tries another. At least two of these methods to launch itself were completely new then, and both of them used two independent, secret bugs in Windows that no one else knew about, until this worm came along."
"Once the worm runs itself on a PC, it tries to get administrator access on that PC. It doesn't mind if there's antivirus software installed -- the worm can sneak around most antivirus software. Then, based on the version of Windows it's running on, the worm will try one of two previously unknown methods of getting that administrator access on that PC. Until this worm was released, no one knew about these secret bugs in Windows either. At this point, the worm is now able to cover its tracks by getting underneath the operating system, so that no antivirus software can detect that it exists. It binds itself secretly to that PC, so that even if you look on the disk for where the worm should be, you will see nothing. This worm hides so well, that the worm ran around the Internet for over a year without any security company in the world recognizing that it even existed." What do Slashdot readers think?
It depends on what you mean by sophisticated:
If you mean something that does a lot of functions, then I would probably propose Busybox or emacs.
If you mean something cleverly engineered to handle a lot of attacks, pgp, TrueCrypt, and VeraCrypt come to mind.
If you mean something that makes a framework, Kubernates can be considered there.
Then, there are hypervisors that wind up not just doing the functions of an operating system, but providing the same functions to an OS.
Human DNA is the most impressive software ever written. It uses extremely complex feedback control structures, analog and digital. It has also lent its name to "genetic algorithms". It is a simple construct but so complex that we have barely understood the outlines of it after five decades of global research. It may not be "written", but that's another story.
Stuxnet on the other hand is a rather short piece of code that based its success on using secrets obtained from external sources. A good example of cross-domain collaboration and a masterpiece in its own domain. But hardly the most sophisticated piece of code ever written.
Because the worm is so complex and sophisticated, I can only give the most superficial outline of what it does
Everything else aside, this is bullshit.
You could say "I don't know how it works, so I can only give the most superficial outline of what it does". No matter how complex a thing is, if you know it well enough, you can explain it to a 5 year old. And that has a cool feedback system that helps kids get smarter faster. Standing on shoulders of giants and all that.
The use of 4 zero-days is indeed pretty sophisticated. The rest is pretty run of the mill standard operation that would have been neat in the 90's. I think this guy just isn't familiar with the industry and was pretty amazed when he took the tour. That or it's more puffery.
Personally, I wouldn't count any layers underneath, or library calls or such, that a thing makes when trying to figure out complexity and sophistication. Otherwise we'd include EVERYTHING that goes into a linux distro. So early projects that had to do it themselves all by hand would be the most sophisticated. To that extent, I'd have to go with something from early NASA. The software for the Apollo program sounds good, solely form that one picture with Margret Hamilton and the stack of sourcecode. It got man on the moon, which is way more impressive than taking a metaphorical wrench to some centrifuges.
Hmmmm, I don't want to worship lines of code though... a really sophisticated piece of software would be short and sweet and do something amazing and new.
As others have pointed out it depends on what you mean by sophisticated. Several candidates come to mind though each are sophisticated for different reasons. This is obviously a very incomplete list.
1) The code to control the Space Shuttle
2) The code for the Voyager probes
3) The code controlling the Curiosity rover, particular the bit to land it
4) Emacs
5) Unix and derivatives
6) GNU software stack
7) Encryption software
8) Self driving car code
9) Cruise missile control code
10) Weather modeling code
11) Code to control the Large Hadron Collider
12) Microsoft Windows
13) Control software for the F22 and F35
14) Sonar code for navy nuclear submarines
15) TCP/IP
16) Code to evaluate the human genome and proteome.
17) Nuclear explosion simulation software
18) Code breaking software
My complaint about how Slashdot operates relies on the fact that, despite having a well established user base who are arguably more educated and science savvy than your average person, it doesn't take that as an opportunity to do a more in-depth article than the major news outlets can achieve. In the past, we have had many successful Ask Me Anything (AMA) style posts from notable figures in the tech industry. I'd like to see Slashdot expand on that. Any time a new study comes out or a new tech is getting hyped, I think the Slashdot editors should try and approach the original authors/researchers/developers and ask them if they'd be willing to participate in an AMA session. Instead of endless debating the points that appear in the necessarily condensed news articles, go straight to the horses mouth and get the facts that the news articles left out, get corrections or clarifications for what those news articles published.
I need a wheelchair van for my son. Help me get the word out. https://www.gofundme.com/wheelchair-van-for-jj
The crux of this question is the interpretation of the phrase "most sophisticated". I feel it has a density of complexity component. So I'd lean towards candidates that must perform complex tasks under difficult constraints, either physical or virtual.
It actually makes me think back to bygone days of trying to cram complex tasks into 8-bit embedded controllers.
A representative case that comes to mind was a function in an armament controller - the computer that controlled dropping dumb bombs from a fighter travelling 500+ miles an hour. The processor was an Intel 8080 in the days when 64K was a lot of memory. The specification we had to hit was for the bombs to hit the ground at the spacing dialed in, typically 50 or 100 ft, with +/- 1 foot of accuracy. We were not allowed to require that the plane be flying level or at constant speed. Also, when you drop a 2000 pound bomb off a wingtip, the plane lurches in the opposite direction so that the next one dropping from the other side a second later has an additional acceleration. These and other factors required that we be able to perform a multivariable integration problem in real time on an 8 bit processor running something like 5MHz with no floating point capability. It took a lot of thought, creativity, and simulation. Carefully constructed tables were used to speed the integration and a tremendous amount of trial and error to make it always converge. All of the code was in assembly language though it had been prototyped in a slightly higher level language that is likely long dead. But, the specification was met. That software was sophisticated. I've worked multi-million line projects since that didn't begin to approach the art that went into those KBs of assembly.
Other examples I'd think of are in the device logic arena, which I also consider software. Getting PLAs to perform more sophisticated operations often involved dispensing with synchronous logic and working in the asynchronous realm. Getting that to be stable across devices with gate speed variations could be pretty tricky, but the end result of having functions performed at throughput levels that others considered impossible at the time was oh so satisfying.
I can understand the anonymous reader's thoughts of the complexity of the worm. It has constraints that fall in that "virtual" arena. It must do its job without being detected until it is too late or having a signature that indisputably reveals its creator. That is very challenging. The task of creating software like that is more art than science. Requiring "art" is also a very necessary component of "most sophisticated" IMO.
This "most sophisticated software" question is from the same doofus who also asked / answered:
How is murdering people considered fun in video games? What happened to all those innocent games such as Frogger, Qbert, and Donkey Kong?
Apparently he doesn't understand games are an escape from reality and has to be told what fun is. Games are fun because we don't have to worry about real-life consequences and can do things that we normally could never do in physical reality, dumbass.
e.g. Frag my buddies, drive an expensive sports car, slay dragons, virtual fishing, etc.
Maybe he should go play DnD to actually learn the answer.
Genocide in video games isn't (solely) the problem when you want to take a break from the stress of day-to-day responsibility. It becomes a problem when you do that to the exclusion of all your other responsibilities.
If you don't like violence in games there are enough good puzzle games like The Witness, Pythagorea, Top 10 Geometric Puzzles for iOS (2016), etc.