рдкрд░рд┐рдЪрдп
рд▓рдВрдмреЗ рд╕рдордп рд╕реЗ рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рдерд╛ рдХрд┐ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рджреЛрд╖реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдмрд╣реБрдд рднрд╛рд░реА рдерд╛, рдФрд░ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рдпрд╛рд╕ рдФрд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд╕рд╣реА рдирд╣реАрдВ рдард╣рд░рд╛рддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЖрдзреБрдирд┐рдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдЙрджреНрдпреЛрдЧ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реБрдЭрд╛рди рд╣рдореЗрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдкрд░ рдирдП рд╕рд┐рд░реЗ рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдПрдХ рддрд░рдл, рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреА рдорд╛рддреНрд░рд╛ рдФрд░ рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рдирд┐рд░рдВрддрд░ рд╡реГрджреНрдзрд┐ рдХреЗ рд╕рд╛рде, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рдЧреБрдгрд╡рддреНрддрд╛ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХрд╛ рдХреЛрдИ рднреА рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд╕рд╛рдзрди рдЙрдкрдпреЛрдЧреА рдФрд░ рдорд╛рдВрдЧ рдореЗрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рджреВрд╕рд░реА рдУрд░, рдЖрдзреБрдирд┐рдХ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рдирд┐рд░рдВрддрд░ рд╡реГрджреНрдзрд┐ рд╣рдореЗрдВ рдЬрдЯрд┐рд▓ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╣рд╛рд▓ рдХреЗ рд╢реЛрдз рдХрд╛рд░реНрдп, рдЬреИрд╕реЗ
рдПрд╕рдПрдЬреАрдИ ,
рдХреЗрдПрд▓рдИ рдФрд░
рдПрд╡рд▓рд╛рдВрдЪ , рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдЪрд┐рдд рд╣реИ, рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╡рд░реНрдЧ рдХреЗ рд▓рд┐рдПред
рдЧрддрд┐рд╢реАрд▓ рдмрдирд╛рдо рд╕реНрдЯреЗрдЯрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг
рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рд╡рд┐рдХрд▓реНрдк рдХреЗ рд░реВрдк рдореЗрдВ, рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдЕрдХреНрд╕рд░ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЕрдзреНрдпрдпрди рдХреЗ рддрд╣рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдВрднрд╛рд╡рд┐рдд рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдЦреЛрдЬ рдХреА рдЬрд╛рддреА рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрд╡реЗрджрди рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рджреНрд╡рд╛рд░рд╛ред рдЖрдорддреМрд░ рдкрд░, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рд╕рд╛рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЙрдбрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рд╣реИред
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдкрд░ рдЬреЛрд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП:
- рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЯреБрдХрдбрд╝реЛрдВ (рдЖрдорддреМрд░ рдкрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд╛рд░реНрдпреЛрдВ рдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ) рдХрд╛ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рдВрднрд╡ рд╣реИ, рдЬреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЬрдЯрд┐рд▓рддрд╛ рдореЗрдВ рдЧреИрд░-рд░реИрдЦрд┐рдХ рд╡рд┐рдХрд╛рд╕ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХрд╛ рдПрдХ рдХрд╛рдлреА рдкреНрд░рднрд╛рд╡реА рддрд░реАрдХрд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
- рдЧрд▓рдд рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛ рд╕рдВрднрд╡ рд╣реИ, рдпрд╛ рддреЛ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдПрдХ рд╕рд╛рд░ рдореЙрдбрд▓ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░рддреЗ рд╕рдордп, рдХреБрдЫ рд╡рд┐рд╡рд░рдгреЛрдВ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛ рдХреНрдпреЛрдВрдХрд┐ рдореЙрдбрд▓ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕рдВрдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИред
- рдЬрдм рдПрдХ рджреЛрд╖ рдХрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкрддрд╛ рдЪрд▓рд╛ рджреЛрд╖ ( рдЧрд▓рдд рд╕рдХрд╛рд░рд╛рддреНрдордХ ) рдХреА рд╕рддреНрдпрддрд╛ рдХреА рдкреБрд╖реНрдЯрд┐ рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдФрд░, рджреВрд╕рд░реА рдмрд╛рдд, рдХреБрдЫ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдиреНрдЪ рд╣реЛрдиреЗ рдкрд░ рдкрд╛рдП рдЧрдП рджреЛрд╖ рдХреЛ рдкреБрди: рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ред
рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдмрдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЪрд▓ рд░рд╣рд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ:
- рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдХреБрдЫ рдЗрдирдкреБрдЯ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
- рдбрд╛рдпрдирд╛рдорд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗрд╡рд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдкрде рдкрд░ рджреЛрд╖реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рддрд╛ рд╣реИ; рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрдиреНрдп рднрд╛рдЧреЛрдВ рдореЗрдВ рд╕реНрдерд┐рдд рджреЛрд╖реЛрдВ рдХрд╛ рдкрддрд╛ рдирд╣реАрдВ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
- рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдЭреВрдареА рд╕рдХрд╛рд░рд╛рддреНрдордХрддрд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЛ рдмрд╛рд╣рд░ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЙрд╕ рд╕рдордп рдПрдХ рддреНрд░реБрдЯрд┐ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкрддрд╛ рдЪрд▓рд╛ рддреНрд░реБрдЯрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЙрдбрд▓ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреА рдЧрдИ рднрд╡рд┐рд╖реНрдпрд╡рд╛рдгреА рдирд╣реАрдВ рд╣реИ, рдмрд▓реНрдХрд┐ рдЗрд╕рдХреА рдШрдЯрдирд╛ рдХреЗ рддрдереНрдп рдХрд╛ рдПрдХ рдмрдпрд╛рди рд╣реИред
рдЖрд╡реЗрджрди
рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдкрд░реАрдХреНрд╖рдг рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЙрди рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдХрд┐рд╕реА рднреА рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЪрд╛рд▓рди рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рд╕рд░реНрд╡реЛрдЪреНрдЪ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдПрдВ рд╣реИрдВ: рд╡реЗрдм рд╕рд░реНрд╡рд░, рдПрд╕рдПрд╕рдПрдЪ рдХреНрд▓рд╛рдЗрдВрдЯ / рд╕рд░реНрд╡рд░, рд╕реИрдВрдбрдмреЙрдХреНрд╕рд┐рдВрдЧ, рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ред
рдлрд╝рдЬ рдкрд░реАрдХреНрд╖рдг (рдлрд╝рдЬрд╝рд┐рдВрдЧ)
рдлрд╝рдЬрд╝рд┐рдВрдЧ рдПрдХ рдкрд░реАрдХреНрд╖рдг рддрдХрдиреАрдХ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрд┐рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЗ рдЗрдирдкреБрдЯ рдХреЛ рдЕрдорд╛рдиреНрдп, рдЕрдирдкреЗрдХреНрд╖рд┐рдд, рдпрд╛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдбреЗрдЯрд╛ рд╕рдмрдорд┐рдЯ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдореБрдЦреНрдп рд╡рд┐рдЪрд╛рд░ рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ "рдореНрдпреВрдЯреЗрдЯ" рдХрд░рдирд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рдордирдорд╛рдирд╛ рд╕реНрдерд╛рдиреЛрдВ рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдмрджрд▓реЗрдВред рд╕рднреА рдлрд╝рдЬрд╝рд░реНрд╕ рд▓рдЧрднрдЧ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдкрдХреЛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдмрд╛рдЗрдЯреНрд╕ рдпрд╛ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдЕрдиреБрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЛ рдореНрдпреВрдЯ рдХрд░рдиреЗ рдкрд░ рдХреБрдЫ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдЙрд▓реНрд▓реЗрдЦ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
zzuf (linux) , minifuzz (Windows), filefuzz (Windows)ред рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдлрд╝рдЬрд╝рд░реНрд╕: PROTOS
(WAP, HTTP- рдЙрддреНрддрд░, LDAP, SNMP, SIP) (рдЬрд╛рд╡рд╛) ,
SPIKE (linux) ред рдлрдЬрд░ рдлреНрд░реЗрдорд╡рд░реНрдХ: рд╕реБрд▓реНрд▓реА
(рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд░реВрдкрд░реЗрдЦрд╛) ред
рдлрд╝рдЬрд╝ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдСрдЯреЛрдореИрдЯрд┐рдХ рдЯреЗрд╕реНрдЯрд┐рдВрдЧ, рдмреНрд░реВрдЯ рдлрд╝реЛрд░реНрд╕ рдореЗрдердб рдХрд╛ рдЕрдЧреНрд░рджреВрдд рд╣реИред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЗ рдлрд╛рдпрджреЛрдВ рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдЗрд╕рдХреА рд╕рд╛рджрдЧреА рд╣реИред рд╕реНрдкрд╖реНрдЯ рджреЛрд╖ рдпрд╣ рд╣реИ рдХрд┐ рдлрд╝реНрдпреВрдЬрд╝рд░ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рдЖрдВрддрд░рд┐рдХ рд╕рдВрд░рдЪрдирд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдкрддрд╛ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЕрдВрддрддрдГ, рдХреЛрдб рдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╡рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдпрд╣
рдЦрдЧреЛрд▓реАрдп рд╕рдВрдЦреНрдпрд╛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЫрд╛рдВрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдкреВрд░реНрдг рдЧрдгрдирд╛ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдУ (рд╕реА ^ рдПрди) рдХреЗ рдЖрдХрд╛рд░ рд╕реЗ рдХрд╛рдлреА рддреЗрдЬреА рд╕реЗ рд╣реЛрддрд╛ рд╣реИ) рд╕реА> 1)ред
рдирдИ рдкреАрдврд╝реА рдХреЗ рд▓реЗрдЦрдХ (рд╕рдореАрдХреНрд╖рд╛)
рддрд╛рд░реНрдХрд┐рдХ, рд▓реЗрдХрд┐рди рд╕реНрд╡рдд: рдкрд░реАрдХреНрд╖рдг рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХреА рдЗрддрдиреА рд╕рд░рд▓ рдирд┐рд░рдВрддрд░рддрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХрд╛ рдЙрджреНрднрд╡ рдирд╣реАрдВ рдерд╛ рдЬреЛ рдЖрдкрдХреЛ рдЕрдзреНрдпрдпрди рдХреЗ рддрд╣рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рдмрд╛рд░реАрдХрд┐рдпреЛрдВ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП, рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
рдЯреНрд░реИрдХрд┐рдВрдЧ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЯреИрдЧ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛
рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдпрд╛ рдЪрд┐рд╣реНрдирд┐рдд (
рджрд╛рдЧреА ) рдбреЗрдЯрд╛ рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдкреЗрд╢ рдХреА рдЧрдИ рд╣реИ - рдПрдХ рдмрд╛рд╣рд░реА рд╕реНрд░реЛрдд (рдорд╛рдирдХ рдЗрдирдкреБрдЯ рд╕реНрдЯреНрд░реАрдо, рдлрд╛рдЗрд▓реЗрдВ, рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░, рдЖрджрд┐) рд╕реЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╛рдкреНрдд рдбреЗрдЯрд╛ред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХрд╛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд╕рдорд╛рдзрд╛рди рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЗ рдПрдХ рд╕реЗрдЯ рдХреЛ рд░реЛрдХрдирд╛ рд╣реИ: рдЦреБрд▓рд╛, рдмрдВрдж, рдкрдврд╝рдирд╛, рд▓рд┐рдЦрдирд╛, рд▓реЗрд╕реЗрдХ (рдПрд╡рд▓рдВрдЪ, рдХреЗрдПрд▓рдИ)ред
рдХреЛрдб рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди
рдЕрдзреНрдпрдпрди рдХреЗ рддрд╣рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд░реВрдк рдореЗрдВ рдХрдо рд╣реЛ рдЧрдпрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдВрддрд░рд┐рдХ
рд╡реИрд▓рдЧреНрд░рд╛рдЗрдВрдб (рд╣рд┐рдорд╕реНрдЦрд▓рди) рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╛
llvm bytecode рдХрд╛рд░реНрдпрдХреНрд░рдо (KLEE), рдЬреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ, рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯ рдХреЛрдб рд╕рдВрднрд╛рд╡рд┐рдд рдЦрддрд░рдирд╛рдХ рдирд┐рд░реНрджреЗрд╢реЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╢реВрдиреНрдп рд╕реЗ рд╡рд┐рднрд╛рдЬрди рдпрд╛ рдПрдХ рдирд▓ рдкреЙрдЗрдВрдЯрд░ рдХреЛ рдбреАрдкрд░рд┐рдлрд╛рдпрд░ рдХрд░рдирд╛) рдФрд░ рдЙрдирдХреЗ рдСрдкрд░реЗрдВрдб рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдмреНрд░рд╛рдВрдЪрд┐рдВрдЧ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рднреА рдЪрд┐рд╣реНрдирд┐рдд рдбреЗрдЯрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИред рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддреЗ рд╣реБрдП, рдЙрдкрдХрд░рдг рдЪрд┐рд╣реНрдирд┐рдд рдбреЗрдЯрд╛ рдХреЗ рд▓рд┐рдП рддрд╛рд░реНрдХрд┐рдХ рд╕реНрдерд┐рддрд┐ рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдмреВрд▓рд┐рдпрди рдлреЙрд░реНрдореВрд▓реЛрдВ (
рдПрд╕рдПрдЯреА рд╕реЙрд▓реНрд╡рд░ ) рдХреЗ "рд╕реЙрд▓реНрд╡рд░" рдХреЗ рд▓рд┐рдП рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рднреЗрдЬрддрд╛ рд╣реИред
рд╕реИрдЯ рд╕реЙрд▓реНрд╡рд░ - рдмреВрд▓рд┐рдпрди рдлрд╝рд╛рд░реНрдореБрд▓реЛрдВ рдХреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ: рдХреНрдпрд╛ рджрд┐рдП рдЧрдП рд╕реВрддреНрд░ рд╣рдореЗрд╢рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╣рдореЗрд╢рд╛ рдирд╣реАрдВ, рддреЛ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдпрд╣ рдЧрд▓рдд рд╣реИред рдРрд╕реЗ
рд╕реЙрд▓реНрд╡рд░реЛрдВ рдХреЗ рдХрд╛рдо рдХреЗ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
рдкреНрд░рдореЗрдп рд╕реЗ рд▓реЗрдХрд░ рдЬреИрд╡ рд╕реВрдЪрдирд╛ рд╡рд┐рдЬреНрдЮрд╛рди рдореЗрдВ рдЖрдиреБрд╡рд╛рдВрд╢рд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рддрдХ
рд╕рд╛рдмрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред рдЗрд╕ рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпрдХреНрд░рдо рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдЕрд▓рдЧ рд╡рд┐рдЪрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг:
рдПрд╕рдЯреАрдкреА ,
рдорд┐рдиреАрд╕реИрдЯ ред
рдкрд░реНрдпрд╛рд╡рд░рдг рдореЙрдбрд▓рд┐рдВрдЧ
рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд░рдиреЗ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдмреВрд▓рд┐рдпрди рдлрд╝рд╛рд░реНрдореБрд▓реЛрдВ рдХреЗ "рд╕реЙрд▓реНрд╡рд░" рдХреЗ рд▓рд┐рдП рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рд╕реНрдерд┐рддрд┐ рдЙрддреНрдкрдиреНрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдирд╛рд▓рд╛рдЗрдЬрд╝рд░ рдХреЛ рдХрд╛рд░реНрдп рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓, рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХрд╛ рдкрддрд╛ рд╕реНрдерд╛рди (рдореЗрдореЛрд░реА) рдмреВрд▓рд┐рдпрди "рдЧреЛрддрд╛рдЦреЛрд░" рдХреЗ рд╕рд░рдгрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рджрд░реНрд╢рд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд░рд╛рд╕реНрддреЛрдВ рдХреА рдЦреЛрдЬ
"рд╕реЙрд▓реНрд╡рд░" рд╕реЗ рдПрдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрдкрдХрд░рдг рдЬрд╛рдВрдЪ рдХреЗ рддрд╣рдд рд╕рд╢рд░реНрдд рд╕рдВрдХреНрд░рдордг рдХреЛ рдкрд▓рдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдкрд░ рдПрдХ рд╢рд░реНрдд рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдпрд╛ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рдореЗрд╢рд╛ рд╕рд╣реА рдпрд╛ рдЧрд▓рдд рд╣реИред рд╣рд╛рд▓рдд рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдПрдХ рдирдпрд╛ рд╕реНрд╡рддрдВрддреНрд░ рдкрде рдмрдирд╛рддрд╛ рд╣реИ, рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдкрде рдФрд░ рд╢рд░реНрддреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддред рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдЦрд╛ рдЕрдиреБрджреЗрд╢ рдкрд░ рдкрде "
рдХрд╛рдВрдЯрд╛ ", рдЗрдирдкреБрдЯ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ред рдирдП рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдЕрдзреНрдпрдпрди рдХреЗ рддрд╣рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдкрд╣рд▓реЗ рдмрдВрдж рдХрд┐рдП рдЧрдП рдЖрдзрд╛рд░ рдмреНрд▓реЙрдХ рдХреЛ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕реА рддрд░рд╣ред рд╕рдВрдкреВрд░реНрдг рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП, рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд░рд╛рд╕реНрддреЛрдВ рдХреА рдкреВрд░реА рдЧрдгрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред рдкрдереЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдХреА рд╡реГрджреНрдзрд┐ рджрд░ рдХреЗ рдмрд╛рдж рд╕реЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЬрд╛рдирд╡рд░ рдмрд▓ рд╡рд┐рдзрд┐ (~ O (2 ^ n), рдЬрд╣рд╛рдВ n рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕рд╢рд░реНрдд рд╕рдВрдХреНрд░рдордгреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╣реИ) рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдХрдо рд╣реИ, рдпрд╣ рдЕрднреА рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрдирд╛ рд╣реБрдЖ рд╣реИред рдХреБрдЫ рд░рд╛рд╕реНрддреЛрдВ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рд╡рд┐рднрд┐рдиреНрди рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рд╣реИрдВред рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рд╡реЗ рдЙрд╕ рдкрде рдХреА рдкрд╕рдВрдж рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕рдмрд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЦреБрд▓рд╛ (рдирдП) рдмреЗрд╕ рдмреНрд▓реЙрдХ (рдПрд╡рд╛рд▓реНрдЪреЗ, рдХреЗрдПрд▓рдИ) рдФрд░ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрде (рдХреЗрдПрд▓рдИрдИ) рдХреА рдкрд╕рдВрдж рдХреЛ рдХрд╡рд░ рдХрд░рддрд╛ рд╣реИред
рд╣рд┐рдорд╕реНрдЦрд▓рди рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рджреЛрд╖ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рд╡рд╛рд▓рд╛ рдЙрдкрдХрд░рдг рд╣реИред рдПрд╡рд▓рд╛рдВрдЪ, рд╡рд╛рд▓реНрдЧреНрд░рд┐рдВрдб рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЧрддрд┐рд╢реАрд▓ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рд╖реНрдкрд╛рджрди рдкрде рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛ рдкрд░рд┐рдгрд╛рдо рдпрд╛ рддреЛ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдХреЛрдИ рддреНрд░реБрдЯрд┐ рд╣реЛрддреА рд╣реИ, рдпрд╛ рдирдП рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдЬреЛ рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдФрд░ рддрджрдиреБрд╕рд╛рд░, рдЕрднреА рддрдХ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЯреБрдХрдбрд╝реЗ рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реЛрдиреЗ рдкрд░, рд╣рд┐рдорд╕реНрдЦрд▓рди рдкреБрдирд░рд╛рд╡реГрддреНрдд рдЧрддрд┐рд╢реАрд▓ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЙрддреНрдкрдиреНрди рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдкрд░ рдмрд╛рд░-рдмрд╛рд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдирдП рд▓реЙрдиреНрдЪ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреА рдХрд╡рд░реЗрдЬ рдмрдврд╝ рдЬрд╛рддреА рд╣реИред
рдХрд╛рдо рдХреА рд╕рд╛рдорд╛рдиреНрдп рдпреЛрдЬрдирд╛
рд╣рд┐рдорд╕реНрдЦрд▓рди рдЙрдкрдХрд░рдг рдореЗрдВ 4 рдореБрдЦреНрдп рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ: рджреЛ Valgrind рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдореЙрдбреНрдпреВрд▓ (рдкреНрд▓рдЧрдЗрдиреНрд╕) -
Tracegrind рдФрд░
Covgrind , рдПрдХ STP рдмрд╛рдзрд╛ рд╕рддреНрдпрд╛рдкрди рдЙрдкрдХрд░рдг рдФрд░ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рдореЙрдбреНрдпреВрд▓ред
Tracegrind рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдП рдЧрдП рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЯреИрдЧ рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдХреЗ рдкреНрд░рд╡рд╛рд╣ рдХреА рдирд┐рдЧрд░рд╛рдиреА рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЕрд╕рдлрд▓ рднрд╛рдЧреЛрдВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдФрд░ рдЦрддрд░рдирд╛рдХ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИред рдЗрди рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рдПрд╕рдЯреАрдкреА рдХреЛ рдЙрдирдХреА рд╡реНрдпрд╡рд╣рд╛рд░реНрдпрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд╖рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ рдХреЛрдИ рднреА рд╕реНрдерд┐рддрд┐ рд╕рдВрднрд╡ рд╣реИ, рддреЛ рдПрд╕рдЯреАрдкреА рд╢рд░реНрддреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╕рднреА рдЪрд░ рдХреЗ рдЙрди рдореВрд▓реНрдпреЛрдВ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рдмрд╛рдЗрдЯ рд╕рд╣рд┐рдд) рдЬреЛ рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕рдЪ рдмрдирд╛рддреЗ рд╣реИрдВред
- рдпрджрд┐ рдЦрддрд░рдирд╛рдХ рдСрдкрд░реЗрд╢рди рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рд╢рд░реНрддреЗрдВ рд╕рдВрддреБрд╖реНрдЯ рд╣реИрдВ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рдирд┐рдпрдВрддреНрд░рдг рдореЙрдбреНрдпреВрд▓ рджреНрд╡рд╛рд░рд╛ рдлрд┐рд░ рд╕реЗ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдЗрд╕ рдмрд╛рд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдХреЗ) рддреНрд░реБрдЯрд┐ рдЗрдирдкреБрдЯ рдХреА рдкреБрд╖реНрдЯрд┐ рдХреЗ рд▓рд┐рдП рдЗрд╕реА рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╕рд╛рдеред
- рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рдЕрд╕рдлрд▓ рднрд╛рдЧреЛрдВ рдХреЛ рджрд░рдХрд┐рдирд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╡ рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдирдП рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓реЙрдиреНрдЪ рдХреЗ рд▓рд┐рдП рд╕рдВрднрд╛рд╡рд┐рдд рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕реЗрдЯ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреА рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдПрд╕рдЯреАрдкреА рдЙрдкрдХрд░рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдмрд╛рдж рдореЗрдВ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реБрд░реВ рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕рд╛рд░реА рдЗрдирдкреБрдЯ рдлрд╛рдЗрд▓реЗрдВ рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред
- рдЕрдЧрд▓рд╛, рдХрд╛рд░реНрдп рд╕рдмрд╕реЗ "рджрд┐рд▓рдЪрд╕реНрдк" рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рдЗрд╕ рд╕реЗрдЯ рд╕реЗ рдЪреБрдирдиреЗ рдХрд╛ рдЙрджрдп рд╣реЛрддрд╛ рд╣реИ, рдЕрд░реНрдерд╛рддреНред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдЬрд┐рд╕ рдкрд░ рддреНрд░реБрдЯрд┐ рд╣реЛрдиреЗ рдХреА рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдЙрд╕ рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреА рдЬрд╛рдиреА рдЪрд╛рд╣рд┐рдПред рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╣реЗрдпреБрд░рд┐рд╕реНрдЯрд┐рдХ рдореЗрдЯреНрд░рд┐рдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рдкрд╛рд╕ рдХрд┐рдП рдЧрдП рдмреЗрд╕ рдмреНрд▓реЙрдХреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ (рдмреЗрд╕ рдмреНрд▓реЙрдХ рдХреЛ рдпрд╣рд╛рдВ рдЗрд╕ рдЕрд░реНрде рдореЗрдВ рд╕рдордЭрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреИрд╕рд╛ рдХрд┐ рд╡реИрд▓рдЧреНрд░рд╛рдЗрдВрдб рдврд╛рдВрдЪреЗ рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рд╣реНрдпреВрд░рд┐рд╕реНрдЯрд┐рдХ рдореВрд▓реНрдп рдХреЛ рдорд╛рдкрдиреЗ рдХреЗ рд▓рд┐рдП, рдХреЛрдЧреНрд░рд┐рдВрдб рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдХрд╛рд░реНрдп рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд░рдирдЯрд╛рдЗрдо рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд░рдирд╛ рднреА рд╢рд╛рдорд┐рд▓ рд╣реИред рдХреЛрд╡рд░рдЧреНрд░рд┐рдВрдб рдЯреНрд░реЗрд╕рдЧреНрд░рд┐рдВрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рд╣рд▓реНрдХрд╛ рдореЙрдбреНрдпреВрд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдореВрд▓реНрдп рдХреЛ рдорд╛рдкрдирд╛ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЬрд▓реНрджреА рд╕рдВрднрд╡ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЙрдЪреНрдЪрддрдо рдореВрд▓реНрдп рдХреЗ рд╕рд╛рде рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВред

рдкреНрд░рддрд┐рдмрдВрдз
- рдПрдХ рдЪрд┐рд╣реНрдирд┐рдд рдЗрдирдкреБрдЯ рдлрд╝рд╛рдЗрд▓ рдпрд╛ рд╕реЙрдХреЗрдЯ
- рддреНрд░реБрдЯрд┐ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╢реВрдиреНрдп рд╕рдВрдХреЗрддрдХ рдХреЛ рд╢реВрдиреНрдп рд╕реЗ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдорд┐рдд рд╣реИред
рдкрд░рд┐рдгрд╛рдо
рд╣рд┐рдорд╕реНрдЦрд▓рди рдХреЗ рдмрдЧрдлрдВрдбрд┐рдВрдЧ рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЦреБрд▓реЗ рд╕реНрд░реЛрдд рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдкрд░ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- qtdump (libquicktime-1.1.3)ред рддреАрди рджреЛрд╖ рдирд▓ рд╕реВрдЪрдХ рдХреА рдбреЗрд░реЗрдлреЗрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реЗ рд╣реБрдП рд╣реИрдВ, рдПрдХ рдЕрдирдВрдд рд▓реВрдк рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рд╕рд╛рде, рджреВрд╕рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдПрдХ рдЧрд▓рдд рдкрддреЗ (рд╡рд┐рднрд╛рдЬрди рддреНрд░реБрдЯрд┐) рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдкреАрд▓ рд╣реИред рдХреБрдЫ рджреЛрд╖ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
- flvdumper ( gnash -0.8.6)ред рдПрдХ рджреЛрд╖ рдХреА рддрддреНрдХрд╛рд▓ рдШрдЯрдирд╛ рдЖрд╡реЗрджрди рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдмреВрд╕реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ рдПрдХ рдЕрдкрд╡рд╛рдж рдХреЗ рдХрд╛рд░рдг рд╣реЛрддреА рд╣реИ (рдмреВрд╕реНрдЯ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рдЖрдВрддрд░рд┐рдХ рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╢реВрдиреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ)ред рдЪреВрдВрдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реНрд╡рдпрдВ рдЕрдкрд╡рд╛рдж рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ рдЬреЛ рдХрд┐ рд╣реБрдЖ рд╣реИ, рдкреНрд░реЛрдЧреНрд░рд╛рдо SIGABRT рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рджреЛрд╖ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- cjpeg (libjpeg7)ред рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд╢реВрдиреНрдп рдорд╛рди рдкрдврд╝рддрд╛ рд╣реИ рдФрд░, рдЙрдЪрд┐рдд рд╕рддреНрдпрд╛рдкрди рдХреЗ рдмрд┐рдирд╛, рдЗрд╕реЗ рдПрдХ рднрд╛рдЬрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдЕрдкрд╡рд╛рдж рдФрд░ SIGFPE рд╕рд┐рдЧреНрдирд▓ рдХреЗ рд╕рд╛рде рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рд╕рдорд╛рдкреНрддрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рджреЛрд╖ рдбреЗрд╡рд▓рдкрд░ рджреНрд╡рд╛рд░рд╛ рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
- swfdump ( рд╕реНрд╡рдлрд╝рдЯрд▓реНрд╕-0.9.0 )ред рджреЛрдиреЛрдВ рджреЛрд╖реЛрдВ рдХреА рдШрдЯрдирд╛ рдирд▓ рд╕реВрдЪрдХ рдХреЗ рдбреЗрд░реЗрдлреЗрд░рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдЬреБрдбрд╝реА рд╣реБрдИ рд╣реИред
рдХреЗрдПрд▓рдИ рдПрд╡рд▓рд╛рдВрдЪ рд╕реЗ рдХреБрдЫ рдЕрд▓рдЧ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдпрд╣ рд╕рдВрджрд┐рдЧреНрдз рд╕реНрдерд╛рдиреЛрдВ рдХреА рддрд▓рд╛рд╢ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХреЛрдб рдХреЛ рдХрд╡рд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд░рд╛рд╕реНрддреЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рддрд╛ рд╣реИред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдХреЗрдПрд▓рдИрдИ рд╕реНрдХреАрдо рдПрд╡рд▓рд╛рдВрдЪ рдХреЗ рд╕рдорд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреНрдп рдмреБрдирд┐рдпрд╛рджреА рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЗрд╕рдХреА рд╕реАрдорд╛рдУрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдлрд╛рдпрджреЗ рджреЗрддрд╛ рд╣реИред
- Avalanche рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП Valgrind рдХреЗ рдЗрдВрд╕реНрдЯреНрд░реВрдореЗрдВрдЯреЗрд╢рди рдХреЗ рдмрдЬрд╛рдп, KLEE, llvm bytecode рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рддрд╛ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдпрд╣ рдЖрдкрдХреЛ рдХрд┐рд╕реА рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдПрдХ llvm рдмреИрдХрдПрдВрдб рд╣реИред
- рдмреВрд▓рд┐рдпрди рдмрд╛рдзрд╛рдУрдВ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, KLEE рднреА STP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
- KLEE рднреА рд▓рдЧрднрдЧ 50 рд╕рд┐рд╕реНрдЯрдо рдХреЙрд▓ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдХрдИ рдЖрднрд╛рд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдПрдВ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ рдЪрд▓рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВред
- рдПрд╕рдЯреАрдкреА рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдЕрдиреБрдХреВрд▓рди рдФрд░ рдХреИрд╢рд┐рдВрдЧред
рдХреЗрдПрд▓рдИ рдПрдХ
рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдЖрднрд╛рд╕реА рдорд╢реАрди рд╣реИ рдЬрд╣рд╛рдВ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рд╕рдорд╛рдирд╛рдВрддрд░ рдореЗрдВ (рд╢рдмреНрджрд╛рд╡рд▓реА рдХреЗрдПрд▓рдИрдИ:
рд░рд╛рдЬреНрдпреЛрдВ рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ) рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЕрдзреНрдпрдпрди рдХреЗ рддрд╣рдд рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╕реЗ рдПрдХ рдкрде рд╣реИред рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рд╢рд╛рдЦрд╛ рдкрд░ рдРрд╕реА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ (рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ) рдХреЗ рдХрд╛рдВрдЯреЛрдВ рдХрд╛ рдкреНрд░рднрд╛рд╡реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣рдореЗрдВ рдПрдХ рд╕рд╛рде рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкрдереЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдпрд╛рддреНрд░рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреВрдареЗ рдкрде рдХреЗ рд▓рд┐рдП, KLEE рдЙрд╕ рдкрде рдкрд░ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ рд╕реЗрдЯ рдХреЛ рдмрдЪрд╛рддрд╛ рд╣реИред
KLEE рдХреНрд╖рдорддрд╛рдПрдВ рдЖрдкрдХреЛ рдХрдо рд▓рд╛рдЧрдд рдХреЗ рд╕рд╛рде рдХрд┐рдиреНрд╣реАрдВ рднреА рджреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдорддреБрд▓реНрдпрддрд╛ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИрдВ (рдПрдХ рд╡реНрдпрд╛рдкрдХ рдПрдкреАрдЖрдИ рдкреНрд░рджрд╛рди рдХреА рдЬрд╛рддреА рд╣реИ) (
рдПрдХ рдХрд╛рд░реНрдпрд╢реАрд▓ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдк рдХреЗ рдЦрд┐рд▓рд╛рдл рд╕рдорд╛рди рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛, рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреА рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ)ред
рдирд┐рдореНрди рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ:
рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд mod_opt ( рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд x, рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд y ) {
рдЕрдЧрд░ ( y ( // y ) == y ) // рджреЛ рдХреА рд╢рдХреНрддрд┐?
рд╡рд╛рдкрд╕реА x & ( y x 1 ) ;
рдЕрдиреНрдпрдерд╛
рд╡рд╛рдкрд╕реА x % y ;
}
рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдЖрдзреБрдирд┐рдХ ( рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд x, рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд y ) {
рд╡рд╛рдкрд╕реА x % y ;
}
рдЗрдВрдЯ рдореЗрди ( ) {
рдЕрд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд x, y ;
рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдмрдирд╛рдирд╛ ( рдФрд░ x, рдЖрдХрд╛рд░реЛрдлрд╝ ( x ) ) ;
рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдмрдирд╛рдирд╛ ( рдФрд░ y, рдЖрдХрд╛рд░-рдЖрдХрд╛рд░ ( y ) ) ;
рдореБрдЦрд░ ( mod ( x, y ) == mod_opt ( x, y ) ) ;
рд╡рд╛рдкрд╕реА 0 ;
}
рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ KLEE рдХреЛ рдЪрд▓рд╛рдХрд░, рдЖрдк рдЗрдирдкреБрдЯ рдорд╛рдиреЛрдВ рдХреА рд╕рдВрдкреВрд░реНрдг рд╢реНрд░реЗрдгреА рдореЗрдВ рджреЛ рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╕рдорддрд╛ рдХреЛ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ (y! = 0)ред рджрд╛рд╡реЗ рдореЗрдВ рд╢рд░реНрдд рдкреВрд░реА рди рд╣реЛрдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, KLEE, рд╕рднреА рд╕рдВрднрд╛рд╡рд┐рдд рд░рд╛рд╕реНрддреЛрдВ рдХреА рдЧрдгрдирд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ рдХрд┐ рджреЛ рдХрд╛рд░реНрдп рдорд╛рдиреЛрдВ рдХреА рдкреВрд░реА рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкрд░ рдмрд░рд╛рдмрд░ рд╣реИрдВред
рдкрд░рд┐рдгрд╛рдо
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░реАрдХреНрд╖рд╛ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдЦрдХреЛрдВ рдиреЗ рдХреЛрд░реБрдЯрд┐рд▓реНрд╕ 6.11 рдореЗрдВ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рдкреВрд░реЗ рд╕реЗрдЯ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ред рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХрд╛ рдФрд╕рдд рдкреНрд░рддрд┐рд╢рдд 94% рдерд╛ред рдХреБрд▓ рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдо рдиреЗ рдЗрдирдкреБрдЯ рдбреЗрдЯрд╛ рдХреЗ 3321 рд╕реЗрдЯ рдЙрддреНрдкрдиреНрди рдХрд┐рдП, рдЬрд┐рд╕рд╕реЗ рдХреЛрдб рдХреЗ рд╕рдВрдкреВрд░реНрдг рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкреНрд░рддрд┐рд╢рдд рдХреЛ рдХрд╡рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рд╕рд╛рде рд╣реА, 10 рдЕрджреНрд╡рд┐рддреАрдп рддреНрд░реБрдЯрд┐рдпрд╛рдВ рдкрд╛рдИ рдЧрдИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рдкреИрдХреЗрдЬ рдХреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреЛрд╖ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдиреНрдпрддрд╛ рджреА рдЧрдИ рдереА, рдЬреЛ рдПрдХ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рдЙрдкрд▓рдмреНрдзрд┐ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕реЗрдЯ рдХреЛ 20 рд╕реЗ рдЕрдзрд┐рдХ рд╡рд░реНрд╖реЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдзрд┐рдХрд╛рдВрд╢ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкреНрд░рддрд┐рдмрдВрдз
- рдмрд╣реБ-рдереНрд░реЗрдбреЗрдб рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ, рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдлреНрд▓реЛрдЯрд┐рдВрдЧ-рдкреЙрдЗрдВрдЯ рдбреЗрдЯрд╛ (рдПрд╕рдЯреАрдкреА рдкреНрд░рддрд┐рдмрдВрдз), рдХреЛрдбрд╛рдВрддрд░рдХ рдЖрд╡реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╕рдорд░реНрдерди рдирд╣реАрдВред
- рдкрд░реАрдХреНрд╖рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЛ llvm-рдмрд╛рдЗрдЯ рдХреЛрдб (рд╕рд╛рде рд╣реА рдЗрд╕рдХреЗ рдкреБрд╕реНрддрдХрд╛рд▓рдпреЛрдВ!) рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
- рдкреНрд░рднрд╛рд╡реА рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдХреЛрдб рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖
рдмреЗрд╢рдХ, рдбрд╛рдпрдирд╛рдорд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЙрдкрдХрд░рдг рдХреЗ рдмреАрдЪ рдореЗрдВ рдЕрдкрдиреА рдЬрдЧрд╣ рдкрд╛рдПрдЧрд╛ рдЬреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рдЯреАрдореЛрдВ рдХреЛ рдХрд╛рд░реНрдп рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдЦреЛрдЬрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рднрд╛рд╡реА рддрд░реАрдХрд╛ рд╣реИ, рд╕рд╛рде рд╣реА рдЙрдирдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдХрд╛ рдкреНрд░рдорд╛рдг рднреА! рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдРрд╕реЗ рдЙрдкрдХрд░рдг рдмрд╕ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИрдВ (рдорд┐рд╢рди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░: рдЖрд░рдЯреАрдУрдПрд╕, рдЙрддреНрдкрд╛рджрди рдкреНрд░рдмрдВрдзрди рдкреНрд░рдгрд╛рд▓реА, рд╡рд┐рдорд╛рдирди рд╕реЙрдлреНрдЯрд╡реЗрдпрд░, рдФрд░ рдЗрд╕реА рддрд░рд╣)ред
рдирд┐рд╖реНрдХрд░реНрд╖
рдпрд╣ рд▓реЗрдЦ рдХреЗ рд╡рд┐рд╖рдп рдХреЛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ рдЧрдИ рд╣реИ (рд╣рд┐рдорд╕реНрдЦрд▓рди рдФрд░ рдХреЗрдПрд▓рдИ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдЕрдиреБрднрд╡ рдХреЗ рдкрд░рд┐рдгрд╛рдо, рд╕рд╛рде рд╣реА рдХреЗрдПрд▓рдИ рдФрд░ рдПрд╡рд▓рд╛рдВрдЪ рдХреА рддреБрд▓рдирд╛, рдПрд╕ 2 рдИ рдХреА рд╕рдореАрдХреНрд╖рд╛ (https://s2e.epfl.ch) (рдЪрдпрди рдкреНрд░рддреАрдХрд╛рддреНрдордХ рдирд┐рд╖реНрдкрд╛рджрди)) рд╣реИрдмрд░ рдХреЗ рдкрд╛рдардХреЛрдВ рд╕реЗ рд╕рдХрд╛рд░рд╛рддреНрдордХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдзреАрди рд╣реИред
рд▓реЗрдЦ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЯреБрдХрдбрд╝реЗ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ:
рд╣рд┐рдорд╕реНрдЦрд▓рди_рдХрд╛рд░реНрдЯрд┐рдХрд▓ ,
рдХреЗрдПрд▓рдИрдИ ,
рдлрд╝рдЬрд╝ рдкрд░реАрдХреНрд╖рдг рдХрд╛ рдЙрдкрдпреЛрдЧ ред