37
גרא וייס המחלקה למדעי המחשב אוניברסיטת בן- גוריון אימות תוכנה בשיטות פורמאליות

תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

גרא וייס

המחלקה למדעי המחשב

גוריון-אוניברסיטת בן

אימות תוכנה בשיטות פורמאליות

TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA

Page 2: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

!לוגיקה בפעולה = הסקת מסקנות אוטומטית 2

הלוגיקה נולדה כחלק ממדע הפילוסופיה:

כדי להבין את תהליכי הסקת המסקנות האנושיים

וכדי לתאר במדויק מה המשמעות של הסקת מסקנות נכונה

עם ההתפתחות של מדעי המחשב דברים השתנו:

(מעגלים לוגיים)לוגיקה היא היסוד לפעולת המחשב

המחקר במדעי המחשב מניע מחקר בלוגיקה, בנוסף

בקורס הזה נשתמש במחשבים למימוש חישוב לוגי:

כדי שהמחשב יבצע הסקת מסקנות עבורנו

ללא תלות באפליקציה, כדי לעשות זאת באופן כללי

במטרה לעלות על שגיאות לוגיות בתכנון ומימוש תוכנה

Page 3: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

פורמליותשיטות 3

לאפיוןמתמטיות טכניקות שיטות פורמליות הן , במדעי המחשב ובהנדסת תוכנה , וחומרהפיתוח ואימות תוכנה

בתחומים הנדסיים כמו , המוטיבציה לשימוש בשיטות פורמליות היא הציפיה התכנוןמתמטית מסודרת יכולה לתרום לאמינות וליציבות שאנליזה , אחרים

ובגלל חוסר ידע בגלל העלות הגבוהה הכרוכה בשימוש בשיטות פורמליות, כיום , גבוההקריטיות בהן לבטיחות ולאמינות חשיבות במערכות הן משמשות בעיקר

Page 4: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

מידע כללי4

גרא וייס: מרצה

37בבניין 123חדר : משרד

11:00-ל 9:00ימי שלישי : שעות קבלה

דואר אלקטרוני: [email protected]

הקורסאתר :

http://www.cs.bgu.ac.il/~fvm121

Page 5: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

מרכיבי הציון5

מהציון הסופי 33%כל אחד במשקל : שני בחנים

שאר הציון יבוסס על תרגילי הבית:

אפשר להגיש בזוגות ובשלישיות

פ דרגת הקושי"המשקל היחסי בין התרגילים ייקבע ע

ציון עובר בקורס מותנה בקבלת ציון עובר בשני הבחנים

השתתפות בבחנים היא חובה

Page 6: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

נושאי ההרצאות6

מודלים המבוססים על מערכות מעברים(transition systems ) ככלי לתיאור התנהגות .תוכנה סדרתית ומקבילית

תכונות בטיחות : של מערכות דינאמיותתכונות סוגי(safety properties) , תכונות חיות(liveness ) ותכונות הגינות(fairness.)

של רגולריות נראה איך גרסאות שונות של אוטומטים סופיים מתאימים לאימות תכונות .מערכות

הטמפורליתנציג את שפות הלוגיקה (temporal logic )LTL ו-CTL נציג . ונשווה ביניהן .אלגוריתמים לבדיקת מודל מול דרישות בלוגיקות אלה וננתח את הסיבוכיות שלהם

נדון גם בטכניקות להתגבר על בעיית ריבוי המצבים , אם ירשה הזמן(state explosion ) (.simulation and bi-simulation relations)סימולציה -באמצעות יחסי סימולציה ובי

Page 7: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

ספרות7

Christel Baier and Joost-Pieter Katoen. Principles of Model Checking

Edmund M. Clarke, Orna Grumberg, and Doron A. Peled. Model Checking

Zohar Manna and Amir Pnueli ,Temporal Verification of Reactive Systems

http://www.underwar.co.il/document-details.asp?id=326 ספר בעברית

Page 8: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

Therac-25 קרינת יתר במכונת 8

מכונת הקרנה לטיפול בחולי סרטן

(מהמותר 100בערך פי )לפחות שישה מקרי מינון יתר

שלושה חולי סרטן נפטרו

שגיאה בתוכנת הבקרה : מקור(race condition)

Page 9: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

AT&Tנפילת רשת 9

גדולים מרשת יורק גורמת להשבתת חלקים-תקלה בעיר ניו שעות 9הטלפוניה בארצות הברית למשך

מאות מיליוני דולרים: עלות

שגיאת תוכנה : גורם( פרוש שגוי של פקודתbreak ב-C)

Page 10: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

Ariane 5התרסקות הטיל 10

מליון יורו 500-יותר מ: עלות

שגיאה בתוכנת הבקרה: מקור

המרה שגויה מ-floating point signed integer-ל

