דף הבית |   פוקוס חברות   |   שיחת היום   |   המנכ"לים   |   דרושים   |   מתחמים   |   הבמה  
 
  כניסת חברה   |   אתר סלולארי אתר סלולארי  
ידעטק - מנוע חיפוש הייטק
חברות   חדשות   אנשים   דרושים   מילון  
חיפוש מתקדם
  מציאת פתרון טכנולוגי   |   חברות הייטק   |   פרסם אצלנו  
  Private Zone:     Login     Dashboard   |   Jobs   |
 
  הישאר מעודכן!    צור התראת דוא"ל עבור:  Trinity Software and Beyond
חדשות
שימוש בניתוח סטטי למציאת באגים חבויים בתוכנה משובלצת
 
Static Code Analysis
Static Code Analysis
"שימוש בקוד מגרסאות תוכנה קודמות או מספריות קיימות, יכול לקצר את הדרך משמעותית בבואנו לבנות מערכות משובלצות. על-פי סקר שנערך לאחרונה על-ידי מגזין New Electronics" אמר בראיון רמי שפט, סמנכ"ל חדשנות וטכנולוגיות, טריניטי תוכנה ומעבר.

מערכת ידעטק 11/04/13 | 12:37
שלוט בפרסומת שכולם רואים - בחר את Trinity Software and Beyond
 
 
 
 
ראיון עם רמי שפט, סמנכ"ל חדשנות וטכנולוגיות, Trinity Software and Beyond.

מהם האתגרים בכתיבת קוד מאפס?

להתחיל לכתוב קוד מאפס במערכות משובלצות (embedded systems - משולבות ומשובצות) יכולה להיות משימה שאפתנית למדי המגבירה את הלחץ על מפתחים, בעודם מנסים לעמוד בלוח-הזמנים. קוד ממוחזר עשוי להכיל שגיאות שטרם התגלו או אי-תאימויות חדשות שמתעוררות על-ידי תוספות תוכנה, עדכוני חומרה או אפילו שינויים שנעשו בקומפיילר. על-מנת לגלות את השגיאות הללו ולטפל בבעיות אחרות שנוצרות משימוש בקוד משומש, מתכנתים יכולים להשתמש בכלי תוכנה לניתוח סטטי של הקוד (Static Code Analysis).

שימוש בקוד מגרסאות תוכנה קודמות או מספריות קיימות, יכול לקצר את הדרך משמעותית בבואנו לבנות מערכות משובלצות. על-פי סקר שנערך לאחרונה על-ידי מגזין New Electronics ("אלקטרוניקה חדשה"), 84% ממפתחי תוכנה משובלצת אכן הסבו קוד קיים, בפרויקטים האחרונים שלהם. המאמר -ב-"אלקטרוניקה חדשה" שיבח את הנוהג הנפוץ הזה של השימוש בקוד קיים והסבתו, כפרקטיקה חכמה יותר לקידוד, וכן ציין כי כמחצית מהמשיבים שעשו שימוש חוזר בקוד, נאלצו להתאים אותו מחדש בכדי שיתאים למפרט של שונה רכיבי החומרה החדשים/שונים.

מה הם הסיכונים בעדכוני תוכנה או חומרה?

"מאחר וחלק מהמערכות המשובלצות עוברות לעיתים עדכוני חומרה (כולל דיירברים של יצרני הרכיבים), קיים סיכוי גבוה לכך ששיפורים בחומרה ישנו את הצרכים של התוכנה הינו גבוה", אומר רמי שפט בהתבסס על ניסיון רב גם במערכות צבאיות וביטחוניות. השינוי השכיח ביותר הוא מעבד חדש, התומך בגודל מילה (מספר ביטים) שונה או מספר חדש של ליבות זמינות. חלק ניכר מתהליך המעבר בין פלטפורמות דורש התאמת קוד כתלות בהבדלים הללו.
מקרה נפוץ אחר הוא שינוי גרסת מערכת ההפעלה ו/או בשרשרת-הכלים (toolchain) ששימשה לעיבוד הקוד ועברה עדכון מאז הגרסה הקודמת. שינויים כאלה עלולים להציף באגים חבויים שכן הם מעבדים קוד בצורה קצת שונה, מציין רמי שפט, ומוסיף כי יתכן אף שתוכנות מסוימות החלו להסתמך על פגמים בקומפיילר, וכך ייפגעו על-ידי עדכון שמיועד לתקן שגיאות כאלו.

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

