Date of Award

4-2024

Document Type

Thesis

Degree Name

Master of Science in Information Security

Department

Information Systems and Security

First Advisor

Dr. Saed Alrabaee

Abstract

In recent years, Artificial Intelligence (AI) techniques have been used for source code authorship attribution, which is the process of identifying the original author of a given piece of code. With the advancement of AI technologies like ChatGPT, which can generate code, there is a need to accurately identify whether a piece of code is written by a human or generated by a machine. This is crucial for intellectual property protection, cybersecurity, and software forensics. The main objective of this thesis is to review existing research on source code authorship attribution and conduct several experiments to determine the best AI models for identifying the authorship of source code. This includes distinguishing between human-written and ChatGPT-4-generated codes and providing insights into the gender and region. A dataset of 600 source codes was utilized, focusing on extracting lexical and layout features. The study applied several information retrieval and ranking techniques such as TF-IDF, MI, and IG to extract features and understand author characteristics. It also employed various machine learning models, such as SVM, logistic regression, MLP, XGBoost, and random forest. It also employed deep learning models like LSTM, RNN, and CNN to analyze the data. The research achieved up to 94.7% accuracy with the random forest model using TF-IDF in machine learning, and a 95% accuracy rate with the CNN model in deep learning. These results demonstrate the effectiveness of these models in authorship attribution of source code. This work contributes to the field by identifying effective AI models for source code authorship attribution. It provides a comprehensive analysis of how machine learning and deep learning can be used to attribute authorship, differentiating between human and AI-generated code, and identifying gender and region. By achieving high accuracy in identifying the authorship of source codes, this thesis fills a gap in the current understanding and methodologies in source code authorship attribution. It offers new insights and methods in distinguishing between human- and AI-generated code to address the ethical concerns.

Arabic Abstract

الكشف عن أصول مصدر الرموز من خلال إسناد التأليف دراسة مقارنة أنماط الترميز بين الذكاء الاصطناعي والبشر

في السنوات الأخيرة، تم استخدام تقنيات الذكاء الاصطناعي (AI) لإسناد مؤلف البرمجيات، وهي عملية تحديد المؤلف الأصلي لجزء معين من التعليمات البرمجية. مع تقدم تقنيات الذكاء الاصطناعي مثل ChatGPT والتي يمكنها انشاء البرمجيات. أصبح هناك حاجة لتحديد ما إذا كان جزء من البرمجيات مكتوباً بواسطة إنسان أو تم انشاؤه بواسطة آلة. يعد هذا الأمر بالغ الأهمية لحماية الملكية الفكرية، الأمن السيبراني والتحقيقات البرمجية. الهدف الرئيسي من هذه الأطروحة هو مراجعة الأبحاث الحالية على تحديد مصدر البرمجيات وإجراء العديد من التجارب لتحديد أفضل نماذج الذكاء الاصطناعي لتحديد مصدر البرمجيات حيث انه يتضمن التمييز بين البرمجيات المكتوبة بواسطة الأنسان او الآلة وأيضا التمييز بين الجنس والقارة. تم استخدام مجموعة بيانات مكونة من 600 رمز من البرمجيات، مع التركيز على استخراج المميزات اللغوية والتخطيطية طبقت الدراسة العديد من تقنيات استرجاع المعلومات وتصنيفها مثل التردد النسبي - التردد العكسي للوثيقة (TF-IDF) ، المعلومات المتبادلة (MI) ، مكسب المعلومات (IG) لاستخراج الميزات وفهم خصائص المؤلف. كما استخدمت ايضاً نماذج مختلفة للتعلم الآلي، مثل دعم آلة المتجهات (SVM) الانحدار اللوجستي (LR)، الادراك الحسي متعدد الطبقات (MLP) ، تعزيز التدرج الشديد (XGBoost)، الغابة العشوائية (RF). كما أنها استخدمت نماذج التعلم العميق مثل الذاكرة الطويلة قصيرة المدى (LSTM)، والشبكة العصبية المتكررة (RNN)، والشبكات العصبية التلافيفية (CNN) . وحقق البحث دقة تصل الى 94.7% في نموذج RF باستخدام TF-IDF في التعلم الآلي، ونسبة دقة تصل الى 95% باستخدام نموذج CNN في التعلم العميق. توضح هذه النتائج فعالية هذه النماذج في إسناد مؤلف البرمجيات. يساهم هذا العمل في هذا المجال من خلال تحديد نماذج الذكاء الاصطناعي الفعالة لإسناد مؤلف البرمجيات ويقدم تحليلاً شاملاً لكيفية استخدام التعلم الآلي والتعلم العميق لنسب مصدر البرمجيات. وأيضا، يقدم تحليلاً شاملاً لكيفية استخدام التعلم الآلي والتعلم العميق لنسب مصدر التعليمات البرمجية والتمييز بين التعليمات البرمجية المكتوبة بواسطة الانسان أو تم إنشاؤه بواسطة الذكاء الاصطناعي مثل ChatGPT وتحديد الجنس والقارة. من خلال تحقيق دقة عالية في تحديد مصدر البرمجيات تسد هذه الأطروحة فجوة في الفهم والمنهجيات الحالية في إسناد مؤلف البرمجيات لمعالجة المخاوف الأخلاقية.

COinS