39 research outputs found
General Terms
When traditional Big O analysis is rigorously applied to object oriented software, several deficiencies quickly manifest themselves. Because the traditional definition of Big O is expressed in terms of natural numbers, rich mathematical models of objects must be projected down to the natural numbers, which entails a significant loss of precision beyond that intrinsic to order of magnitude estimation. Moreover, given that larger objects are composed of smaller objects, the lack of a general method of formulating an appropriate natural number projection for a larger object from the projections for its constituent objects constitutes a barrier to compositional performance analysis. We recast the definition of Big O in a form that is directly applicable to whatever mathematical model may have been used to describe the functional capabilities of a class of objects. This generalized definition retains the useful properties of the natural number based definition but offers increased precision as well as compositional properties appropriate for object based components. Because both share a common mathematical model, functional and durational specifications can now be included in the code for object operations and formally verified. With this approach, Big O specifications for software graduate from the status of hand waving claim to that of rigorous software characterization
Essential Discrete Mathematics for Computer Science
vii, 216 hlm.; Ind.; 24 c