Intel mepere koodu sistemụ mmụta igwe ControlFlag iji chọpụta ahụhụ dị na koodu ahụ

Intel achọpụtala mmepe metụtara ọrụ nyocha ControlFlag, nke ezubere imepụta usoro mmụta igwe iji kwalite ogo koodu. Ngwá ọrụ a kwadebere site na ọrụ ahụ na-enye ohere, dabere na ihe nlereanya a zụrụ na ọnụ ọgụgụ dị ukwuu nke koodu dị ugbu a, iji chọpụta njehie dị iche iche na ihe adịghị mma na ederede isi nke e dere n'asụsụ dị elu dị ka C/C++. Sistemu dabara adaba maka ịchọpụta ụdị nsogbu dị iche iche na koodu, site na ịchọpụta typos na ụdị nchikota na-ezighi ezi, ruo ịchọpụta ndenye NULL efu na pointers na nsogbu ebe nchekwa. Edere koodu ControlFlag na C++ ma bụrụ oghere mepere emepe n'okpuru ikike MIT.

Usoro a na-amụta onwe ya site n'ịwulite usoro ndekọ aha nke koodu dị ugbu a nke ọrụ mepere emepe e bipụtara na GitHub na ebe nchekwa ọha ndị yiri ya. N'oge mmụta, usoro ahụ na-ekpebi usoro ndị a na-ahụkarị maka iwu ụlọ na koodu ahụ ma wuo osisi syntactic nke njikọ n'etiti usoro ndị a, nke na-egosipụta usoro mmebe koodu na mmemme ahụ. N'ihi ya, a na-emepụta osisi nrụtụ aka nke na-ejikọta ahụmahụ nke ịmepụta akwụkwọ edemede niile nyochara.

Koodu a na-anwale na-aga n'otu usoro ahụ nke ịchọpụta usoro a na-enyocha megide osisi mkpebi ntụaka. Nnukwu ọdịiche na alaka ndị agbata obi na-egosi ọnụnọ nke anomaly na ndebiri a na-enyocha. Usoro ahụ na-enyekwa ohere ọ bụghị naanị iji chọpụta njehie na template, kamakwa ịkwado mgbazi. Dịka ọmụmaatụ, na koodu OpenSSL, a chọtara ihe owuwu "(s1 == NULL) ∧ (s2 == NULL)" nke mere naanị ugboro 8 na osisi syntax, ebe alaka kacha nso nwere uru "(s1 ==) NULL) || (s2 == NULL)" mere ihe dị ka ugboro puku asaa. Sistemu ahụ chọpụtakwara ihe adịghị mma “(s7 == NULL) | (s1 == NULL)" nke mere ugboro 2 n'ime osisi ahụ.

Intel mepere koodu sistemụ mmụta igwe ControlFlag iji chọpụta ahụhụ dị na koodu ahụ

Mgbe ị na-atụgharị snippet koodu "ọ bụrụ (x = 7) y = x;" usoro ahụ ekpebiela na a na-ejikarị ihe owuwu "gbanwee == nọmba" na-ejikarị na nkwupụta "ọ bụrụ" tụnyere ọnụọgụgụ ọnụọgụgụ, ya mere, n'enweghi ike dị elu, ihe ngosi "mgbanwe = nọmba" na okwu "ọ bụrụ" kpatara ya. a typo. Ndị nyocha ọdịnala ọdịnala ga-enwetakwa njehie dị otú ahụ, mana n'adịghị ka ha, ControlFlag anaghị eji iwu emebere eme nke ọ siri ike ịhụ nhọrọ niile enwere ike, mana dabere na ọnụ ọgụgụ nke iji ụdị ihe nrụpụta niile n'ọtụtụ buru ibu. oru ngo.

Dị ka nnwale, iji ControlFlag na koodu isi mmalite nke uru cURL, nke a na-ezokarị dị ka ihe atụ nke koodu dị elu na nkwenye kwadoro, njehie na-ahụghị site na static analyzers achọpụtara mgbe ị na-eji ihe nhazi "s-> keeppon", nke nwere ụdị ọnụọgụgụ, mana atụnyere uru boolean TRUE . Na koodu OpenSSL, na mgbakwunye na nsogbu dị n'elu na "(s1 == NULL) ∧ (s2 == NULL)", enwekwara ihe ọjọọ na okwu "(-2 == rv)" (mwepu bụ typo). ) na "BIO_puts(bp, ":")

isi: opennet.ru

Tinye a comment