[Paper Review] Notions of Equivalence in Software Design
This paper introduces multiple distinct notions of equivalence in software design by extending the concept of oracles, distinguishing between formal languages—where equivalence is rigorously defined—and natural languages, where equivalence is ambiguous and context-dependent. It argues that recognizing these differing equivalence notions can help software designers better manage ambiguity and improve design clarity and consistency.
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.
Motivation & Objective
- To address the gap between formal language-based software design and the prevalent use of natural language in practice.
- To identify and clarify the different ways equivalence is understood in formal versus natural language contexts.
- To challenge the assumption that natural language descriptions in software design are interchangeable or equivalent without scrutiny.
- To encourage software designers to reconsider how ambiguity in natural language affects system specification and correctness.
- To propose a framework for evaluating equivalence in software design that accounts for both formal and informal reasoning paradigms.
Proposed method
- Extends the concept of oracles from formal language theory to analyze equivalence in software design.
- Distinguishes between 'trustworthy' oracles in formal languages (where equivalence is mathematically verifiable) and 'untrustworthy' oracles in natural language (where equivalence depends on interpretation).
- Uses the oracle model to contrast the precision of formal specifications with the ambiguity inherent in natural language descriptions.
- Analyzes how different interpretations of equivalence affect software design outcomes and requirements modeling.
- Proposes a conceptual framework for evaluating equivalence in design artifacts based on the reliability and consistency of the underlying oracles.
- Applies this framework to demonstrate how conflicting notions of equivalence can lead to misunderstandings in software development processes.
Experimental results
Research questions
- RQ1How do notions of equivalence differ between formal languages and natural languages in software design?
- RQ2What role do oracles play in determining whether two software descriptions are considered equivalent?
- RQ3Why are natural language descriptions in software design considered less reliable for establishing equivalence compared to formal languages?
- RQ4In what ways does ambiguity in natural language affect the consistency and correctness of software specifications?
- RQ5How can designers better manage equivalence when using natural language in software design without sacrificing clarity or precision?
Key findings
- Different notions of equivalence coexist in software design, with formal languages relying on mathematically rigorous equivalence and natural languages depending on interpretive, context-sensitive equivalence.
- Oracles in formal languages are trustworthy and deterministic, while oracles in natural language are untrustworthy and prone to interpretation variance.
- The paper demonstrates that natural language descriptions in software design often lead to ambiguous equivalence judgments due to lack of formal grounding.
- By identifying the distinction between formal and informal oracles, the paper reveals that equivalence in practice is often assumed rather than verified.
- The framework proposed allows designers to assess when and why equivalence claims in design documents may be invalid or misleading.
- The study suggests that treating natural language as equivalent to formal language in design can lead to specification errors and increased maintenance costs.
Better researchstarts right now
From reading papers to final review, dramatically reduce your research time.
No credit card · Free plan available
This review was created by AI and reviewed by human editors.