Content deleted Content added
→Program refinement: This is not an example but an alternative meaning. |
Tom.Reding (talk | contribs) m Rep typographic ligatures like "fi" with plain text; possible ref cleanup; WP:GenFixes on, replaced: fi → fi (4) using AWB |
||
Line 6:
== Program refinement ==
In [[formal methods]], '''program refinement''' is the [[formal verification|verifiable]] transformation of an ''abstract'' (high-level) [[formal specification]] into a ''concrete'' (low-level) [[executable program]].{{citation needed|date=September 2010}} ''[[Stepwise refinement]]'' allows this process to be done in stages. Logically, refinement normally involves [[logical consequence|implication]], but there can be additional complications.
The progressive just-in-time preparation of the product backlog (requirements list) in [[agile software development]] approaches, such as [[Scrum (software development)|Scrum]], is also commonly described as refinement.<ref>{{cite journal|last=Cho|first=L|title=Adopting an Agile Culture A User Experience Team's Journey|journal=Agile Conference|year=2009|doi=10.1109/AGILE.2009.76|isbn=978-0-7695-3768-9|pages=416}}</ref>
Line 21:
== Refinement types ==
In [[type theory]], a '''refinement type'''<ref>{{cite conference|first1=T.|last1=Freeman|first2=F.|last2=Pfenning|url=https://www.cs.cmu.edu/~fp/papers/pldi91.pdf|doi=10.1145/113445.113468 |title=
== References ==
|