הוחלט לנטרל קוד טיפול , משיקולי יעילות ADAבשפת אוטומטי הקיים

Page 11: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

פנטיוםבמעבד FDIVשגיאת 11

FDIV=floating point division unit

פעולות חילוק נקודה צפה מסויימות נתנו תוצאה שגויה

פעולות אקראיות תתן תוצאה לא מדויקת 9,000,000-אחת מ

פגיעת ( + הוחלפו כל המעבדים התקולים)מליון דולר 500: הפסד תדמית לחברה

שגיאה במימוש אלגוריתם לחלוקה ביצוג נקודה צפה: מקור

Page 12: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

?אימות תוכנה למה12

תוכנה נכנסת ליותר אפליקציות:

מערכות משובצות מחשב

מערכות תקשורת

מערכות תחבורה

אמינות המערכת תלויה בתוכנה !

יקרותשגיאות תוכנה עלולות להיות הרסניות ו:

( ... ,אלקטרוניקה, רכב )תוכנה במוצרים בייצור המוני

( ... ,מטוס, כור אטומי )תוכנה במערכות קריטיות

Page 13: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

?מהו אימות תוכנה13

הגדרה: בדיקה שהמערכת מקיימת את הדרישות שהוגדרו לה

אימות(verification ) ≠ תיקוף(validation) נכוןבדיקה שאנחנו בונים דברים : אימות

נכוןבדיקה שאנחנו בונים את הדבר ה: תיקוף

Page 14: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

14 שיטות אחרות לאימות תוכנה

סקר קוד בלי הרצת התוכנה, מעבר ידני על הקוד: שיטה סטאטית

60%ממוצע . מהשגיאות 93%-ל 31%מגלה בין

(טעות באלגוריתם, מקביליות) קשה לגלות שגיאות מסובכות

בדיקות מריצים את הקוד ומחפשים התנהגות שגויה: שיטה דינאמית

קצהקשה לעלות על מקרי )דגש על שימוש נפוץ

ניתן לבצע רק אחרי פיתוח הקוד

מספרים: 30% מעלות פרויקט תוכנה מושקעת בבדיקות 50%עד

יותר זמן ומאמץ מושקע באימות מאשר בפיתוח

שורות קוד 1,000-שגיאה ל: רמת שגיאה מקובלת

Page 15: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

טוב מוקדם ממאוחר -" צייד באגים"15

50%

40%

30%

20%

10%

0%

שימוש בדיקות ניפוי תכנות תכנון ניתוח

הכנסת שגיאות

%-ב

גילוי שגיאות

%-ב

עלות שגיאות

$-ב

(לא ליניארי)ציר הזמן

12.5K$

10K$

7.5K$

5K$

2.5K$

0

Page 16: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

שיטות פורמאליות16

תכנון , העוסק בשיטות מתמטיות להגדרת דרישותבמתמטיקה שימושית תחום תוכנה וחומרה אימותו

שיטות פורמאליות מאפשרות:

של תהליך הפיתוחבשלב מוקדם שילוב אימות

(תפישת שגיאות שקשה לגלות בשיטות אחרות)יותר אפקטיביותשיטות אימות

(אוטומציה)זמן ועלויות האימות קיצור

שימוש בשיטות פורמאליות:

על ידי גופי התקינה ורשויות הבקרהנדרש

רבותנמצא בשימוש בחברות

וייצור ...( ,צבא ,רפואה, תחבורה, חלל, תעופה)בעיקר אלה המפתחות מערכות קריטיות ...(, כלי רכב, שבבים)המוני

Page 17: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

כונה P 17שיטות אימות פורמאלי לת

שיטות דדוקטיביות

ש מתמטית הוכחהמציאת : שיטהP נכונה

תוכנות עזר :Theorem Prover / Proof Assistant / Proof Checker

כאשר המערכת בעלת אופי מתמטי: ישימות

בדיקות מודל(Model Checking )

שבדיקה ממוכנת : שיטה- Pמתקיימת בכל ריצה אפשרית

תוכנות עזר :model checkers (Spin, NuSMV, UPPAAL, … )

(סופית)מצבים כשניתן לתאר את התנהגות המערכת כמכונת : ישימות

סימולציות ובדיקות מבוססות מודל

בדיקת : שיטהP הפעלת כל התנהגויות המודלי "ע

אם ניתן לבנות מודל פשוט וממצה: ישימות

Page 18: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

?למה לא בדיקות וסימולציה18

לאימות פורמאלי( נפוצה מאוד)חלופה:

(לבדיקה)או מימוש ( לסימולציה)לוקחים מודל

(וקטור הבדיקה)מפעילים עם מספר קלטים

נכון"בודקים שהמערכת מגיבה"

מגרעות משמעותיות:

