levo

Producing Robust Programs

Defensive design, input validation and authentication

  • 3 things to know
  • J277/02

Overview

Defensive design and anticipating misuse, presence, length, range, type and format checks, validation loops, verification, and authentication in a login routine.

What you need to know

Answer each one before you reveal it.

Your recallNot started
Key term

What do presence, length, type and format checks each test?

Key term

What is input validation, and what does a range check test?

Key term

Give three ways a user might misuse a program that asks for their age.

Questions from this subtopic

Each one with the model answer underneath.

  1. 1

    What is defensive design?

    Model answer

    Defensive design means planning a program so it copes with every likely input and with misuse. The program should keep working and stay secure.

  2. 2

    What does anticipating misuse involve?

    Model answer

    A programmer predicts how users might misuse the program, by mistake or on purpose. The code is then written to handle each case safely.

  3. 3

    Give three ways a user might misuse a program that asks for their age.

    Model answer

    A user might leave the input blank. A user might type letters such as "ten". A user might enter an impossible value such as −5 or 250.

  4. 4

    What is input validation?

    Model answer

    Input validation is an automatic check that data follows set rules before the program accepts it. Data that fails the check is rejected and the user is asked again.

  5. 5

    What does a range check test?

    Model answer

    A range check tests that a value lies between a lowest and a highest limit. An example is a percentage that must be from 0 to 100.

  6. 6

    What do a presence check and a length check test?

    Model answer

    A presence check makes sure a field has not been left empty. A length check makes sure the input has an allowed number of characters, such as at least 8.

Other ways to work this

The same content, four other ways.

What is inside Levo

Six ways to work the same material.

1Closed book
2Open book
3Closed book

The 3-step method, run for you

Answer cold, learn it, then prove it stuck. Levo tracks the jump between your first attempt and your last.

Systems Architecture
Memory and Storage
Computer Networks, Connections and Protocols
Network Security

Cram a whole paper in one sitting

Sort every topic into what you know and what you do not, then drill only the weak ones.

A bit is the unit of data.
smallestlargestmain

Blank Blitz makes facts automatic

Rapid timed gap-fills on the terms and numbers you need to recall without thinking.

AThe sum 0 + 0 is 0, and 0 + 1 is 1.
BThe sum 1 + 1 is 0 carry 1.
CThe sum 1 + 1 + 1 is 1 carry 1.

Build It gets the exam shape right

Assemble a full-mark answer from its marking points, in the order an examiner wants them.

Integer means a whole number with no fractional part.
TrueFalse

Test It catches misconceptions

Spot the fault in a statement. The traps are the mistakes students actually make.

721941163128510

Brain Breaks between sessions

Short focus games to reset attention, so the next set lands better than the last.

Every question in Producing Robust Programs, on a schedule.

Attempt a question from memory, write the correct version, then attempt it again. Levo records the jump between your first attempt and your last, and brings each question back on the day you are due to forget it.

Or £46 a year, about £3.83 a month. Cancel anytime.