informalsystems / themis-tracer

A tool for managing complex contexts for developing critical systems
Apache License 2.0
4 stars 0 forks source link

[TRC-REV.1::INC.1::TOOL.1] Support disciplined and rationalilzed change management #23

Open shonfeder opened 3 years ago

shonfeder commented 3 years ago

TRC-REV.1::INC.1::TOOL.1

During the postportem of a critical bug into IBC we learned that changes introduced to meet user needs interacted with (underspecified) components to open up essential security vulnerabilities. We need a method for rationalize and hardening the process of change management.

Approaches

Register implmementation units with “unit owners”

Perpetual Requirement Engineering:

Traditionally, change impact analysis has been viewed as an area in traditional software en-gineering. Software artifacts (source code, usually) are modified in response to a change in userrequirements. Aside from making sure that the changes are inherently correct (testing and ver-ification), programmers (software engineers) need to make sure that the introduced changes arecoherent with those parts of the systems that were not affected by the artifact modification. Thelatter is generally achieved by establishing adependency relationbetween software artifacts. Inrough lines, the process of change management consists of projecting the transitive closure of thethis dependency relation based on the set of artifacts that have actually changed and assessing howthe related artifacts changed.