(אולי אינסופי)מספר הקלטים וההתנהגויות האפשריות גדול מאוד

נבדקוהכשל ההרסני עשוי להיות בהנתהגויות שלא

לא להוכיח נכונות, יכולה לגלות שגיאותבדיקה

רק תוספת, לבדיקותאינו תחליף ניתוח פורמאלי : חשוב להדגיש

Page 19: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

אבני דרך באימות פורמאלי19

תוכנה לנכונות ( ידנית)הוכחה מתמטית(Turing, 1940)

סדרתיות שיטות מבוססות תחביר לתוכנות(Hoare, 1969)

האם התוכנית מחשבת את הפלט הנכון. עבור קלט מסויים?

בתחשיב יחסים ק מבוסס על כללי הס(predicate logic)

תגובתיות שיטות מבוססות תחביר לתוכנות(Pnueli, 1977)

מטפל בתכונות המתייחסות למצבים במהלך החישוב

ק בלוגיקת זמן (temporal logic)מבוסס על כללי הס

אימות אוטומטי של תוכנות מקביליות

ק מבוסס סריקת מודל במקום כללי הס

(לוגית)בדיקה האם התוכנה המקבילית מקיימת תכונה

Page 20: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

ק דוגמאות לכללי הס 20

:הצבה

:הרכבה סדרתית

:תנאי

:לולאה

𝑥 < −5 𝑥 ≔ 𝑥 + 5 𝑥 < 0

𝑝 𝑆1 𝑟 𝑟 𝑆2 𝑞

𝑝 𝑆1; 𝑆2 𝑞

𝑝 ∧ 𝐵 𝑆1 𝑞 𝑝 ∧ ¬𝐵 𝑆2 𝑞

𝑝 if 𝐵 then 𝑆1els𝑒 𝑆2 𝑞

𝑝 ∧ 𝐵 𝑆 𝑝

𝑝 while 𝐵 do S 𝑝 ∧ ¬𝐵

pre condition post condition

Page 21: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

פרס טיורינג21

אלן טיורינגAlan Mathison Turing (1912-1954) מפתח מודל לתיאור מתמטי של מחשבים .ממניחי היסודות למדעי המחשב, היה מתמטיקאי בריטי.

פרס טיורינג ניתן על ידי ה-ACM ,בגין הישג יוצא דופן בתחום מדעי המחשב, האגודה למכונות מחשוב .

שאינו כולל פרסים בתחומי המתמטיקה ומדעי , לפרס נובל, מבחינת יוקרתו, בתחום זה שקול הפרס .המחשב

חתני פרס טיורינג בולטים: 1968 :המינגרד 'ריצ

1972 :דייקסטרה אדסחר

1974 : קנותדונלד'

1976 :מיכאל רבין ודנה סקוט

1996 :אמיר פנואלי

2002 : לאונרד אדלמן ועדי שמיר, ריבסטרונלד ,(RSA)

2008 : סיפאקיס וסף'וג אמרסוןאלן , קלארקאדמונד

Page 22: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

1996פרס טיורינג לשנת 22

For seminal work introducing into

computing science and for outstanding contributions to

program and system verification

לתחום מדעי המחשב ועל ( טמפורליתלוגיקה )על הכנסת תרומה רבה לתחום אימות תוכנה ומערכות

אמיר פנואלי

Page 23: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

2008פרס טיורינג לשנת 23

סיפאקיס וסף'וג אמרסוןאלן , קלארקאדמונד

For their roles in developing into a

highly effective , widely adopted

in the hardware and software industries.

יעילה כטכנולוגיית על תפקידם בפיתוח שיטת ביותר שאומצה באופן נרחב בתעשיות התוכנה והחומרה

Page 24: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

אימות באמצעות בדיקות מודל

(Model Checking)

24

מערכת

מידול

דוגמה נגדית

בדיקות מודל(Model Checking)

דרישות

פירמול

תכונות פורמליות

מודל של המערכת

סימולציההתכונות הוכחה

Page 25: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

? (Model Checking)מה זה בדיקות מודל 25

בודקים אם התכונה , מודל של המערכת ותכונה פורמאליתבהינתן . במודל באמצעות תוכנה( למצב מסויים)מתקיימת

.אוטומטית לאימות היא טכניקה( Model Checking)בדיקות מודל

Page 26: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

?מהם המודלים26

מערכות מעברים(Labeled Transition Systems)

מצבים מתויגים(labeled )י ערכי אמת לפרדיקטים בסיסים"ע

יחס מעבר בין המצבים

(כדי לאפשר הרכבה)מעברים מתוייגים בפעולות

ניתן לתאר:

תוכנה

מערכות מרובות תהליכים

פרוטוקולי תקשורת

מעגלי חומרה

מה לא?

Page 27: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

?מהן התכונות27

דוגמאות:

