প্রকল্প সম্পর্কে

PyFlow হলো পাইথনের জন্য একটি আলফা-পর্যায়ের প্রোগ্রাম বিশ্লেষণ ফ্রেমওয়ার্ক, যা গবেষণা টুলকিট হিসেবে ডিজাইন করা হয়েছে এবং প্রোগ্রাম বিশ্লেষণ অবকাঠামো, পরীক্ষামূলক অপটিমাইজেশন পাস এবং নিরাপত্তা পরীক্ষার সমন্বয় ঘটায়। এটি বিভিন্ন ধরনের মধ্যবর্তী উপস্থাপনা (CFG, CDG, DDG, PDG, CPG, নিম্নস্তরের ডেটা ফ্লো IR এবং একটি শেয়ার্ড স্টোর গ্রাফ মডেল) প্রদান করে এবং কল গ্রাফ নির্মাণ, IFDS, অ্যালিয়াস, IPA, CPA, শেপ, লাইফটাইম এবং টাইপ বিশ্লেষণ সহ একাধিক বিশ্লেষণ কৌশল সমর্থন করে। ফ্রেমওয়ার্কটিতে একটি মডুলার অপটিমাইজেশন পাইপলাইন রয়েছে যাতে সরলীকরণ, মেথড-কল অপটিমাইজেশন, ক্লোনিং, আর্গুমেন্ট নরমালাইজেশন এবং লোড/স্টোর এলিমিনেশন-এর মতো পাস অন্তর্ভুক্ত। নিরাপত্তার জন্য, এটি AST প্যাটার্ন ম্যাচিং, AST-ভিত্তিক ডেটাফ্লো, CPG-ভিত্তিক এবং IFDS-সমর্থিত নিরাপত্তা বিশ্লেষণ ইঞ্জিন অফার করে। এছাড়াও এটি স্থানীয় SBOM জেনারেশন, ডিস্ট্রিবিউশন ইন্টিগ্রিটি অডিটিং এবং ডিপেন্ডেন্সি মেটাডেটা এক্সট্রাকশনের জন্য সাপ্লাই-চেইন বিশ্লেষণ ক্ষমতা অন্তর্ভুক্ত করে। PyFlow একটি CLI সহ আসে যা IR ডাম্পিং, কল গ্রাফ জেনারেশন, নিরাপত্তা বিশ্লেষণ, অ্যালিয়াস বিশ্লেষণ, কনকোলিক টেস্ট-ইনপুট জেনারেশন এবং সাপ্লাই-চেইন অপারেশনের জন্য কমান্ড সমর্থন করে। এটি IDE ইন্টিগ্রেশন এবং সেমান্টিক কোয়েরির জন্য LSP এবং MCP সার্ভার মোডও প্রদান করে। প্রকল্পটিতে PySASTBench মাইক্রোবেঞ্চমার্কের উপর মূল্যায়ন ফলাফল অন্তর্ভুক্ত রয়েছে, যা এর নিরাপত্তা ইঞ্জিনগুলির জন্য প্রিসিশন/রিকল মেট্রিক্স দেখায়। ইনস্টলেশনের জন্য Python 3.10+ এবং ভিজ্যুয়ালাইজেশনের জন্য Graphviz প্রয়োজন। এটি pip-এর মাধ্যমে সোর্স থেকে ইনস্টল করা যায়, ডেভেলপমেন্ট এবং PyCG-সমর্থিত কল গ্রাফ অ্যালগরিদমের জন্য ঐচ্ছিক এক্সট্রা সহ। প্রকল্পটিতে IR, ফ্রন্টএন্ড, API এবং চেকার উপাদান কভার করে ইউনিট এবং ইন্টিগ্রেশন টেস্ট স্যুট অন্তর্ভুক্ত রয়েছে।