Dimittis de ControlFlag 1.0, instrumentum ad errores distinguendos in C codice

Intel evulgavit primam maiorem solutionem ControlFlag 1.0 instrumenti, quod permittit vos cognoscere errores et anomalias in fonte codice utens machinae systematis discendi in magno codice existentium. Dissimiles traditionales analysres statices, ControlFlag regulas paratas factas non apponit, in quibus difficile est omnibus bene possibilibus providere, sed in statistica in usu linguae variae constructis in magna exsistentium consiliorum numero fundatur. Code ControlFlag scriptum est in C++ et aperta est sub licentia MIT.

Systema instruitur aedificando exemplar statisticum existens codicem ordinatae consiliorum aperti-fontis in GitHub et similibus repositoriis publicis editis. In scaena disciplinae, systema typicam exemplaria ad structuras in codice construendas determinat et syntacticam arborem coniunctionum inter haec exemplaria aedificat, cum profluvium codicis exsecutionis in programmatis consideret. Quam ob rem relatio decernendi arbor formatur quae experientiam evolutionis omnium codicum fontei enucleat componit. Codex recensens similem processum cognoscendi exemplaria obpressit quae contra arborem decisionis referat. Magnae discrepantiae cum ramis vicinis indicant praesentiam anomaliae in exemplari represso.

Dimittis de ControlFlag 1.0, instrumentum ad errores distinguendos in C codice

Exemplum facultatum ControlFlag, tincidunt fontes explicaverunt codicem inceptis OpenSSL et CURL:

  • Constructio anomala "(s1 == NULL) (s2 == NULL)" et "(s1 == NULL) | (s2 == NULL)", quae communi exemplari adhibita non aequant" (s1 == NULL) || (s2 == NULL)". Codex etiam anomalias notavit in vocibus "(-2 == rv)" (minus typo) et "BIO_puts(bp, ":") <= 0)" (in contextu annotandi ad perfectionem. munus debuit "==0").
  • In CURL, error deprehensus est ab analysribus staticis non detectus cum structurae elementi "s->keepon" utens, quod genus numericum habebat, sed cum valore booleani VERI comparatus est.

Inter lineamenta ControlFlag 1.0 versionis, plenum subsidium est pro normae formulae linguae C et facultas detegendi anomalias condiciones "si" expressiones. Exempli gratia, cum codicis fragmenti dividendo "if (x = 7) y = x; Systema definiet quod "si" enuntiatio plerumque utitur constructione "variabilis=numerum" ad valores numericos comparandos, ideo valde probabile est "variabilem = numerum" in "si" locutione a typo causari. Ornamentum quoddam scriptum includit quod te permittit ut repositoria linguae C exsistentiae in GitHub accipias et illis utaris ad exemplar aedificandum. Parata exemplaria facta etiam in promptu sunt, permittens te statim codicem reprimere.

Source: opennet.ru