האם המערכת יכולה להגיע לנעילה הדדית(deadlock)?

האם תהליכים יכולים להיות יחד בקטע קריטי(critical section)?

האם התוכנה מספקת את הפלט הנכון?

לוגיקת זמן(temporal logic:)

לוגיקה מסדר ראשון(propositional logic ) בתוספת אופרטורים מודלייםבסוף"המסמן -ו" תמיד"המסמן כמו "ל

אינטרפטציה מעל סדרות מצבים(linear)

או מעל עצים אינסופיים של מצבים(branching)

פנואליאמיר

Page 28: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

NASAשל Deep Space-1חללית 28

1998שוגרה בשנת

מודולים שונים של החללית נבדקו באמצעות טכניקות בדיקות (.Model Checking)מודל

Page 29: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

דוגמאת קוד קטנה29

process Inc = while true do if x < 200 then x := x + 1 od

process Dec = while true do if x > 0 then x := x − 1 od

process Reset = while true do if x = 200 then x := 0 od

?(כולל) 200-ל 0תמיד בין xהאם

:מערכת

:תכונה רצויה

Page 30: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

Promelaמידול באמצעות 30

int x=0;

proctype Inc() {

do :: true if :: (x < 200) x=x+1 fi od }

proctype Dec() {

do :: true if :: (x > 0) x=x-1 fi od }

proctype Reset () {

do :: true if :: (x == 200) x=0 fi od }

init {

atomic{ run Inc(); run Dec(); run Reset() }

}

Page 31: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

?איך לבדוק

31

200-ל 0בין x-שבודק ש" מוניטור"מוסיפים למודל

proctype Check() {

assert (x >= 0 && x<= 200)

}

init { atomic{ run Inc(); run Dec(); run Reset() ; run Check()}

}

Page 32: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

דוגמא נגדית32

!המחשב מצא שגיאה במודל באופן אוטומטי

Page 33: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

תיקון השגיאה33

int x=0;

proctype Inc() {

do :: true atomic{ if :: (x < 200) x=x+1 fi } od }

proctype Dec() {

do :: true atomic{ if :: (x > 0) x=x-1 fi } od }

proctype Reset () {

do :: true atomic{ if :: (x == 200) x=0 fi } od }

init {

atomic{ run Inc(); run Dec(); run Reset() }

}

Page 34: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

תהליך בדיקות מודל34

שלב המידול בונים מודל המתאר את המערכת הנבדקת

מבצעים סימולציות למטרת"Sanity Check"

כותבים תכונות שרוצים לבדוק

שלב ההרצה מריצים את ה-model checker נכונות התכונותלבדוק כדי

שלב האנליזה התכונה הוכחה כנכונה?

(אם יש)בודקים תכונות נוספות

התכונה הוכחה כשגויה? ...המערכת או התכונה ומנסים שוב, מתקנים את המודל

אין מספיק זמן או זיכרון לבדוק את התכונה? מנסים לפשט את המודל

Page 35: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

יתרונות שיטת בדיקות מודל35

(,פרוטוקולים, תוכנה, חומרה)ניתנת לשימוש רחב...

(רק התכונות הרלוונטיות ביותר)מאפשרת אימות חלקי

(תוכנה המופעלת בלחיצת כפתור)לאוטומציה מלאה פוטנציאל

בתעשיות החומרה והתוכנהוכחה כשימושית ה

כאשר התכונה אינה מתקיימתדוגמא נגדית ניתנת

מתמטיתתורה מבוססת על

ו (להבדיל מבדיקות)תסריטים נפוצים נת לא מכ

Page 36: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

חסרונות שיטת בדיקות מודל36

תגובתיותדגש על זרימת הבקרה במערכות (reactive), פחות על חישובים ומבני נתונים

איכות המודלאיכות האימות תלויה ב

של המודל גדול או אינסופימספר המצבים לא ישים אם

עם זאת:

שיטה אפקטיבית למציאת שגיאות תכנון ומימוש

Page 37: תוילאמרופ תוטישב הנכות תומיאfvm121/wiki.files/l1.pdf · תואצרהה יאשונ תוג הנתה רואיתל ילככ )transition systems( םירבעמ

סיפורי הצלחה37

אבטחת מידע :

פרוטוקול הצפנהNeedham-Schroder

שנים 17נמצאה שגיאה שנשארה חבויה במשך

מערכות תחבורה

מצבים 10476נבדק מודל תנועת רכבות בעל

בדיקת קודC, Java, C++

חברות כמו ( ופיתוח)בשימושMicrosoft ,Digital ו-NASA

בדיקת התאמת : תחום הצלחהdevice driver

תוכנה בתוכניות החלל הנכחית והקודמות

NASA’s Mars Pathfinder, Deep Space-1, JPL LARS group