David has over 40 years of industry experience in software development and information technology and a bachelor of computer science
Characteristics of Robust Programs
Table of Contents
- Perpetual Motion
- What is a Program?
- What Does It Mean to Be Robust?
- Characteristics of a Robust Program
- Lesson Summary
We live in a world that is constantly in motion. In fact, some say it moves twenty-four hours a day, seven days a week, three hundred and sixty-five days a year. It isn't so hard to imagine. Just look at how busy you are. We also expect the technology in our world to move at the same speed. But there is a price, a toll we must pay for that ability. No pausing for a breather, and no stopping for faults or failures! It follows that this applies to our computer systems and the programs that make them run. As a result, we apply terms like robustness to describe this ability.
A program is a collection of commands that a computer executes in order to perform some focused activity. Some contain only a few of these commands, while others contain hundreds, if not thousands. Regardless of the size, programs provide the game plan a computer system needs to be effective at whatever task is required of it. For example, the development teams at Microsoft have created Windows, a program that controls the basic operation of a computer. And they are not alone, similar teams exist at Apple for MAC OS and companies like Red Hat for Linux. These are only a small sample, as programs form a fundamental part of a computer's ecosystem.
The term robust is used to describe something that is lively, strong, or steadfast. For example, one might consider a table robust if it has thick, sturdy legs and a solid top. It can also mean that something has the ability to perform without failure under a variety of conditions. Your vehicle might be considered robust if it starts every day and gets you to work without incident, rain, shine or snow. Robustness is a measure of how well something performs the task it was designed to undertake.
With respect to a computer program, the term robust is used in a similar fashion. It describes the ability of a program to handle the many inputs (good and bad) that can affect its operation. As such, some of the more notable characteristics that a robust program includes are:
- User Input Filtering - This characteristic examines information entered by the user and either prevents erroneous input or corrects it automatically. For example, if an input field requires only numbers, it doesn't let the user enter letters. This is such a problem that old systems are often revamped to include it.
- Controlled Data Access - This characteristic ensures that access to information is done in specific ways so that the integrity of the information is guaranteed. For example, a database system might be used to control data access.
- Logging and Auditing - This characteristic keeps track of things that happen so that subsequent actions can be taken. For example, a simple text file might be created that contains run-time status messages.
- Exception Handling - This characteristic reacts to the run-time issues that can occur, recovers from them, and allows the program to proceed without failure. For example, exception handlers may be programmed that are fired when run-time issues occur.
- Self-Diagnosis - This characteristic automatically monitors program operation and alerts the system when something unexpected has occurred. For example, sub-systems might be created that monitor things like log files for messages that indicate trouble.
To recap, a program is a collection of computer commands that perform some focused activity. Robust is used to describe something that is active, sturdy, or solid. When used in connection with computer programs, it describes the ability to handle the many influences that can affect its operation. Characteristics of robust programs include user input filtering, controlled data access, logging and auditing, exception handling, and self-diagnosis.
Register to view this lesson
Unlock Your Education
Become a Study.com member and start learning now.
Become a MemberAlready a member? Log In
BackResources created by teachers for teachers
I would definitely recommend Study.com to my colleagues. It’s like a teacher waved a magic wand and did the work for me. I feel like it’s a lifeline.