As I understand it, this is a situation which is theoretically valid under the rules of a system, but is 'extreme' in the sense that it is at the absolute maximum or minimum allowed by one or more of these rules. In this, it is similar to an 'objective' in linear programming. In linear programming, the idea is to maximise (or minimise) a value which depends on a set of variables that are subject to certain constraints (or rules). In simple cases, you can represent the rules as lines in a cartesian manner on graph paper. The objectives occur where the lines cross, i.e. the most extreme values their underlying variables can take (hence, 'corner case').

However, unlike linear programming, 'corner cases' would not normally occur in system operation. The sense is that they only happen in 'unusual' situations. To give simple examples; perhaps a user is starting a new process for each operation in your system, rather than reusing an existing prompt, hence pushing the number of processes up to its limit. Or perhaps a mobo designer is creating a board which will supply your memory chip with the highest voltage it is designed to handle for use in a location at the very bottom of your temperature range.

Even though corner cases will not occur in normal conditions, they should always be handled in a manner consistent with the rest of the system's operation. However, most people consider them of low priority since by their nature they will seldom be manifest.

Log in or register to write something here or to contact authors.