Let's say we've been working all afternoon with our favorite software application and it's time to save our latest changes. We press save, but the application fails and does not respond as it should. Our pulse quickens and our tension goes off. Our pupils dilate and our face changes to a more serious and cold expression.
Will the latest changes have been saved?
Will our work have been corrupted?
Can we get it back?
Is this scenario familiar to you?
In this entry we are going to unravel one of the most famous mysteries of our time: why the software applications fail.
What is software?
Let's start by explaining a little bit what the software is. The software is nothing more than a set of very simple instructions together with some initial data. We say that these instructions have to be simple since they are executed by a machine (the processor) and it does not understand double meanings, irony, sarcasm, etc. It only understands simple and clear orders, like 2 + 5.
We can see the software as a cooking recipe. For example, the recipe for a paella. The paella needs rice, seafood and many other ingredients that have to be prepared separately and mix at the right time while slowly cooking the paella. Not mixing the ingredients in the correct order or not complying with cooking times will make the paella can not be eaten.
Then, we can say that the paella goes through different states during its cooking and in each state is added a few ingredients in a certain amount. Therefore, the paella is changing state.
How is it done?
Formerly the developers communicated from you to you with the processor writing in zeros and ones, but those times happened and now we write in artificial languages that are translated to zeros and some automatically by other programs.
These languages are known as programming languages and there are many of them depending on the scope of use. For example, in Intelligenia, we use Python and PHP for the development of web applications.
Developers have learned the syntax of these languages and are able to express instructions in what is known as source code that is nothing more than texts written in these languages.
Software states
We say that the paella is changing state depending on the steps and the software as well, only that while the states in a plate of food are few. On the other hand, states in software are usually many. We are going to put an example.
States are normally expressed as sets of related logical variables. What is a Logical Variable? A statement that can be true or false. For example: "I went to the gym yesterday," "I like to do sports on weekends," or "I saw the Wizard of Oz movie yesterday."
These statements can be related by operators Y , O and NO . Normally each of these logical variables is named with a letter. So let's assume the following situation:
C = "I went to the movies yesterday"
M = "yesterday I saw the movie of The Wizard of Oz"
We can create a logical expression with these two variables saying that yesterday I went to the movies but I did not see the movie of The Wizard of Oz. This is: C AND NO M.
In this way, we will have as many states as possible combinations of variables we have. Returning to a slightly more realistic example, suppose the software of an elevator of a building of a plant with the variables:
IsGround: the elevator is on the ground floor.
IsFirstFloor: the elevator is on the top floor.
IsGoingDown: the elevator is coming down.
IsGoingUp: the elevator is rising.
IsStopped: the elevator is stopped.
If we express the relations between the different variables with a diagram in which the dotted arrows symbolize the way to take if that variable is false and the continuous arrows symbolize the way to take if the variable is true, we find the following graph:
For example, if the elevator is not on the ground floor and is not on the first floor the elevator is in an illegal or inconsistent state. Hence it reaches the node with the text "false" (false).
However, if the elevator is not on the ground floor, it is on the first floor and is not going down but is standing still, the elevator is in a legal or consistent state. That is why the node is marked with "true".
As you can see, the system is somewhat complex to follow. In fact, although the representation helps, we would have to prove that all possible paths that lead to "true" are actually correct states of the elevator.
The problem of the state
The previous example, although somewhat difficult to understand, could be checked the result of each of the states depending on their variables manually in a few minutes.
Instead, let us assume this real example of 17 variables and 10 rules. With this not too high number of variables and rules, we obtain a state graph of 97 vertices that is impossible to verify manually in a short period of time.
We work with systems of this complexity on a daily basis, so it is relatively easy to let the software reach inconsistent states.
Software evolves
In addition to these limitations, we must keep in mind that states are not well defined . What do we mean by this? We simply refer to the fact that the software evolves because the business changes and if the software does not change, it becomes obsolete.
What was once a certain form, now is another and given the number of relationships between variables, a small change can affect the whole system. Not reviewing the entire system can have an effect similar to removing a card in a house of cards.
It is much more important to be able to adapt to users' needs than to have 100% fault-free software, as users demand functionality and (to some extent) are willing to accept a reasonable failure rate.
Thus, we are not only facing a complex but also changing problem.
Is there a solution to these problems?
It may seem that this problem has been successfully solved by large industries that make use of software, such as banks, but according to the latest news of the freezing of more than 600,000 payments by a software error in the Royal Bank of Scotland does not It is so.
There are some methods that try to alleviate this as they are:
- The tests : if we try the most common ways, we can make sure that our software works on most occasions.
- The formal methods : based on the mathematical demonstration of the consistency of the developed code.
Typically, formal methods are left for critical software that has human lives (transport, banking transactions, power plants, medical devices ...).
Conclusion
Is it possible to make software without errors? Yes , but it is so expensive that its use is reduced to critical sectors and not to day-to-day systems. Usually intensive tests are used to certify that (with a median high percentage of success) there are no failures. Even so, bugs may appear.
Do I have to fear the consequences of a software failure? No. Critical systems are usually fault-tolerant or have back-up systems. The case of the Royal Bank of Scotland is an isolated case.
Very nice to read this blog post. I am very much thankful to the author of this blog. I have read many informative contents here. It is worth reading. I am going to bookmark this site. This is to check your upcoming posts. But I cannot see any new posts in your blog from 2 years. Please make your site active by posting new contents. I always like to read informative contents. Here I found healthy blog post. Keep up the good work like this.
ReplyDeleteSoftware is unavoidable in present day society. However we are regularly uninformed of its essence until issues arise. Programming is a standout amongst the most significant. But then it is standout amongst the most financially testing strategies of this time. As a simply learned item, it is among the most work escalated, complex, and mistake inclined innovations in mankind's history. Until the 1970s, developers were very meticulous in arranging their code. And it is checked thoroughly. By giving point by point documentation, and comprehensive testing before the product is discharged to clients. Be that as it may, as PC turned out to be wide-spread, attitude changed.
As projects developed in size and intricacy, the cutoff points of this "code and fix" approach wound up obvious. In this paper, we studied the different reasons why software failed. Make your site more attractive. Try to include examples. If you add examples then it is easy to understand. After reading this post I have searched different blog for same topic. By comparing other sites I can say that this is better than others. I loved this very much. I am going to share this site with my friends. Most of my friends are software developers. I think even they will like this. Your work is a great inspiration.
REF: Cheap essay writing service
If you want to increase your sales then Business Contact Management small software may be the answer you're looking for. The purpose of Business Contact Management small software is to assist busy sales managers in maintaining control of a sales force and seeing that no opportunities are lost. mobile application
ReplyDeleteIf you want to increase your sales then Business Contact Management small software may be the answer you're looking for. The purpose of Business Contact Management small software is to assist busy sales managers in maintaining control of a sales force and seeing that no opportunities are lost. here
ReplyDeleteRecent surveys of IT managers and security firms identify spyware as public enemy #1. Businesses report spyware incidents rising sharply in recent months. Typically associated with unprotected home PCs, spyware could soon qualify as the top security headache in the corporate world. Hire a Legitimate Hacker in Singapore
ReplyDeleteI am impressed. I don't think Ive met anyone who knows as much about this subject as you do. You are truly well informed and very intelligent. You wrote something that people could understand and made the subject intriguing for everyone. Really, great blog you have got here. Website Scraper
ReplyDeleteThis is a great inspiring article.I am pretty much pleased with your good work.You put really very helpful information. Keep it up. Keep blogging. Looking to reading your next post. DuckDuckGo! Scraper
ReplyDeleteThe skilled testers understand how to identify the defects and reedratings.com performance issues in the software by creating many test scenarios. The even produce elaborate test results to facilitate the decision making process.
ReplyDeleteI found that site very usefull and this survey is very cirious, I ' ve never seen a blog that demand a survey for this actions, very curious... B2B Lead Generation Software
ReplyDeleteThere might be lost speed, yet what difference does it make? By far most of these individuals realize without a doubt that what they are doing isn't permitted, however think about this as an extremely minor issue, and would giggle at any proposal that they should buy the software authoritatively. Send Mass Emails with CBT Bulk Email Sender Desktop Software
ReplyDelete"You can lead a horse to water, but you can't make him drink!" We've all heard it before, but what about leading managers to development. I think the old saying rings true for them also. So, how do you get managers to buy into the fact that they need development? I posed this question to a group of professionals who provide mentoring and development to managers. This article summarizes what they said. South Melbourne Hypnotherapy
ReplyDeleteIt's a well known fact that non-profit organizations have very strict guidelines with regard to the way they run their operations, particularly with accounting and audit trails. Therefore, determining which software solution is the best fit for your particular organization can be a time-intensive process. Here are the top three Do's and Don'ts of selecting a non-profits software solution. website security
ReplyDeleteSoftware robbery is one of the greatest hazard for the software business and has brought about loss of income worth billions of dollars. Despite the fact that pilfered software are generally utilized by individuals who think about it being unlawful yet there are times when individuals utilize pilfered duplicates of software without acknowledging they are accomplishing something illicit. random email list
ReplyDeleteSoftware engineers have trusted that new dialects and new cycle would enormously diminish these numbers; anyway this has not been the situation. In a general sense this is on the grounds that software is as yet conveyed with countless deformities. emv writer software
ReplyDeleteThe individuals who use organization software at home to play with or for their kids to finish schoolwork are likewise a huge gathering. mobile tracker free
ReplyDeleteExcellent post. I was reviewing this blog continuously, and I am impressed! Extremely helpful information especially this page. Thank you and good luck. Salesflow
ReplyDeleteOne impediment of utilizing email to transfer files is that the measure of information that can be transferred is restricted.transfer large files
ReplyDeleteThe software and software services business is changing, and with that the software proposal becomes ever more important. Understand these 5 key points for writing a winning software proposal for your product or service. buy cheap software
ReplyDeleteIf you want to increase your sales then Business Contact Management small software may be the answer you're looking for. The purpose of Business Contact Management small software is to assist busy sales managers in maintaining control of a sales force and seeing that no opportunities are lost. route optimize
ReplyDeleteSweet web site , super layout, very clean and employ genial . Autoankauf
ReplyDeleteSoftware management sometimes is thought to be management software, although they actually are two very different programs. Don't get confused yourself, learn the difference now. route plan software
ReplyDeleteIf you are looking forward to buy Ugg boots, it is good to identify the genuine, real or fake. This will not just help you to save huge amount of penny, it will even help in getting you the genuine footwear. fake id usa
ReplyDeleteDue to the economic recession that is biting hard, one major issue that is paramount on the minds of people is how to save costs. Automobile insurance happens to be one of the most expensive expenses that we need to make. With you laying hands on this article and reading it you will be provided with information on how to reduce your spending on auto mobile insurance. Read on. 2021 fake id
ReplyDeleteYou look at the packet. The label says "bath salts" - but you know what it really is. It's fake coke, and everyone at school has been talking about it. 2021 fake id
ReplyDeleteSoftware engineering is an essential discipline when designing and implementing high performance data enterprises. Although software engineers are not certified or sanctioned by any standards body, use of software engineers with experience in the Intelligence Community increases chances of success. How to Change your Profile Picture on YouTube
ReplyDeleteJ’aime cette prise de vue toutefois j’en ai avant cela lu bien d’autres de meilleures qualifications Autodesk Point Layout 2021 sale
ReplyDeleteThank you for submitting this article. This is information I have been looking for. I’ve been hoping to find clear and concise content like yours. Your unique points helped me think about this information differently. Cost of HSMWorks Ultimate 2021 with 2021.3.1 Update for SolidWorks 2017-2021
ReplyDeleteThose organizations with higher trust and strengthening levels profited with more concentrated representative inclusion and along these lines accomplished better quality items (2007).
ReplyDeletewebsite developer australia
Keep in mind that to find the best voice/data network solution in today's economic environment you'll need to determine your detailed set of requirements. There are numerous scenarios from security, regulations, network usage, type of usage (video, VOIP, VPN), etc. that will define a solution. It is rarely the same in all instances. Here's a plan to help you through the process. vpn blocker free
ReplyDeleteCheck out Part 2 of our article series, "New Year, New Decade, New Staffing Software." Part 2 dives into questions to not overlook, what to avoid as you narrow down your search, and how to plan for a smooth implementation! outsourcing
ReplyDeleteCheck out Part 2 of our article series, "New Year, New Decade, New Staffing Software." Part 2 dives into questions to not overlook, what to avoid as you narrow down your search, and how to plan for a smooth implementation! do programming homework
ReplyDeleteKeep in mind that to find the best voice/data network solution in today's economic environment you'll need to determine your detailed set of requirements. There are numerous scenarios from security, regulations, network usage, type of usage (video, VOIP, VPN), etc. that will define a solution. It is rarely the same in all instances. Here's a plan to help you through the process. venture-lab.org netflix Italia
ReplyDeleteHello there, I found your website by the use of Google at the same time as looking for a comparable subject, your site came up, it seems great. I have bookmarked it in my google bookmarks. Cinema 4D Studio R24.035 for sale
ReplyDeleteThe new smoking alternative has become famouse in the market. It is called the Electronic Cigarettes, bring a packet to your home and than say me how much you liked it. Cinema 4D Studio R24.035 for sale
ReplyDeleteYou’ve made various nice points there. I did specific search terms around the matter and found mainly individuals will believe your site buy steroids online
ReplyDeleteI am curious to find out what blog system you are using? Im having some small security problems with my latest website and Id like to find something more risk-free. Do you have any suggestions? Hmm it looks like your blog ate my first comment (it was super long) so I guess Ill just sum it up what I wrote and say, Im thoroughly enjoying your blog. I too am an aspiring blog blogger but Im still new to everything. Do you have any tips and hints for rookie blog writers? Id definitely appreciate it. hcg for sale
ReplyDeleteFairly uncommon. Is likely to appreciate it for people who include community forums or anything, internet site theme . a tones way for the client to communicate. Excellent job.. buy hcg
ReplyDeleteGood work, are you looking for real estate in Longwood, FL? Learn where the deals are, getbank owned property lists and find homes for sale in Winter Park. buy anavar online
ReplyDeleteThis is a great web page, would you be involved in doing an interview regarding just how you created it? If so e-mail me! buying anabolic steroids online
ReplyDeletei read a lot of stuff and i found that the way of writing to clearifing that exactly want to say was very good so i am impressed and ilike to come again in future.. 10 64 bit download
ReplyDeleteI am not positive where you’re getting your information, however good topic. I needs to spend some time studying much more or understanding more. Thank you for excellent info I was looking for this information for my mission. Buy Cinema 4D Studio R24.035 for sale
ReplyDeleteI must show some appreciation to the writer for bailing me out of such a problem. After exploring through the internet and getting principles that were not productive, I assumed my life was gone. Being alive devoid of the answers to the difficulties you’ve resolved by way of this report is a crucial case, and the kind that might have in a negative way affected my career if I had not noticed your blog post. Your primary training and kindness in maneuvering all things was very useful. I don’t know what I would have done if I had not come across such a stuff like this. I can at this moment look forward to my future. Thank you so much for the expert and results-oriented help. I will not hesitate to suggest your web page to any individual who needs to have guidelines on this topic. slot online sultan lido
ReplyDeleteSelecting a more straightforward plan can give various advantages which will assist the business with bringing leads and flourish. buy site
ReplyDeleteVery useful post. This is my first time i visit here. I 바카라사이트
ReplyDeletefound so many interesting stuff in your blog especially its discussion. Really its great article. Keep it up.
All things considered, projects are just 62% productive, which means a misuse of 37 %. The normal software improvement project has the accompanying dispersion of work exertion: 12% preparation, 10% determination, 42% quality control, 17% execution, and 19% software building (2003). https://sites.google.com/view/seoservicesindelhiindia
ReplyDeleteMany examinations show that present-day software advancement rehearses are exceptionally wasteful and inefficient (Flitman, 2003). gmx login
ReplyDeleteThank you for this article.. Travelers around the world who wish to travel the Kenya need to apply for Kenya visa through online e visa portal. That offers the fast and secure visa services and also can pay online Kenya visa on arrival for us citizens.
ReplyDeleteI can set up my new idea from this post. It gives in depth information. Thanks for this valuable information for all,.. ajp150
ReplyDeleteI think this is among the most significant information for me. And i am glad reading your article. But want to remark on few general things, The web site style is perfect, the articles is really excellent : D. Good job,.
ReplyDeletebuy steroids uk
I think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article.
ReplyDeleteanavar 50mg uk
Great work! This is the kind of info that should be shared around the internet. Shame on Google for now not positioning this submit higher! Come on over and discuss with my web site .
ReplyDeletesteroids online
I think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article. anavar 50mg
ReplyDelete