Software Engineering as a Domain to Formalize
Bertrand Meyer

TL;DR
This paper advocates for developing a formal, object-oriented theory of software engineering, outlining its potential structure and emphasizing the need for community-driven formalization of core concepts and processes.
Contribution
It proposes a framework for a formal, object-oriented theory of software engineering, highlighting key abstractions and relationships to guide future formalization efforts.
Findings
Identifies core software engineering concepts for formalization
Suggests an object-oriented model as a basis for theory
Encourages open-source community development of the theory
Abstract
Software engineering concepts and processes are worthy of formal study; and yet we seldom formalize them. This "research ideas" article explores what a theory of software engineering could and should look like. Software engineering research has developed formal techniques of specification and verification as an application of mathematics to specify and verify systems addressing needs of various application domains. These domains usually do not include the domain of software engineering itself. It is, however, a rich domain with many processes and properties that cry for formalization and potential verification. This article outlines the structure of a possible theory of software engineering in the form of an object-oriented model, isolating abstractions corresponding to fundamental software concepts of project, milestone, code module, test and other staples of our field, and their…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Techniques and Practices