מה הם היתרונות של שימוש בניתוח קוד סטטי?

בהתחשב בסכנות של שגיאות נסתרות שמתעוררות בגרסאות תוכנה חדשות, בדיקה יסודית וניתוח טרום-הפצה הם חלקים חיוניים בתהליך הקידוד. סקר של "אלקטרוניקה חדשה" ה מצא כי 88% מהמפתחים משתמשים ב-Debugger, ואילו 65% עושים שימוש באמולטור (circuit emulator) או ב - Jtag. בנוסף, 34% משתמשים בכלי ניתוח סטטי, שיכולים להיות יעילים במיוחד למציאת שגיאות שעלולות לחמוק מהבדיקות אחרות.

טקטיקה הגיונית למציאת וגילוי הליקויים החבויים היא להשתמש בכלים מתקדמים לניתוח סטטי, כגון קלוקוורק (Klocwork), כחלק מהמאמץ להסבת הקוד הקיים למערכת חדשה. "כלי תוכנה אלו, טובים במיוחד למציאת כשלים שקשה מאוד למצוא אותם במתודולוגיות בדיקה מסורתיות" מסביר רמי שפט, "לא פחות מכך, הם גם טובים למציאת מקרים בהם קוד איננו בהכרח שגוי, אלא שישנה קורלציה חזקה בינו ובין שגיאות או שמא הוא איננו אמין במעבר לסביבה שונה (non-portable)".

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

חברת טריניטי תוכנה ומעבר בע"מ משווקת את כלי התוכנה של קלוקוורק (Klocwork) לניתוח סטטי וכן מתמחה בייעוץ, הדרכות, כתיבת, והסבת קוד עבור מערכות משובלצות.

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

Static Code Analysis in Israel

ראיון עם רמי שפט, סמנכ"ל חדשנות וטכנולוגיות, טריניטי תוכנה ומעבר בע"מ
 
 
Trinity Software and Beyond
טריניטי תוכנה ומעבר הינה חברה לפיתוח מערכות משובצות והפצת מוצרי פיתוח תוכנה מובילים. טריניטי הציבה לעצמה יעד של מצוינות בפיתוח של מערכות ומודולים משובצים. לשם כך הקמנו קבוצה של מומחים בפיתוח תוכנה ובחרנו להפיץ מוצרי תוכנה מובילים שיכולים למנף את מאמצי הפיתוח. בשנים האחרונות השלימה טריניטי עשרות פרויקטים, תוך הקפדה על ע...
Software  |  CPU  |  Testing  |  Static Code Analysis  |  Source Code  |  Embedded  |  Consultant  | 
 
תפריט על סדר היום 
 
פוקוס חברות Top 5
חדשות המנכ"לים
דרושים מתחמים
הבמה  
    בחירת הגולשים
  חדשות
 
 
  מנכ"לים
 
ברק רגב ברק עילם
עוזי נבון נדב ארבל
 
 
 
מנוע חיפוש   |   הייטק   |   דרושים   |   Goto-Mobile בניית אתרים לסלולר
 
RSS   |   תקנון   |   צור קשר
 
מחשוב ענן
ניהול קשרי לקוחות
אבטחת מידע
 
בינה עסקית
ניהול ידע
ניהול מסמכים
 
בנקאות ביטוח
תיירות מלונאות
אופנה טקסטיל
 
חינוך אקדמיה
קמעונאות
חקלאות
 
קידום אתרים
דרושים הייטק
 
Cloud Computing
Virtualization
Security
 
Storage
Network
ERP
 
CRM
BI
QA
 
KM
SaaS
SOA
 
BPM
BPO
DRP
 
Outsourcing
Semiconductor
Telecom
 
Mobile
Backup
DMS
 
ידעטק  |  ידע טק  |  ידע-טק


Navigation