ערן יהב

ערן יהב (נולד ב-1 באוקטובר 1973) הוא מדען מחשב ישראלי המתמחה בהנדסת תוכנה. יהב הוא פרופסור חבר בפקולטה למדעי המחשב בטכניון, ויועץ בכיר בחברת הסטארטאפ הישראלית Codota. יהב נולד ב-1973. בשנת 1996 סיים את לימודי התואר הראשון בפקולטה למדעי המחשב בטכניון. עם סיום התואר התגייס כמהנדס תוכנה לצה"ל, שם שירת עד שנת 2001. בשנה זו גם התחיל את לימודי הדוקטורט שלו במדעי המחשב באוניברסיטת תל אביב, אותם סיים בשנת 2004. בין השנים 2004–2011 עבד במעבדות המחקר של IBM. בשנת 2011 הצטרף כמרצה בכיר לסגל ההוראה של הפקולטה למדעי המחשב בטכניון, ומשנת 2013 מכהן כפרופסור חבר בסגל הפקולטה. תואר ראשון (Bsc) במדעי המחשב מהטכניון. תואר שלישי (PhD) במדעי המחשב מאוניברסיטת תל אביב עליו זכה בשני פרסים: Maus Excellence Award Levy Eshkol Doctoral Excellence Scholarship תחומי המחקר בהם יהב עוסק הם: ניתוח תוכניות, אינטרפרטציה אבסטרקטית, אימות תוכנה, סינתזה של תוכנה, מערכות מקביליות ומבוזרות, שפות תכנות והנדסת תוכנה. במהלך השנים הוא השתתף בכתיבה של מעל 100 מאמרים, שצוטטו למעלה מ-1900 פעמים במאמרים שונים. מדד h-index שלו הוא 25, ומדד ה-i10-index שלו הוא 42. כחלק ממחקריו בתחום התוכנה, עוסק יהב בשימוש בדוגמאות קיימות של קוד בתהליך של כתיבת תוכנה. השימוש בדוגמאות קיימות מיועד להכוונת המתכנת בכתיבת הקוד ולהקלה עליו בהתמודדות עם ממשקים (APIs) מורכבים, על ידי כך שבתהליך כתיבת הקוד המתכנת ישלים את התוכנית אותה הוא כותב בעזרת חיפוש במאגרי קוד קיימים. על מנת לאפשר את החיפוש, מתבצעת הצגה סמנטית של קוד (למשל באמצעות אוטומטים) עבור הקוד אותו המתכנת רוצה להשלים, וכן עבור הקוד הקיים במאגר הנתונים בו מתבצע החיפוש. במהלך החיפוש במאגר מתבצעת התאמת הקשר (context matching) בין הקוד החלקי שהוכנס כשאילתה לחיפוש לבין דוגמאות הקוד הקיימות במאגר, ובסופו מוחזרות למתכנת התוצאות המתאימות ביותר. תוצאות החיפוש הן דוגמאות של קוד המהוות השלמות אפשריות לשאילתה. במסגרת עבודתו בחברת IBM פיתח יהב את הפרויקט "SAFE", תוכנה לבדיקת נכונות של תוכניות שנכתבו ב-Java. בהינתן תוכנית, "SAFE" בודקת אם היא עומדת במפרט דרישות מסוים באמצעות אנליזה סטטית של קוד המקור שלה וללא צורך בהרצתה. במהלך האנליזה מתבצעת בדיקה דקדקנית של מצב האובייקטים שבה, אפילו כאשר בתוכנית נעשה שימוש ב-aliasing . המטרה בביצוע הבדיקה של מצב האובייקטים בתוכנית נתונה היא לזהות באופן סטטי (ללא הרצה של התוכנית) אם הרצתה עשויה לגרום לביצוע פעולה אסורה על אובייקט כתלות במצבו. SAFE מאפשר רמות שונות של דיוק בבדיקת הנכונות. רמות אלו תלויות בעיקר באופן בו נעשית ההתמודדות עם aliasing. Allon Fellowship for Outstanding Young Researchers- מהמועצה הישראלית להשכלה גבוהה, אוקטובר 2010 Andre Deloro Career Advancement Chair in Engineering- מהטכניון, אוקטובר 2009 Maus Excellence Award- מאוניברסיטת תל אביב, אפריל 2004 Levy Eshkol Doctoral Excellence Scholarship- ממשרד המדע, אוקטובר 2002 IBM Pat Goldberg Memorial Best Paper Award- ממעבדות המחקר של IBM, אוקטובר 2007 ACM SIGSOFT Distinguished Paper Award- מ-ACM SIGSOFT, דצמבר 2006. ACM SIGSOFT Distinguished Paper Award- מ-ACM SIGSOFT, דצמבר 2007. ערן יהב, ברשת החברתית LinkedIn ערן יהב, באתר dblp ערן יהב, באתר גוגל סקולר דף הבית של פרופסור ערן יהב, באתר הפקולטה למדעי המחשב העמוד של פרופסור ערן יהב, באתר Researchgate. Programming with Millions of Examples - תכנות באמצעות מיליוני דוגמאות- הרצאה מצולמת של פרופסור ערן יהב באתר Youtube. פרויקט "SAFE", בעמוד הבית של פרופסור ערן יהב באתר הפקולטה למדעי המחשב. פרויקט מתקפת סייבר על מערכת “Waze” שביצעו סטודנטיות מהטכניון בשנת 2014 בהנחייתו של ערן יהב. אתר codota נתונים מ העמוד של פרופסור ערן יהב באתר linkedin. ערך מדד ה-i10-index עבור חוקר הוא מספר הפרסומים שלו שצוטטו למעלה מ-10 פעמים במאמרים שונים. i10-index בוויקיפדיה האנגלית נתונים אלו חושבו לפי google-scholar Symbolic Automata for Static Speciﬁcation Mining Typestate-Based Semantic Code Search over Partial Programs קיצור עבור Scalable And Flexible Error detection and verification Continuous Code-Quality Assurance with SAFE אובייקט מטיפוס מסוים בתוכנית יכול להיות באחד ממספר מצבים מסוימים בכל רגע במהלך הריצה של התוכנית. קבוצת הפעולות (כמו קריאה למתודות) שמותר להפעיל עליו ברגע נתון תלויה במצב בו הוא נמצא באותו הרגע, והפעלתן עליו עשויה לשנות את מצבו. aliasing הוא מצב בו ניתן לגשת לנתון מסוים בזיכרון דרך שמות מזהים שונים בתוכנית. במצב זה, שינוי של הנתון דרך מזהה מסוים יגרום לשינוי הערכים המקושרים לשאר המזהים של הנתון באופן שעשוי להיות בלתי צפוי למתכנת או למתבונן בקוד, דבר המקשה על הבנה וניתוח של תוכניות. aliasing בוויקיפדיה האנגלית Effective Typestate Verification in the Presence of Aliasing פעולות אסורות כתלות במצב האובייקט יכולות להיות שימוש באובייקט שלא אותחל, שימוש במשאב שנסגר ועוד. בכנס ISSTA-2006 על מאמרו: "Static Specification Mining Using Automata-Based Abstractions" אתר ISSTA- International Symposium on Software Testing and Analysis בכנס ISSTA-2007 על מאמרו: "Effective Typestate Verification in the Presence of Aliasing”. פרויקט מתקפת הסייבר על "Waze" באתר הטכניון. פרויקט מתקפת הסייבר על "Waze" באתר "Geek time". פרויקט מתקפת הסייבר על "Waze" באתר "ערוץ 7". פרויקט מתקפת הסייבר על "Waze" באתר "מעריב השבוע". פרויקט מתקפת הסייבר על "Waze" באתר "הידען". פרויקט מתקפת הסייבר על "Waze" באתר "The Hacker News". פרויקט מתקפת הסייבר על "Waze" באתר "Popular Science".