האינדוס הוא מאמץ לספק אוסף של תכנית ניתוחים ושינויים שבוצעו בג'אווה כדי להתאים אישית ולהתאים תוכניות Java. האינדוס נועד לשמש כמטרייה ל:
* סטטי ניתוחים כגון נקודות לניתוח, ניתוח לברוח, ותלות ניתוחים,
* שינויים כגון חיתוך תכנית והתמחות תכנית באמצעות הערכה חלקית, ו
* כל מודול תוכנה המספק ניתוחים / תמורות ליישום מסוים כגון נדרה או פלטפורמה כגון Eclipse.
נכון לעכשיו, יש 3 מודולים שהם חלק מהאינדוס. מודולים נוספים צפויים להתווסף במהלך הזמן. אנו מספקים סקירה של הכוונה של כל מודול שזמינים כיום.
האינדוס הוא מודול כי בתים הנוגע ליישום אלגוריתמים ומבני נתונים משותפים לניתוחים ושינויים שהם חלק מאו מתוכננים להיות חלק מהאינדוס. מודול זה מכיל הגדרת ממשק נפוץ ברוב הניתוחים ושינויים על מנת לספק מסגרת שבה יישומים שונים של ניתוחים / ניתן לשלב שינויים כדי ליצור מערכות בקלות. מכאן, מודול זה מתעדכן כאשר סוג חדש של ניתוח / שינוי מיושם כמודול בהאינדוס. עם זאת, יישום חדש של ניתוח / שינוי לא ישפיע על מודול זה כפי שהוא יהיה ליישם ממשק הקיים.
מודול StaticAnalyses נועד להיות האוסף של סטטי ניתוחים כגון אובייקט זרימת ניתוח, ניתוח לברוח, ותלות ניתוחים. הניתוחים במודול זה להשתמש בממשקים נפוצים ויישומים מהאינדוס ויכולים להגדיר / לספק ממשקים / יישומים חדשים ספציפיים לניתוחים חדשים. ניתוחים קיימים מוזכרים להלן.
* אובייקט זרימת ניתוח (Ofa) הוא נקודות לניתוח עבור Java. כל אתר הקצאה במערכת ניתחה הוא כאל אובייקט מופשט וזרימתו דרך מערכת מעקב להסיק סוגים האפשריים מקלט בשיחה לאתר כדי לאפשר הבנייה של שיחה-גרף מדויק. הדיוק של הניתוח יכול להיות מגוון במונחים של זרימת רגישות למשתנים מקומיים שיטה ואובייקט-רגישות לשדות למשל.
* בריחה ניתוח הוא יישום מורחב של ניתוח הבריחה שהוצע על ידי רוף לצורך התערבות גיזום וקצות תלות מוכנים. הרחבות הן בצורה של תוספת חלקה של שקילות ערך לניתוח על מנת לשפר את זיהוי של שדה סותר קורא / כותבת מתרחשות בנושאים שונים מעבר רק באמצעות שוויון סוג של הפריימריס של ביטויי הגישה. הניתוח גם משתמש באובייקט זרימת מידע orthogonally כדי לשפר את הדיוק נוסף.
* ניתוח תלות הוא אוסף של תלות ניתוחים: בקרה מבוססת כניסה, בקרה מבוססת יציאה, נתונים מבוססי מזהה, נתונים מבוססי התייחסות, הפרעה, מוכן, סנכרון, וסטייה, הנדרשים על ידי ניתוח / תמורות הערכה חלקית חיתוך תכנית כזו ו . הפרעות ותלות מוכנה ניתוחים תלויים בניתוח הבריחה הקודם ואילו נתונים מבוססי התייחסות ותלות סנכרון ניתוחים תלויים במידע אובייקט-זרימה ומידע שיחה-גרף המחושב. ניתוחים כמה רמות משתנות של דיוק שיכול להיות מגוונת באמצעות ממשק מוגדר היטב.
* תופעות לוואי ניתוח מספק מידע לוואי רמה-שיטה. המשתמש יכול לבצע שאילתה אם כל אחד מהטיעונים / פרמטרים לקריאה באתר / שיטה יושפע באופן ישיר (חברים מיידיים) או בעקיפין (באופן רקורסיבי חברים נגישים). כמו כן, המשתמש יכול לספק נתיב גישה לנתונים מושרשים בטיעונים / פרמטרים לקריאה באתר / שיטה ושאילתא אם נקודת סיום של מסלול גישה לנתונים מושפע מהשיחה / השיטה.
* צג Anlaysis הוא ניתוח פשוט המספק צג / מידע גרף מנעול למערכת הנתונה.
* בטוח נעילת ניתוח הוא ניתוח ששמרני מגלה אם מנעול (צגים) לא יתקיים ללא הגבלת זמן. מידע זה משמש בשיתוף עם steming dependences הזמני לObject.wait () וObject.notify () / Object.notifyAll () כפי שנעשה בתלות מוכנה.
* אטומי ניתוח מספק מידע על אטומי במערכת הנתונה. יישום נוכחי מסתמך על ניתוח בריחה לחזות אם ניתן לבצע הצהרה אטומית. מידע זה משמש לאיתור אזור אטומי של קודים. מידע זה שימושי ביישומים כגון מודל בדיקה כדי להפחית את גודל חלל המדינה, ומכאן, לשפר את הביצועים.
ניתוחים מסוימים עשויים להיות גדולים מספיק כדי להוות מודול בכוחות עצמם וניתוחים כגון יתארחו מודולים שונים כמו בהאינדוס במקום להיות נצרך על ידי מודול זה.
מודול Java תכנית המבצע כולל את יישום הליבה של מבצעה תכנית Java יחד עם מתאמים המספקים מבצע ביישומים אחרים כגון נדרה וEclipse. היישום הוא הארכיטקטורה כספרייה ולא כיישום כדי להקל על השימוש החוזר של subparts של זה. הליבה היא בלתי תלויה ביישום; הדרישה של כל יישום של הפרוסה יכולה להיות מרוצה על ידי קידוד עד מימושים של ממשקים שלאחר העיבוד והמשדלת ביישומים אלה כדי ליצור מבצע מותאם אישית.
מודול זה מסתמך במידה רבה על המידע שנמסר על ידי תלות מנתח וגם שיחה-הגרף הניתן על ידי Ofa באמצעות ממשקים מוגדרים היטב המאפשרים ליישומים חיצוניים שישמש לחיתוך.
יישום זה של מבצעה מועבר לEclipse עם ממשק משתמש אינטואיטיבי באמצעות תוסף Kaveri.
מאפיינים: o
דור פרוסה קדימה ואחורה. פרוסות שלמות (איחוד של קדימה ואחורה
פרוסות החלו מאותם קריטריוני פרוסה) יכולות להיות שנוצרו.
* תמיכה לresidualize פרוסות (מתאימות) לקבצים בכיתה הפעלה.
* תמיכה עבור חיתוך תלוי-קשר באמצעות מפרט קריטריוני הפרוסה עשיר הקשר.
* תמיכה להגביל את הפרוסה לחלק מסוים של המערכת על ידי מפרטי היקף.
* תמיכה בהמשכים קריטריוני פרוסה, תצורות מבצע, ופרוסות.
כל המודולים בעבודת פרויקט האינדוס בJimple, ייצוג ביניים של Java, המסופקים על ידי ערכת כלים פיח מקבוצת סייבל באוניברסיטת מקגיל. כל מודול בפרויקט יהיה חשוף כתוספי Eclipse אחד או יותר, אם המידע שנמסר הוא שימושי למשתמש ונוח לצריכת משתמש באמצעות ממשק משתמש גרפי.
הנדסת תוכנת פילוסופיה
כל מודול בפרויקט זה יספק רק את הפונקציונליות הנדרשת באמצעות ממשקים מוגדרים היטב שיכול להיות מיושמים להרכיב מערכת מותאמת אישית עם סיומות מתאימות שלמלא את הדרישה ספציפית. כממשק ברור מופרד מהיישום, כל יישום חיצוני המספק את הממשק הנדרש ניתן להשתמש בצורה חלקה עם מודולים מפרויקט זה.
רקע
היישום של רוב הניתוחים היה מונע על ידי הדרישות של מבצעה תכנית Java הנדרשות על ידי נדרה. עם זאת, כמבצעה תכנית יכול לשמש מחוץ נדרה וניתוחים יכולים לשמש כדי לאפשר שינויים אחרים כגון התמחות תכנית באמצעות הערכה חלקית, עברנו ניתוחים ושינויים בפרויקט חדש בשם האינדוס.
פרטי תוכנה:
גרסה: 0.8
טען תאריך: 3 Jun 15
רשיון: ללא תשלום
פופולריות: 14
תגובות לא נמצא