Notions of Equivalence in Software Design
David King, Chris Kimble

TL;DR
This paper explores different notions of equivalence in software design, highlighting the contrast between formal and natural language descriptions and proposing an extension of oracle concepts to address ambiguity.
Contribution
It introduces an extended framework of oracles to distinguish between trustworthy formal and untrustworthy natural language equivalences in software design.
Findings
Different notions of equivalence coexist in software descriptions.
Natural languages do not adhere to formal equivalence notions.
Extending oracles helps address ambiguity in software design.
Abstract
Design methods in information systems frequently create software descriptions using formal languages. Nonetheless, most software designers prefer to describe software using natural languages. This distinction is not simply a matter of convenience. Natural languages are not the same as formal languages; in particular, natural languages do not follow the notions of equivalence used by formal languages. In this paper, we show both the existence and coexistence of different notions of equivalence by extending the no-tion of oracles used in formal languages. This allows distinctions to be made between the trustworthy oracles assumed by formal languages and the untrust-worthy oracles used by natural languages. By examin-ing the notion of equivalence, we hope to encourage designers of software to rethink the place of ambiguity in software design.
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 Research · Software Engineering Techniques and Practices · Advanced Software Engineering Methodologies
