In pure Ada this could increment programming variable X by one or a thousand; or it may set some global counter programmers X and return programming long-established value of programming counter in X; or it could do absolutely nothing with X at all. With SPARK 2014, contracts are added programmers programming code programmers deliver additional advice regarding what computer technological know-how subprogram definitely does. For instance, we may alter programming above specification programmers say:This specifies that programming Increment method doesn’t use neither update nor read any global variable and that programming only data item utilized in calculating programming new value of X is X itself. This specifies that Increment will use programming global variable Count in programming same kit as Increment, that programming exported value of Count depends on programming imported values of Count and X, and that programming exported value of X doesn’t rely on any variables at all and it will be derived from consistent data only. If GNATprove is then run on programming specification and corresponding body of desktop technological know-how subprogram, it will examine programming body of programming subprogram programmers building up computing device technology model of programming assistance flow. This model is then in comparison in opposition t that which has been specified by programming annotations and any discrepancies stated programmers programming user.