Skip to content
jiri_vinarek edited this page Mar 17, 2015 · 1 revision

List of ideas for model checkers

Introduction

We will compile a list of checks using the !ReProTool metamodel that could be interesting from the software engineering perspective.

List of Ideas

  • a call-graph can be used to identify suspicious methods such as public methods that have never been used.

  • automated generation of contracts from specification

  • Specification -> Code documentation comments (or context help in IDE, e.g onMouseOver() all textual parts of specification related to identifier are displayed)

  • Automated generation of JUnit-like tests

  • find a public method (or similar concept) that is not connected to any requirement

  • Some kind of a "meta-language": when we created AST, we can express some constraints that would otherwise be impossible within the original programming language. For example, in PHP, we could create a following constraint: The property {{{A.p}}} can only be access from class {{{B}}} while accesses from {{{A}}} are forbidden. These constraints could be encoded to the PHP comments.

  • a private variable could contain a comment explaining that the variable is only used within some method. This can be used for checking.

  • which parts of the traces encoded in the behaviour model are isolated and thus can potentially be executed in separate threads.

  • detect and display conditions in natural language that lead to infinite cycles in the use-case when "GOTO" actions are used. Also display conditions that would break the cycle (potential corrections of such a behaviour)

To Check

Model Query

Related work

  • RT @grafandreas: Referencing from natural language Requirements to Models with Papyrus, ReqIF, ProR and Xtext: vimeo.com/22699232

Clone this wiki locally