The concept of execution environment is an essential part of the definition of software reliability. Consider that a software system supports 10 different functions f1,...,f10, and there are two groups of users. One group of users use only functions f1,...,f7, and the second group uses all the functions. Let functions f1,....,f7 be fault free, but there are faults in functions f8, f9, f10.

function a. the kind of action or activity proper to a person, thing, or institution; the purpose for which something is designed or exists

b. mathematical functions

c. function keys

Everyone I talked to takes the word function in this context to mean one of the above three. Which do you think is right?


2 Answers 2


If I use this in software context, there are two possibilities:

a) "user side" functions: probably better described as functionalities, different ways a user can use the tool. Different functionalities it offers.

b) Those functionalities may be, down in the code, be implemented by different functions. Algorithmic functions I see as quite similar to mathematic funtions. (Input, function does something, output, so the function is basically a rule to process input.)

  • 1
    Yes - so the functions OP describes really come under his definition a, but the reference to faults means we have to also consider the code with its algorithmic functions (definition b or b') that is at the heart of each sub-program. Jun 27, 2013 at 8:09
  • 1
    I agree. For example a word processor you could have a:_save_, b:_edit_, c:_import_ - those would be 3 functionalities where average users would use only function a and function b and more experienced users use all 3. It is regrettable that the text is using the f1-f10, making you think it relates to the function keys on your keyboard
    – mplungjan
    Jun 27, 2013 at 10:03
  • Actually, the function keys on the keyboard were traditionally used exactly to perform specific functions (functionalities), hence their name... ;-)
    – C.B.
    Aug 20, 2013 at 14:12

Since the excerpt uses the term "software" and then uses some technical notations for referring to the 'functions' (f1-f10) I would say that this is some kind of theoretical discussion regarding software implementation or safety-critical systems (given the use of the word 'fault').

In computer programming the words 'function', 'method' and 'procedure' (and some others) all refer to a piece of code that is referenced and executed by a computer system.


I would say, from my computer science/IT background, that this is the sense intended in your excerpt and thus neither of your offered possibilities - the closest would be the mathematical functions which are analogous.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.