منصوبے کے بارے میں
GitGalaxy ایک ایسا ٹول ہے جو پوری ریپوزٹری کا زبان سے آزاد ساختی گراف براہِ راست سورس ٹیکسٹ سے بناتا ہے، بغیر کسی بلڈ اسٹیپ یا فی زبان ٹول چینز کی ضرورت کے۔ یہ ایسی ریپوزٹریز کے لیے ہے جو کثیر اللسانی، جزوی طور پر ٹوٹی ہوئی، لیگیسی، وینڈر سے بھری، یا بلڈ فرسٹ ورک فلو کے ذریعے تجزیہ کے لیے مشکل ہوں۔
ہر زبان کے لیے الگ پارسر کی بجائے، GitGalaxy ساختی دستخطوں کی ایک مشترکہ ذخیرہ الفاظ نکالتا ہے — فنکشنز، کلاسز، آرگیومنٹس، کنٹرول فلو، اسٹیٹ میوٹیشن، I/O، APIs، انحصار — اور انہیں ایک واحد ڈیٹرمینسٹک ریپوزٹری ماڈل میں نارملائز کرتا ہے۔ یہ ماڈل آرکیٹیکچر تجزیہ، رسک ایکسپوژر ترجیح بندی، SBOM جنریشن، ری فیکٹرنگ اور ملکیت تجزیہ، AI پر مبنی کوڈ بیس سیاق و سباق، اور CI/CD گیٹس کو فیڈ کرتا ہے۔
ایک واحد کمانڈ (`galaxyscope path/to/repo`) چھ مربوط آؤٹ پٹس پیدا کرتا ہے:
- ایک LLM آرکیٹیکچر بریف (انجینئرز یا AI ایجنٹس کے لیے ایک مختصر Markdown رپورٹ)
- CI/سیکیورٹی ڈیش بورڈ انٹیگریشن کے لیے SARIF
- انحصار انوینٹری/کمپلائنس کے لیے CycloneDX SBOM
- قابل استفسار ریپوزٹری نالج گراف کے لیے SQLite
- فارنزک/آٹومیشن ورک فلو کے لیے JSON آڈٹ ڈیٹا
- انٹرایکٹو ریپوزٹری ٹوپولوجی کے لیے 3D ویژولائزیشن ڈیٹا
آرکیٹیکچر بریف میں رسک مساواتیں، ایک ایمبیڈڈ تشریح پرامپٹ، میکرو اسٹیٹ اور زبان کی ترکیب، نیٹ ورک ٹوپولوجی (ماڈیولریٹی، آرٹیکولیشن پوائنٹس، سائکلک ڈینسٹی)، انحصار چوک پوائنٹس، سب سے بھاری فنکشنز اور فائلیں، PageRank بلاسٹ ریڈیئس کے ساتھ فی فائل ساختی دستخط، ٹارگٹڈ اور مجموعی رسک ہٹ لسٹس، سپلائی چین آڈٹس، ری فیکٹرنگ ٹارگٹس، اور ہر اس فائل کی تفصیلی فہرست شامل ہے جسے اس نے اسکین کرنے سے انکار کیا اور کیوں۔
GitGalaxy کا بینچ مارک Tree-sitter اور Universal Ctags کے خلاف ایک پنڈ کارپس (Language Crucible) پر کیا گیا ہے۔ اس کارپس پر، تمام 31 tree-sitter سے موازنہ کے قابل زبانوں میں تصدیق شدہ فنکشن پریسیژن 100% ہے، اور کسی تصدیق شدہ کلاس یا آرگیومنٹ اختلاف میں یہ کبھی غلط نہیں پایا گیا۔ امپورٹ گراف 59 میں سے 20 زبانوں میں ماپا گیا؛ کیلی نام 11 میں؛ کال ریزولوشن 3 میں (Python، TypeScript، Java)، جس میں پریسیژن 92.7% اور 99.9% کے درمیان لیکن ریکال 41% اور 57.1% کے درمیان ہے، لہٰذا فنکشن لیول فین اِن اور PageRank ایک نچلی حد ہیں۔
ایک کراس لینگویج کنسسٹنسی پروگرام (Keyword Rosetta) تمام 50 معاون زبانوں میں وہی 12 پروب پروگرام لگاتا ہے جس میں عین معلوم سگنل کاؤنٹس ہوتے ہیں۔ اوسطاً 94% زبانیں فی گیٹڈ میٹرک کراس لینگویج میڈین کے ±25% کے اندر ہیں، اور اوپن ڈیفیکٹ شیئر 0.0% ہے (2,844 موازنہ سیلز میں سے 1)۔
حقیقی دنیا کا پیمانہ: Kubernetes (~1.39M لائنیں) اسکین کرنے میں تقریباً 51 سیکنڈ لگتے ہیں۔ اسکین ٹائم ایک فٹ شدہ دو نظاموں والے ماڈل کی پیروی کرتا ہے۔
13 فی فائل ویکٹرز کو اصل میں `risk_*` کا نام دیا گیا تھا اور رسک ایکسپوژر پیمائش کے طور پر بیان کیا گیا تھا۔ ایک وقتی توثیقی پروگرام (~3,550 اسکین شدہ اسنیپ شاٹس، دو ریپوزٹریز، تین لیبل فیملیز، پہلے سے رجسٹرڈ ٹیسٹس) نے پایا کہ فی فائل مستقل ساختی رسک نقائص کی پیش گوئی نہیں کرتا — یہ لائن کاؤنٹ تک محدود ہو جاتا ہے۔ دو ہسٹری میٹرکس نے توثیق کی: recidivism (وہ فائل جس کی آخری مرمت ہوئی اگلی مرمت اسی کی ہوگی) اور change entropy (Hassan HCM)۔ ویکٹرز کو اب Structural Surface Profile کہا جاتا ہے؛ `risk_*` مطابقت کے لیے DB کالم/JSON کلید کے طور پر باقی ہے۔
GitGalaxy مقامی اور ایئر گیپڈ آپریشن کے لیے ڈیزائن کیا گیا ہے: سورس کوڈ کلاؤڈ سروس کو نہیں بھیجا جاتا، اسکیننگ اور ویکٹرائزیشن مقامی طور پر ہوتی ہے، اسکینر کی کوئی رن ٹائم نیٹ ورک ضرورت نہیں، اور CI/CD عمل صارف کے ماحول کے اندر رہ سکتا ہے۔
انسٹالیشن: `pip install gitgalaxy` (صفر انسٹال انحصار) یا اضافی اختیاری پیکجز کے لیے `pip install "gitgalaxy[full]"`۔ ڈیفالٹ ٹیسٹ سوٹ میں 7,043 ٹیسٹس ہیں، جن میں سے 6,165 تمام 45 ساختی دستخط والی زبانوں میں فی دستخط ٹیسٹس ہیں۔
GitGalaxy CodeQL کے گہرے ڈیٹا فلو تجزیہ، Semgrep کے رول ایکو سسٹم، انحصار CVE ڈیٹا بیسز، استحصال کے ثبوت، رن ٹائم اینالائزر، یا مکمل زبان پارسر کا متبادل نہیں ہے۔ یہ جواب دیتا ہے: "یہ پوری ریپوزٹری ساختی طور پر کیسی لگتی ہے، اور توجہ پہلے کہاں دی جانی چاہیے؟"
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.