2

In writing about verification techniques, I want to discuss formal methods vs. other methods (e.g., testing or code review). While informal is the generally the antonym of formal, referring to these other methods as informal methods makes me feel like I'm describing them as slap-dash, low-quality approaches, which is not my intent.

For context, I'm looking for a good title for a goal node in GSN that these non-formal verification methods (to partially use a suggestion from @EdwinAshworth) would be sub-goals under. Again, just to make sure this is crystal clear, these verification methods are not meant to be represented as inferior to formal methods, merely different from formal methods.

Does anyone have a good antonym for formal methods that is devoid of any negative connotations?

12
  • 1
    You need to add a supported definition of 'formal method' here. Commented Apr 27, 2018 at 20:53
  • 1
    @EdwinAshworth — I added a link to Wikipedia. I expect that those who aren't at least passingly familiar with the term, however, will be less likely to be able to come up with a suitable antonym. Commented Apr 27, 2018 at 20:54
  • 1
    @BenHocking 1) You are unlikely to find anyone here with at least a possing familiarity with the subject. You'd probably have better luck on an SE site with people who do, like the couple of CS sites in particular. 2) any term for a specialized area of science is not likely (it might but it's not likely) to have a specific term for those outside of it. What is the antonym of 'artificial intelligence'? What is the antonym of 'computer architecture'? You might have words for counterparts but again it depends.
    – Mitch
    Commented Apr 27, 2018 at 21:00
  • 1
    @EdwinAshworth — non-formal definitely sounds better to me than informal. I'm hoping for an even better answer. And maybe I'm wrong that knowing what formal methods are is that important to answering the question. To use Mitch's example, I would consider "biological intelligence" to be a decent antonym of "artificial intelligence", in most contexts. Commented Apr 27, 2018 at 21:06
  • 1
    @Mitch — actually, this is part of a structured argument (goalstructuringnotation.info), so what I'm looking for is a concise way to describe these approaches that fits into an argument node. The methods themselves will be described in sub-nodes. The context here is that these are software verification approaches that are not formal methods. Commented Apr 27, 2018 at 21:16

2 Answers 2

5

Formal methods use mathematical analysis to derive conclusions. Empirical methods use direct observation.

Here is an example of the phrases used in contrast:

  • Estimating the relative usability of two interfaces: heuristic, formal, and empirical methods compared by Jakob Nielsen, Victoria L Phillips - ACM Digital Library
6
  • 1
    I like the idea of even further categorization as you've shown here. In addition to "heuristic" and/or "empirical" methods, I'm also now considering "observational" methods (e.g., code review), but I'm still on the fence on that. Thanks for the inspiration! Commented Apr 28, 2018 at 12:14
  • I should add that, as I'm expanding my argument, I'm realizing that in a narrow context "natural language" is my antonym — e.g., formal requirements vs. natural language requirements, and same with specifications. Commented Apr 28, 2018 at 17:28
  • (Your antonym still works at the level I'm wanting it, though.) Commented Apr 28, 2018 at 23:19
  • @Ben Glad to have provided the inspiration. :)
    – Lawrence
    Commented Apr 28, 2018 at 23:24
  • @Ben ‘Code review’ provides an environment for deriving conclusions, but it doesn’t seem to be an alternative reasoning process for that derivation. For example, the content of the review might be to check the logic of a formal methods analysis.
    – Lawrence
    Commented Apr 28, 2018 at 23:26
2

What about an heuristic technique? According to Wikipedia:

A heuristic technique, often called simply a heuristic, is any approach to problem solving, learning, or discovery that employs a practical method not guaranteed to be optimal or perfect, but sufficient for the immediate goals. Where finding an optimal solution is impossible or impractical, heuristic methods can be used to speed up the process of finding a satisfactory solution.

The difference between an algorithm (which might be considered a formal method) and an heuristic from a Stack Overflow answer, credit goes to M. Borgwardt:

An algorithm is typically deterministic and proven to yield an optimal result

A heuristic has no proof of correctness, often involves random elements, and may not yield optimal results.

Attribution:

1"Heuristic." Wikipedia. April 26, 2018. Accessed April 28, 2018. https://en.wikipedia.org/wiki/Heuristic.

2 M. Borgwardt "What Is the Difference between a Heuristic and an Algorithm?" Definition - What Is the Difference between a Heuristic and an Algorithm? - Stack Overflow. Accessed April 28, 2018. https://stackoverflow.com/a/2334257/3367799.

1
  • 1
    I like both of yours and @Lawrence's answers, but I think his is a slightly better fit. Thanks! Commented Apr 28, 2018 at 1:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.