Code property graph
கணினி அறிவியலில், குறியீடு பண்பு வரைபடம் (சி. பி. ஜி) என்பது ஒரு கணினி நிரல் பிரதிநிதித்துவமாகும், இது ஒரு பண்பு வரைபடத்தில் சொல்லியல் அமைப்பு, கட்டுப்பாட்டு ஓட்டம் மற்றும் தரவு சார்பு ஆகியவற்றைப் பிடிக்கிறது. இந்த கருத்து முதலில் சி மற்றும் சி + + கணினி குறியீட்டில் உள்ள பாதுகாப்பு பாதிப்புகளை அடையாளம் காண அறிமுகப்படுத்தப்பட்டது, ஆனால் பின்னர் வலை பயன்பாடுகள், கிளவுட் வரிசைப்படுத்தல்கள் மற்றும் ஸ்மார்ட் ஒப்பந்தங்களை பகுப்பாய்வு செய்ய பயன்படுத்தப்படுகிறது. பாதிக்கப்படக்கூடிய கண்டுபிடிப்புக்கு அப்பால், குறியீடு பண்பு வரைபடங்கள் குறியீடு குளோன் கண்டறிதல், தாக்குதல்-மேற்பரப்பு கண்டறிதல், சுரண்டல் உருவாக்கம், குறியீடு சோதனையை அளவிடுதல் மற்றும் பாதுகாப்பு இணைப்புகளின் பின்னிணைப்பு ஆகியவற்றில் பயன்பாடுகளைக் கண்டறிகின்றன. வரையறை ஒரு நிரலின் குறியீடு பண்பு வரைபடம் என்பது அதன் சுருக்க தொடரியல் மரங்கள் (ஏஎஸ்டி), கட்டுப்பாட்டு-ஓட்ட வரைபடங்கள் (சிஎஃப்ஜி) மற்றும் நிரல் சார்பு வரைபடங்கள் (பி. டி. ஜி) ஆகியவற்றை அறிக்கை மற்றும் முன்கணிப்பு முனைகளில் இணைப்பதன் மூலம் பெறப்பட்ட நிரலின் வரைபட பிரதிநிதித்துவமாகும். இதன் விளைவாக வரும் வரைபடம் ஒரு பண்பு வரைபடமாகும், இது நியோ4ஜே, ஜானுஸ்கிராஃப் மற்றும் ஓரியண்ட்டிபி போன்ற வரைபட தரவுத்தளங்களின் அடிப்படை வரைபட மாதிரியாகும், அங்கு தரவு முனைகள் மற்றும் விளிம்புகளில் முக்கிய மதிப்பு ஜோடிகளாக சேமிக்கப்படுகிறது. நடைமுறையில், குறியீடு பண்பு வரைபடங்களை வரைபட தரவுத்தளங்களில் சேமித்து வைக்கலாம் மற்றும் வரைபட வினவல் மொழிகளைப் பயன்படுத்தி விசாரிக்கலாம். எடுத்துக்காட்டு ஒரு சி நிரலின் செயல்பாட்டைக் கவனியுங்கள்ஃ வெற்றிடமான ஃபூ () {இன்ட் x = சோர்ஸ் (); என்றால் (x <MAX) {இன்ட் y = 2 * x; சிங்க் (y);}} செயல்பாட்டின் குறியீடு பண்பு வரைபடம் அதன் சுருக்கமான தொடரியல் மரம், கட்டுப்பாட்டு-ஓட்ட வரைபடம் மற்றும் நிரல் சார்பு வரைபடம் ஆகியவற்றை பின்வரும் படத்தில் காணும் அறிக்கைகள் மற்றும் கணிப்புகளில் இணைப்பதன் மூலம் பெறப்படுகிறதுஃ செயல்படுத்தல்கள் ஜோர்ன் சிபிஜி. திறந்த மூல குறியீடு பகுப்பாய்வு கருவியான ஜோர்னின் ஒரு பகுதியாக 2013 ஆம் ஆண்டில் கோட்டிங்கன் பல்கலைக்கழகத்தில் சி/சி + + க்கான அசல் குறியீடு சொத்து வரைபடம் செயல்படுத்தப்பட்டது. இந்த அசல் பதிப்பு திறந்த மூல ஜோர்ன் திட்டத்தால் நிறுத்தப்பட்டு மாற்றப்பட்டுள்ளது, இது பல நிரலாக்க மொழிகளுக்கு பொருந்தக்கூடிய முறையான குறியீடு சொத்து வரைபட விவரக்குறிப்பை வழங்குகிறது. இந்தத் திட்டம் சி/சி + +, ஜாவா, ஜாவா பைட்ட்கோட், கோட்லின், பைதான், ஜாவாஸ்கிரிப்ட், டைப்ஸ்கிரிப்ட், எல். எல். வி. எம் பிட்கோடு மற்றும் x86 பைனரிகள் (கிட்ரா பிரித்தெடுத்தல் வழியாக) ஆகியவற்றிற்கான குறியீடு பண்பு வரைபட ஜெனரேட்டர்களை வழங்குகிறது. ப்ளூம் சிபிஜி. 2020 ஆம் ஆண்டில் ஸ்டெல்லன்போஷ் பல்கலைக்கழகத்தில் உருவாக்கப்பட்டது மற்றும் அமேசான் சயின்ஸ் நிதியுதவி அளித்தது, திறந்த மூல பிளூம் திட்டம் ஜோர்ன் திட்டத்தால் வழங்கப்பட்ட குறியீடு சொத்து வரைபட விவரக்குறிப்புடன் இணக்கமான ஜாவா பைட்ட்கோடிற்கான குறியீடு சொத்து வரைபடத்தை வழங்குகிறது. இந்த இரண்டு திட்டங்களும் 2021 இல் இணைக்கப்பட்டன. ஃப்ரான்ஹோஃபர் ஏஐஎஸ்இசி சிபிஜி. முறையான திட்ட விவரக்குறிப்பு இல்லாமல் இருந்தாலும், சி/சி + +, ஜாவா, கோலாங் மற்றும் பைதான் ஆகியவற்றிற்கான திறந்த மூல குறியீடு சொத்து வரைபட ஜெனரேட்டர்களை இது வழங்குகிறது. இது கிளவுட் சொத்து வரைபடத்தையும் வழங்குகிறது, இது கிளவுட் வரிசைப்படுத்தல்களின் விவரங்களை மாதிரியாக்கும் குறியீடு சொத்து வரைபடக் கருத்தின் நீட்டிப்பாகும். எல்எல்விஎம்-க்கான கலோயிஸின் சிபிஜி. கலோயிஸ் இன்க் எல். எல். வி. எம் தொகுப்பை அடிப்படையாகக் கொண்ட குறியீடு பண்பு வரைபடத்தை வழங்குகிறது. வரைபடம் தொகுப்பின் பல்வேறு கட்டங்களில் குறியீட்டைக் குறிக்கிறது மற்றும் இந்த பிரதிநிதித்துவங்களுக்கு இடையில் ஒரு வரைபடத்தைக் குறிக்கிறது. இது அதன் ஆவணத்தில் வரையறுக்கப்பட்ட ஒரு தனிப்பயன் திட்டத்தைப் பின்பற்றுகிறது. குறியீடு சொத்து வரைபடங்களில் இயந்திர கற்றல் குறியீடு சொத்து வரைபடங்கள் பாதிக்கப்படக்கூடிய கண்டுபிடிப்புக்கான பல இயந்திர கற்றல் அடிப்படையிலான அணுகுமுறைகளுக்கு அடிப்படையை வழங்குகின்றன. குறிப்பாக, கிராஃப் நியூரல் நெட்வொர்க்குகள் (ஜி. என். என்) பாதிக்கப்படக்கூடிய கண்டறிதல்களைப் பெற பயன்படுத்தப்படுகின்றன. சுருக்கமான தொடரியல் மரம் (AST) கட்டுப்பாட்டு-ஓட்ட வரைபடம் (CFG) நிரல் சார்பு வரைபடம் (PDG) வரைபட தரவுத்தள குறிப்புகள் கணினி பாதுகாப்பு மென்பொருள் பயன்பாடு-குறிப்பிட்ட வரைபடங்களையும் பார்க்கவும்.