fesch / Structorizer.Desktop

Structorizer is a little tool which you can use to create Nassi-Schneiderman Diagrams (NSD).
https://structorizer.fisch.lu
GNU General Public License v3.0
65 stars 20 forks source link

Inconsistency on deep test coverage indication #1180

Open codemanyak opened 1 day ago

codemanyak commented 1 day ago

When a subroutie gets completely test-covered then only the current Call and subsequently executed Call elements referring to this routine become marked as deeply covered: grafik

Other (not currently involved) Calls remain unaware of the change such that dependent Roots may appear incompletely covered though they are covered in fact. As a workaround, either all referring Calls throughout the Arranger pool must be retrieved and updated whenever a routine gets covered or the coverage test method of Call elements must always check the subroutine status if the deeplyCovered flag hasn't been set yet. (A difficulty may arise from recursive routines, for which some Calls may have been cloned in the call stack.)

codemanyak commented 16 hours ago

It turned out that both fixing approaches are necessary (complementarily), in particular to cope with possible multi-line calls. Some additional modifications were applied to improve performance (or compensate for the necessary retrieval efforts).