Historically, the use of natural language based techniques for the purpose of software specification has tended to result in the production of ambiguous or verbose system descriptions. It is thought that this imprecision is to some extent responsible for the erroneous development decisions which lead to the introduction of defects in software systems. This view is supported by previous psychological studies which suggest that people are prone to error and bias when reasoning with natural language statements containing specific logical operators. In this paper, we are concerned with the implicative, conditional operator. We describe a study which sought to test whether the reasoning of trained conditional arguments expressed in formal logic itself. In addition, it aimed to test the extent to which reasoning performance is affected by: the type of inference to be drawn, the degree of realistic content in problem material and the polarity of logical terms. In general, the results suggest that the same errors and biases which people exhibit on a frequent basis when reasoning with everyday discourse can, under certain circumstances, transfer across into the domain of formal reasoning. The implications of this finding are discussed in relation to the software engineering community where formal logic based notations are gaining increasing acceptance.
|UH Computer Science Technical Report
|University of Hertfordshire