اقتراح أداة في الهندسة العكسية لتحليل الشفرة المصدرية للبرمجيات المكتوبة بلغة الجافا

المؤلفون المشاركون

طاقة، آلاء ياسين
توفيق مقداد توفيق

المصدر

مجلة الرافدين لعلوم الحاسبات و الرياضيات : مجلة علمية محكمة و مفهرسة

الناشر

جامعة الموصل كلية علوم الحاسبات و الرياضيات

تاريخ النشر

2013-04-30

دولة النشر

العراق

عدد الصفحات

23

التخصصات الرئيسية

تكنولوجيا المعلومات وعلم الحاسوب

الموضوعات

الملخص العربي

قدمت الهندسة العكسية حلا للمشكلة الرئيسية في تطوير و صيانة البرمجيات القديمة و هي عملية فهم هذه البرمجيات، و التي تعد مهمة صعبة و ذلك لأنها تفتقر إلى التوثيق الملائم أو التصميم الأنموذجي الصحيح.

تلعب لغة النمذجة الموحدة دورا كبيرا و مهما في تحديد مواصفات البرمجيات بما يتفق مع مبادئ الهندسة العكسية واحد أنواعها هو مخطط الصنف.

مخطط صنف الهندسة العكسية هو تمثيل مجرد يعطي نظرة عامة عن هيكلية البرمجيات و لا يعطي معلومات كاملة عن التفاصيل الداخلية و علاقة مكونات البرمجيات.

تم في هذا البحث بناء أداة هندسة البرمجيات بمساعدة الحاسوب أطلق عليها (Relational Meta Data Table-RMDT) و التي تعتمد على بناء مفسر للشفرة المصدرية للبرمجيات المدخلة و تحليلها من أجل استخلاص معلومات تساعد على فهم بنية البرمجيات و توضيح مكوناته و العلاقات التي تربط أجزاءه (الهيكلية الداخلية للبرمجيات المدخلة).

تمثل الأداة RMDT المعلومات على شكل جداول مصممة بطريقة عالية المرونة و تكون مناسبة لاستخدامها في المستقبل عند تطبيق إعادة هندسة البرمجيات على البرمجيات المدخلة.

كما و تم دراسة واختبار مجموعة من أدوات هندسة البرمجيات الأكثر انتشاراً التي تعمل على تنفيذ الهندسة العكسية (Reverse, ArgoUML, Rational rose, Enterprise Architecture (EA), Together, .class2uml) تركز التحليل لهذه الأدوات على توليد مخطط الصنف من الشفرة المصدرية للبرمجيات المكتوبة بلغة الجافا.

يشمل هذا المخطط عدد الأصناف و أنواع العلاقات التي تستخلص و إمكانية استخراج الواجهات.

و تمت مقارنة النتائج المستحصلة من الأداة RMDT مع النتائج المستحصلة من هذه الأدوات، فالجداول التي توفرها الأداة RMDT شملت جميع المعلومات المطلوبة لاسترجاع التصميم، إذ يتم تحويلها إلى مخطط الصنف و ذلك نظرا لتوفر أسماء الأصناف و العمليات و المتغيرات و أسماء معاملات العمليات و الواجهات والعلاقات (التشاركية association و الاعتمادية dependency و العمومية Generalization) و تمثيل الحالة، في حين لا تتضمن مخططات الصنف الناتجة من الأدوات المذكورة جميع هذه المعلومات.

الملخص الإنجليزي

Reverse engineering has presented solution to a major problem in the development and maintenance of the legacy software which is the process of understanding these software types, It is a difficult task because most of legacy software lacked a proper documentation or a correct design model.

Unified Modeling Language has an important and great role in determine (extract) the specifications of the software in accordance with the principles of the reverse engineering and modeling it using one of its types which is a Class Diagram.

Reverse Engineering Class Diagram is an abstract representation gives an overview of the software structure and it does not give full information about the internal details and the relationships of software components.

In this research a computer aided software engineering tool has been constructed which is called RMDT (Relational Meta Data Table).

It bases on constructing an interpreter of an entered software source code analyzing to extract an information that assist in understanding the structure of the software and to clarify its components and the relationships that bind its parts (internal structural of the entered software).

The RMDT tool represents the information in tables which have been designed in a highly flexible manner and be suitable for use in the future when applying software re-engineering on the entered software.

Furthermore ,the research has studied and tested several of most common software engineering tools which used to implement reverse engineering like (Reverse, ArgoUML, Rational rose, Enterprise Architecture (EA), class2uml, Together).

The analysis focused on these tools to produce class diagram of the software source code written in Java.

The produced class diagram includes the number of classes, relationship types among classes and the common classes.

However, the obtained results from the RMDT tool has been compared with those obtained from others.

The produced tables from RMDT tool includes all the information required to recover the design, as they used to produce a class diagram, due to the availability of class, method, variables names, method parameter names, interface, relationships (association, dependency and Generalization) and identify visibility while no such details found in a class diagram that produced by other tools.

نوع البيانات

أوراق مؤتمرات

رقم السجل

BIM-333725

نمط استشهاد جمعية علماء النفس الأمريكية (APA)

طاقة، آلاء ياسين وتوفيق مقداد توفيق. 2013-04-30. اقتراح أداة في الهندسة العكسية لتحليل الشفرة المصدرية للبرمجيات المكتوبة بلغة الجافا. المؤتمر العلمي في تقانة المعلومات (5 : 2012 : الموصل، العراق). . مج. 10، ع. 1 (2013)، ص ص. 385-407.الموصل، العراق : جامعة الموصل، كلية علوم الحاسبات و الرياضيات،.
https://search.emarefa.net/detail/BIM-333725

نمط استشهاد الجمعية الأمريكية للغات الحديثة (MLA)

طاقة، آلاء ياسين وتوفيق مقداد توفيق. اقتراح أداة في الهندسة العكسية لتحليل الشفرة المصدرية للبرمجيات المكتوبة بلغة الجافا. . الموصل، العراق : جامعة الموصل، كلية علوم الحاسبات و الرياضيات،. 2013-04-30.
https://search.emarefa.net/detail/BIM-333725

نمط استشهاد الجمعية الطبية الأمريكية (AMA)

طاقة، آلاء ياسين وتوفيق مقداد توفيق. اقتراح أداة في الهندسة العكسية لتحليل الشفرة المصدرية للبرمجيات المكتوبة بلغة الجافا. . المؤتمر العلمي في تقانة المعلومات (5 : 2012 : الموصل، العراق).
https://search.emarefa.net/detail/BIM-333725