Abstract
Our main aim is to propose a new characterization for the software development process. We suggest that software development methodology has some limits. These limits are a clue that software development process is more subjective and empirical than objective and formal. We use Kolmogorov complexity to develop the formal argument and to outline the informal conclusions. Kolmogorov complexity is based on the size in bits of the smallest effective description of an object and is a suitable quantitative measure of the object’s information content. We try to show that notion of complexity is a suitable measure and a tool for the characterization of the software development process. Followingthe paper conclusions, the limits of formal methods typifies the software development process as experimental and heuristical based, like, for example, the scientific development in physics and chemistry. Moreover, by our approach, we argue that software development is, in some sense, formally unpredictable. These conclusions suggest that software engineering is a scientific field not totally characterized by the typical work of engineering, but also by the experimental sciences methodology.
This work is partially supported by: FAPERGS (Projects QaP-For, Ω-π/UFPel) and CNPq (Projects HoVer-CAM, GRAPHIT, MEFIA) in Brazil.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Aho, A. and Ullman, J. Foundations of Computer Science, C Ed., Computer Science Press, New York, W. Freeman and Company, 1995.
Chaitin, G. Information-Theoretic Computational Complexity, IEEE Transactions on Information Theory, 20 (1974), 10–15.
Chaitin, G. A Theory of Program Size Formally Identical to Information Theory, Journal of the ACM, 22 (1975), 329–340.
Chaitin, G. Gödel’s Theorem and Information, International Journal of Theoretical Physics, 22 (1982), 941–954.
Chaitin, G. Algorithmic Information Theory, In: Encyclopedia of Statistical Sciences, New York, Wiley, 1 (1982), 38–41.
Chaitin, G. The Limits of Mathematics, New York, Springer, 1998.
Conte, M. and Falco, I. and Cioppa, A. and Tarantino, E. and Trautteur, G. Genetic Programming Estimates of Kolmogorov Complexity, In: Proceedings of the Seventh International Conference on Genetic Algorithms (ICGA97), 1997.
Cover, T. and Thomas, J. Elements of Information Theory, New York, Wiley, 1991.
GÁcs, P. Lecture Notes on Descriptional Complexity and Randomness, Technical Report, Boston University, Computer Science Dept., Boston, 1988, URL: http://www.cs.bu.edu/ftp/gacs/papers/ait-notes.ps.Z.
Hinchey, M. and Bowen, J. Applications of Formal Methods, Prentice-Hall International Series in Computer Science, 1995.
Hopcroft, J. and Ullman, J. Introduction to Automata Theory, Languages and Computation, Reading, Addison-Wesley, 1979.
Höst, M. and Wohlin, C. An Experimental Study of Individual Subjective Effort Estimation and Combinations of the Estimates, In: Proceedings of the 1998 International Conference on Software Engineering, Kyoto, Japan, April 19–25, 1998.
Kleene, S. Mathematical Logic, New York, Wiley, 1967.
Kolmogorov, A. Three Approaches to the Quantitative Definition of Information, Problemy Peredachi Informatsii, v. 1, n. 1, 1965, 3–11.
Kolmogorov, A. Logical Basis for Information Theory and Probability Theory, IEEE Transactions on Information Theory, v. 14, n. 5, 1968, 662–664.
Li, M. and VitÁnyi, P. An Introduction to Kolmogorov Complexity and its Applications. New York, Springer, 1997.
McCarthy, J. A Basis for a Mathematical Theory of Computation, In: P. Braffort and D. Hirschberg( eds.), Computer Programming and Formal Systems, 33–70. North-Holland Publishing Company, Amsterdam, 1963.
McConnell, S. The Art, Science, and Engineering of Software Development, IEEE Software, v. 15, n. 1, january/february 1998.
Mendelson, E. Introduction to Mathematical Logic, New Jersey, Van Nostrand Company, 1964.
Yourdon, E. Modern Structured Analysis, New Jersey, Prentice-Hall, 1988.
Yourdon, E. Decline and Fall of the American Programmer, New Jersey, Prentice-Hall, 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Campani, C.A., Menezes, P.B. (2001). Characterizing the Software Development Process: A New Approach Based on Kolmogorov Complexity. In: Moreno-Díaz, R., Buchberger, B., Luis Freire, J. (eds) Computer Aided Systems Theory — EUROCAST 2001. EUROCAST 2001. Lecture Notes in Computer Science, vol 2178. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45654-6_20
Download citation
DOI: https://doi.org/10.1007/3-540-45654-6_20
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42959-3
Online ISBN: 978-3-540-45654-4
eBook Packages: Springer Book Archive