The Multi-lingual Bug-Fix dataset Constructor (MBFC) aims to mine bug-fix pairs from public github events, with rich information such as bug-fix description, fault type and more.
Language | Repo Info | Bug-Fix Description | Fault Type (partly) | File-Level Pair | Method-level Pair | Line-Level Pair |
---|---|---|---|---|---|---|
Javascript | √ | √ | √ | √ | √ | √ |
Python | √ | √ | √ | √ | √ | √ |
Java | √ | √ | √ | √ | √ | √ |
C | √ | √ | √ | √ | √ | √ |
C++ | √ | √ | √ | √ | √ | √ |
C# | √ | √ | √ | √ | √ | √ |
Go | √ | √ | √ | √ | going | going |
PHP | √ | √ | √ | √ | going | going |
Rust | √ | √ | √ | √ | going | going |
Swift | √ | √ | √ | √ | going | going |
Ruby | √ | √ | √ | √ | going | going |
TypeScript | √ | √ | √ | √ | going | going |
**NOTES:
- "buggy_file_content" is deprecated for saving storage. Instead, we provide transformation API to generate the content of the buggy file in real time using "fix_file_content" and "patch".
- "fault_location" is deprecated. The contents of the fault location, as well as method-level context and line-level context are moved to the new keyword "context_and_location"
{
"event_info": {
"event_id": "13085106151",
"event_type": "PullRequestEvent",
"merged": true
},
"repo": {
"repo_url": "https://api.github.com/repos/ovis-hpc/ovis",
"stars": 87,
"language": "C",
"forks": 45,
"license": "other"
},
"bf_info": {
"buggy_file_content": null,
"fix_file_info": {
"file_path": "ldms/src/contrib/store/tutorial/store_tutorial.c",
"url": "https://api.github.com/repos/ovis-hpc/ovis/contents/ldms/src/contrib/store/tutorial/store_tutorial.c?ref=dfed2a4ba25a14af0dc04741ef8bfb10c35496c8",
"content": "LyoqCiAqIENvcHlyaWdodCAoYykgMjAxOSBOYXRpb25hbCBUZWNobm9sb2d5\nICYgRW5naW5lZXJpbmcgU29sdXRpb25zCiAqIG9mIFNhbmRpYSwgTExDIChO\nVEVTUykuIFVuZGVyIHRoZSB0ZXJtcyBvZiBDb250cmFjdCBERS1OQTAwMDM1\nMjUgd2l0aAogKiBOVEVTUywgdGhlIFUuUy4gR292ZXJubWVudCByZXRhaW5z\nIGNlcnRhaW4gcmlnaHRzIGluIHRoaXMgc29mdHdhcmUuCiAqIENvcHlyaWdo\ndCAoYykgMjAxOSBPcGVuIEdyaWQgQ29tcHV0aW5nLCBJbmMuIEFsbCByaWdo\ndHMgcmVzZXJ2ZWQuCiAqCiAqIFRoaXMgc29mdHdhcmUgaXMgYXZhaWxhYmxl\nIHRvIHlvdSB1bmRlciBhIGNob2ljZSBvZiBvbmUgb2YgdHdvCiAqIGxpY2Vu\nc2VzLiAgWW91IG1heSBjaG9vc2UgdG8gYmUgbGljZW5zZWQgdW5kZXIgdGhl\nIHRlcm1zIG9mIHRoZSBHTlUKICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAo\nR1BMKSBWZXJzaW9uIDIsIGF2YWlsYWJsZSBmcm9tIHRoZSBmaWxlCiAqIENP\nUFlJTkcgaW4gdGhlIG1haW4gZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRy\nZWUsIG9yIHRoZSBCU0QtdHlwZQogKiBsaWNlbnNlIGJlbG93OgogKgogKiBS\nZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv\ncm1zLCB3aXRoIG9yIHdpdGhvdXQKICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy\nbWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z\nCiAqIGFyZSBtZXQ6CiAqCiAqICAgICAgUmVkaXN0cmlidXRpb25zIG9mIHNv\ndXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKICog\nICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg\nZm9sbG93aW5nIGRpc2NsYWltZXIuCiAqCiAqICAgICAgUmVkaXN0cmlidXRp\nb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQog\nKiAgICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp\nb25zIGFuZCB0aGUgZm9sbG93aW5nCiAqICAgICAgZGlzY2xhaW1lciBpbiB0\naGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp\nZGVkCiAqICAgICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogKgogKiAgICAg\nIE5laXRoZXIgdGhlIG5hbWUgb2YgU2FuZGlhIG5vciB0aGUgbmFtZXMgb2Yg\nYW55IGNvbnRyaWJ1dG9ycyBtYXkKICogICAgICBiZSB1c2VkIHRvIGVuZG9y\nc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0\nd2FyZQogKiAgICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw\nZXJtaXNzaW9uLgogKgogKiAgICAgIE5laXRoZXIgdGhlIG5hbWUgb2YgT3Bl\nbiBHcmlkIENvbXB1dGluZyBub3IgdGhlIG5hbWVzIG9mIGFueQogKiAgICAg\nIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v\ndGUgcHJvZHVjdHMgZGVyaXZlZAogKiAgICAgIGZyb20gdGhpcyBzb2Z0d2Fy\nZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4K\nICoKICogICAgICBNb2RpZmllZCBzb3VyY2UgdmVyc2lvbnMgbXVzdCBiZSBw\nbGFpbmx5IG1hcmtlZCBhcyBzdWNoLCBhbmQKICogICAgICBtdXN0IG5vdCBi\nZSBtaXNyZXByZXNlbnRlZCBhcyBiZWluZyB0aGUgb3JpZ2luYWwgc29mdHdh\ncmUuCiAqCiAqCiAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF\nIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKICogIkFTIElT\nIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM\nVURJTkcsIEJVVCBOT1QKICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS\nUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCiAq\nIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF\nVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCiAqIE9XTkVSIE9SIENPTlRSSUJV\nVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ\nREVOVEFMLAogKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ\nQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCiAqIExJTUlURUQgVE8s\nIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7\nIExPU1MgT0YgVVNFLAogKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT\nUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKICog\nVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS\nSUNUIExJQUJJTElUWSwgT1IgVE9SVAogKiAoSU5DTFVESU5HIE5FR0xJR0VO\nQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI\nRSBVU0UKICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G\nIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICovCgojaW5jbHVk\nZSA8Y3R5cGUuaD4KI2luY2x1ZGUgPHN5cy9xdWV1ZS5oPgojaW5jbHVkZSA8\nc3lzL3R5cGVzLmg+CiNpbmNsdWRlIDxzeXMvc3RhdC5oPgojaW5jbHVkZSA8\nc3lzL3RpbWUuaD4KI2luY2x1ZGUgPGZjbnRsLmg+CiNpbmNsdWRlIDxzdGRi\nb29sLmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RyaW5nLmg+\nCiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0ZGFyZy5oPgojaW5j\nbHVkZSA8bGludXgvbGltaXRzLmg+CiNpbmNsdWRlIDxwdGhyZWFkLmg+CiNp\nbmNsdWRlIDxlcnJuby5oPgojaW5jbHVkZSA8dW5pc3RkLmg+CiNpbmNsdWRl\nICJsZG1zLmgiCiNpbmNsdWRlICJsZG1zZC5oIgoKCiNpZm5kZWYgQVJSQVlf\nU0laRQojZGVmaW5lIEFSUkFZX1NJWkUoYSkgKHNpemVvZihhKSAvIHNpemVv\nZigqYSkpCiNlbmRpZgoKCiNkZWZpbmUgUE5BTUUgInN0b3JlX3R1dG9yaWFs\nIgojZGVmaW5lIE1BWFNDSEVNQSA1CgpzdGF0aWMgbGRtc2RfbXNnX2xvZ19m\nIG1zZ2xvZzsKCiNkZWZpbmUgX3N0cmluZ2lmeShfeCkgI194CiNkZWZpbmUg\nc3RyaW5naWZ5KF94KSBfc3RyaW5naWZ5KF94KQoKI2RlZmluZSBMT0dGSUxF\nICIvdmFyL2xvZy9zdG9yZV90dXRvcmlhbC5sb2ciCgpzdHJ1Y3QgdHV0b3Jp\nYWxfc3RvcmVfaGFuZGxlIHsKCXN0cnVjdCBsZG1zZF9zdG9yZSAqc3RvcmU7\nCgljaGFyICpwYXRoOyAvL2Z1bGwgcGF0aCB3aWxsIGJlIHBhdGgvY29udGFp\nbmVyL3NjaGVtYQoJRklMRSAqZmlsZTsKCXB0aHJlYWRfbXV0ZXhfdCBsb2Nr\nOwoJdm9pZCAqdWNvbnRleHQ7Cn07CgovL1RVVDoga2VlcGluZyB0aGVzZSBi\nZWNhdXNlIGluIGEgbW9yZSBjb21wbGV4IHNjZW5hcmlvIHdvdWxkIHVzZSB0\naGUgdmFsdWVzIGZvciBmbHVzaCBhbmQgc2VhcmNoaW5nIGZvciBhIHN0b3Jl\nIHRvIGNsb3NlCnN0YXRpYyBzdHJ1Y3QgdHV0b3JpYWxfc3RvcmVfaGFuZGxl\nKiB0c3RvcmVoYW5kbGVbTUFYU0NIRU1BXTsKc3RhdGljIGludCBudW1zY2hl\nbWEgPSAwOwpzdGF0aWMgY2hhciogcm9vdF9wYXRoOwpzdGF0aWMgcHRocmVh\nZF9tdXRleF90IGNmZ19sb2NrOwoKCgovKioKICogXGJyaWVmIENvbmZpZ3Vy\nYXRpb24KICovCnN0YXRpYyBpbnQgY29uZmlnKHN0cnVjdCBsZG1zZF9wbHVn\naW4gKnNlbGYsIHN0cnVjdCBhdHRyX3ZhbHVlX2xpc3QgKmt3bCwgc3RydWN0\nIGF0dHJfdmFsdWVfbGlzdCAqYXZsKQp7CgljaGFyKiBzOwoJaW50IHJjID0g\nMDsKCglwdGhyZWFkX211dGV4X2xvY2soJmNmZ19sb2NrKTsKCXMgPSBhdl92\nYWx1ZShhdmwsICJwYXRoIik7CglpZiAoIXMpewoJICAgbXNnbG9nKExETVNE\nX0xERUJVRywgUE5BTUUgIjogbWlzc2luZyBwYXRoIGluIGNvbmZpZ1xuIik7\nCgkgICByYyA9IEVJTlZBTDsKCX0gZWxzZSB7CgkgIHJvb3RfcGF0aCA9IHN0\ncmR1cChzKTsKCSAgbXNnbG9nKExETVNEX0xERUJVRywgUE5BTUUgIjogc2V0\ndGluZyByb290X3BhdGggdG8gJyVzJ1xuIiwgcm9vdF9wYXRoKTsKCX0KCm91\ndDoKCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZjZmdfbG9jayk7CgoJcmV0dXJu\nIHJjOwp9CgpzdGF0aWMgdm9pZCB0ZXJtKHN0cnVjdCBsZG1zZF9wbHVnaW4g\nKnNlbGYpCnsKCS8vbm90IGltcGxlbWVudGVkCglyZXR1cm47Cn0KCnN0YXRp\nYyBjb25zdCBjaGFyICp1c2FnZShzdHJ1Y3QgbGRtc2RfcGx1Z2luICpzZWxm\nKQp7CglyZXR1cm4gICIgICAgY29uZmlnIG5hbWU9c3RvcmVfdHV0b3JpYWwg\ncGF0aD08cGF0aD4gXG4iCgkJIiAgICAgICAgIC0gU2V0IHRoZSByb290IHBh\ndGggZm9yIHRoZSBzdG9yYWdlIG9mIGNzdnMgYW5kIHNvbWUgZGVmYXVsdCBw\nYXJhbWV0ZXJzXG4iCgkJIiAgICAgICAgIC0gcGF0aCAgICAgIFRoZSBwYXRo\nIHRvIHRoZSByb290IG9mIHRoZSBjc3YgZGlyZWN0b3J5XG4iCgkJOwp9Cgpz\ndGF0aWMgdm9pZCAqZ2V0X3Vjb250ZXh0KGxkbXNkX3N0b3JlX2hhbmRsZV90\nIF9zX2hhbmRsZSkKewoJc3RydWN0IHR1dG9yaWFsX3N0b3JlX2hhbmRsZSAq\nc19oYW5kbGUgPSBfc19oYW5kbGU7CglyZXR1cm4gc19oYW5kbGUtPnVjb250\nZXh0Owp9CgoKc3RhdGljIGxkbXNkX3N0b3JlX2hhbmRsZV90Cm9wZW5fc3Rv\ncmUoc3RydWN0IGxkbXNkX3N0b3JlICpzLCBjb25zdCBjaGFyICpjb250YWlu\nZXIsIGNvbnN0IGNoYXIqIHNjaGVtYSwKCQlzdHJ1Y3QgbGRtc2Rfc3RyZ3Bf\nbWV0cmljX2xpc3QgKmxpc3QsIHZvaWQgKnVjb250ZXh0KQp7CglzdHJ1Y3Qg\ndHV0b3JpYWxfc3RvcmVfaGFuZGxlICpzX2hhbmRsZSA9IE5VTEw7CglpbnQg\ncmMgPSAwOwoJY2hhciogcGF0aCA9IE5VTEw7CgljaGFyKiBkcGF0aCA9IE5V\nTEw7CgoJcHRocmVhZF9tdXRleF9sb2NrKCZjZmdfbG9jayk7CglpZiAoIXJv\nb3RfcGF0aCkgewoJICAgICBtc2dsb2coTERNU0RfTEVSUk9SLCBQTkFNRSAi\nOiBjb25maWcgbm90IGNhbGxlZC4gY2Fubm90IG9wZW4uXG4iKTsKCSAgICAg\ncmV0dXJuIE5VTEw7Cgl9CgoJaWYgKG51bXNjaGVtYSA9PSAoTUFYU0NIRU1B\nLTEpKXsKCSAgICAgbXNnbG9nKExETVNEX0xFUlJPUiwgUE5BTUUgIjogRXhj\nZWVkZWQgTUFYU0NIRU1BLiBjYW5ub3Qgb3Blbi5cbiIpOwoJICAgICByZXR1\ncm4gTlVMTDsKCX0KCgoJc2l6ZV90IHBhdGhsZW4gPSBzdHJsZW4ocm9vdF9w\nYXRoKSArIHN0cmxlbihzY2hlbWEpICsgc3RybGVuKGNvbnRhaW5lcikgKyA4\nOwoJcGF0aCA9IG1hbGxvYyhwYXRobGVuKTsKCWlmICghcGF0aCkKCSAgIGdv\ndG8gb3V0OwoJZHBhdGggPSBtYWxsb2MocGF0aGxlbik7CglpZiAoIWRwYXRo\nKQoJICAgZ290byBvdXQ7CglzcHJpbnRmKHBhdGgsICIlcy8lcy8lcyIsIHJv\nb3RfcGF0aCwgY29udGFpbmVyLCBzY2hlbWEpOwoJc3ByaW50ZihkcGF0aCwg\nIiVzLyVzIiwgcm9vdF9wYXRoLCBjb250YWluZXIpOwoKCW1zZ2xvZyhMRE1T\nRF9MREVCVUcsIFBOQU1FICI6IHNjaGVtYSAnJXMnIHdpbGwgaGF2ZSBmaWxl\nIHBhdGggJyVzJ1xuIiwgc2NoZW1hLCBwYXRoKTsKCglzX2hhbmRsZSA9IGNh\nbGxvYygxLCBzaXplb2YgKnNfaGFuZGxlKTsKCWlmICghc19oYW5kbGUpCgkJ\nZ290byBlcnIwOwoKCXB0aHJlYWRfbXV0ZXhfaW5pdCgmc19oYW5kbGUtPmxv\nY2ssIE5VTEwpOwoJcHRocmVhZF9tdXRleF9sb2NrKCZzX2hhbmRsZS0+bG9j\nayk7CglzX2hhbmRsZS0+dWNvbnRleHQgPSB1Y29udGV4dDsKCXNfaGFuZGxl\nLT5zdG9yZSA9IHM7CglzX2hhbmRsZS0+cGF0aCA9IHN0cmR1cChwYXRoKTsK\nCgoJLyogY3JlYXRlIHBhdGggaWYgbm90IGFscmVhZHkgdGhlcmUuICovCgly\nYyA9IG1rZGlyKGRwYXRoLCAwNzc3KTsKCWlmICgocmMgIT0gMCkgJiYgKGVy\ncm5vICE9IEVFWElTVCkpIHsKCQltc2dsb2coTERNU0RfTEVSUk9SLCBQTkFN\nRSAiOiBGYWlsdXJlICVkIGNyZWF0aW5nIGRpcmVjdG9yeSAnJXMnXG4iLAoJ\nCQkgZXJybm8sIGRwYXRoKTsKCQlnb3RvIGVycjE7Cgl9CgoJc19oYW5kbGUt\nPmZpbGUgPSBmb3Blbl9wZXJtKHNfaGFuZGxlLT5wYXRoLCAiYSsiLCBMRE1T\nRF9ERUZBVUxUX0ZJTEVfUEVSTSk7CglpZiAoIXNfaGFuZGxlLT5maWxlKXsK\nCQltc2dsb2coTERNU0RfTEVSUk9SLCBQTkFNRSAiOiBFcnJvciAlZCBvcGVu\naW5nIHRoZSBmaWxlICVzLlxuIiwKCQkgICAgICAgZXJybm8sIHNfaGFuZGxl\nLT5wYXRoKTsKCQlnb3RvIGVycjE7Cgl9CglwdGhyZWFkX211dGV4X3VubG9j\naygmc19oYW5kbGUtPmxvY2spOwoKCXRzdG9yZWhhbmRsZVtudW1zY2hlbWEr\nK10gPSBzX2hhbmRsZTsKCglnb3RvIG91dDsKCmVycjE6CglmY2xvc2Uoc19o\nYW5kbGUtPmZpbGUpOwoJc19oYW5kbGUtPmZpbGUgPSBOVUxMOwoJcHRocmVh\nZF9tdXRleF91bmxvY2soJnNfaGFuZGxlLT5sb2NrKTsKCXB0aHJlYWRfbXV0\nZXhfZGVzdHJveSgmc19oYW5kbGUtPmxvY2spOwoKZXJyMDoKCglmcmVlKHNf\naGFuZGxlKTsKCXNfaGFuZGxlID0gTlVMTDsKb3V0OgoKCWZyZWUocGF0aCk7\nCglmcmVlKGRwYXRoKTsKCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZjZmdfbG9j\nayk7CglyZXR1cm4gc19oYW5kbGU7Cn0KCgpzdGF0aWMgaW50IHN0b3JlKGxk\nbXNkX3N0b3JlX2hhbmRsZV90IF9zaCwgbGRtc19zZXRfdCBzZXQsIGludCAq\nbWV0cmljX2FycmF5LCBzaXplX3QgbWV0cmljX2NvdW50KQp7Cgljb25zdCBz\ndHJ1Y3QgbGRtc190aW1lc3RhbXAgX3RzID0gbGRtc190cmFuc2FjdGlvbl90\naW1lc3RhbXBfZ2V0KHNldCk7Cgljb25zdCBzdHJ1Y3QgbGRtc190aW1lc3Rh\nbXAgKnRzID0gJl90czsKCWNvbnN0IGNoYXIqIHBuYW1lOwoJc3RydWN0IHR1\ndG9yaWFsX3N0b3JlX2hhbmRsZSAqc19oYW5kbGU7CglpbnQgaSwgajsKCWlu\ndCByYywgcmN1OwoKCXNfaGFuZGxlID0gX3NoOwoJaWYgKCFzX2hhbmRsZSkK\nCQlyZXR1cm4gRUlOVkFMOwoKCXB0aHJlYWRfbXV0ZXhfbG9jaygmc19oYW5k\nbGUtPmxvY2spOwoJaWYgKCFzX2hhbmRsZS0+ZmlsZSl7CgkJbXNnbG9nKExE\nTVNEX0xFUlJPUiwgUE5BTUUgIjogQ2Fubm90IGluc2VydCB2YWx1ZXMgZm9y\nIDwlcz46IGZpbGUgaXMgTlVMTFxuIiwKCQkgICAgICAgc19oYW5kbGUtPnBh\ndGgpOwoJCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZzX2hhbmRsZS0+bG9jayk7\nCgkJcmV0dXJuIEVQRVJNOwoJfQoKCS8vIFRVVDogd291bGQgcHJpbnQgaGVh\nZGVyIGhlcmUgaWYgaXQgd2VyZSB0aGUgZmlyc3QgdGltZQoKCWZwcmludGYo\nc19oYW5kbGUtPmZpbGUsICIlIlBSSXUzMiIuJTA2IlBSSXUzMiAiLCUiUFJJ\ndTMyLAoJCXRzLT5zZWMsIHRzLT51c2VjLCB0cy0+dXNlYyk7CglmcHJpbnRm\nKHNfaGFuZGxlLT5maWxlLCAiLCIpOwoJcG5hbWUgPSBsZG1zX3NldF9wcm9k\ndWNlcl9uYW1lX2dldChzZXQpOwoJaWYgKHBuYW1lICE9IE5VTEwpCgkJZnBy\naW50ZihzX2hhbmRsZS0+ZmlsZSwgIiVzIiwgcG5hbWUpOwoKCgljb25zdCBj\naGFyICogc3RyOwoJZm9yIChpID0gMDsgaSAhPSBtZXRyaWNfY291bnQ7IGkr\nKykgewoJCWVudW0gbGRtc192YWx1ZV90eXBlIG1ldHJpY190eXBlID0gbGRt\nc19tZXRyaWNfdHlwZV9nZXQoc2V0LCBtZXRyaWNfYXJyYXlbaV0pOwoJCS8v\nVFVUOiBvbmx5IHN1cHBvcnRpbmcgVTY0CgkJc3dpdGNoIChtZXRyaWNfdHlw\nZSl7CgkJY2FzZSBMRE1TX1ZfVTY0OgoJCQlyYyA9IGZwcmludGYoc19oYW5k\nbGUtPmZpbGUsICIsJSJQUkl1NjQsCgkJCQkJbGRtc19tZXRyaWNfZ2V0X3U2\nNChzZXQsIG1ldHJpY19hcnJheVtpXSkpOwoJCQlpZiAocmMgPCAwKQoJCQkJ\nbXNnbG9nKExETVNEX0xFUlJPUiwgUE5BTUUgIjogRXJyb3IgJWQgd3JpdGlu\nZyB0byAnJXMnXG4iLAoJCQkJCQlyYywgc19oYW5kbGUtPnBhdGgpOwoJCQli\ncmVhazsKCQlkZWZhdWx0OgoJCSAgbXNnbG9nKExETVNEX0xFUlJPUiwgUE5B\nTUUgIjogY2Fubm90IGhhbmRsZSBtZXRyaWMgdHlwZSBmb3IgbWV0cmljICVk\nXG4iLCBpKTsKCQl9Cgl9CglmcHJpbnRmKHNfaGFuZGxlLT5maWxlLCJcbiIp\nOwoKCXB0aHJlYWRfbXV0ZXhfdW5sb2NrKCZzX2hhbmRsZS0+bG9jayk7CgoJ\ncmV0dXJuIDA7Cn0KCnN0YXRpYyBpbnQgZmx1c2hfc3RvcmUobGRtc2Rfc3Rv\ncmVfaGFuZGxlX3QgX3NfaGFuZGxlKQp7CiAgLy9ub3QgaW1wbGVtZW50ZWQK\nCXJldHVybiAwOwp9CgpzdGF0aWMgdm9pZCBjbG9zZV9zdG9yZShsZG1zZF9z\ndG9yZV9oYW5kbGVfdCBfc19oYW5kbGUpCnsKCiAgLy9ub3QgaW1wbGVtZW50\nZWQKCXJldHVybjsKfQoKc3RhdGljIHN0cnVjdCBsZG1zZF9zdG9yZSBzdG9y\nZV90dXRvcmlhbCA9IHsKCS5iYXNlID0gewoJCQkubmFtZSA9ICJzdG9yZV90\ndXRvcmlhbCIsCgkJCS50eXBlID0gTERNU0RfUExVR0lOX1NUT1JFLAoJCQku\ndGVybSA9IHRlcm0sCgkJCS5jb25maWcgPSBjb25maWcsCgkJCS51c2FnZSA9\nIHVzYWdlLAoJfSwKCS5vcGVuID0gb3Blbl9zdG9yZSwKCS5nZXRfY29udGV4\ndCA9IGdldF91Y29udGV4dCwKCS5zdG9yZSA9IHN0b3JlLAoJLmZsdXNoID0g\nZmx1c2hfc3RvcmUsCgkuY2xvc2UgPSBjbG9zZV9zdG9yZSwKfTsKCnN0cnVj\ndCBsZG1zZF9wbHVnaW4gKmdldF9wbHVnaW4obGRtc2RfbXNnX2xvZ19mIHBm\nKQp7Cgltc2dsb2cgPSBwZjsKCXJldHVybiAmc3RvcmVfdHV0b3JpYWwuYmFz\nZTsKfQoKc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKGNvbnN0cnVjdG9y\nKSkgc3RvcmVfdHV0b3JpYWxfaW5pdCgpOwpzdGF0aWMgdm9pZCBzdG9yZV90\ndXRvcmlhbF9pbml0KCkKewoJcHRocmVhZF9tdXRleF9pbml0KCZjZmdfbG9j\naywgTlVMTCk7Cn0KCnN0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChkZXN0\ncnVjdG9yKSkgc3RvcmVfdHV0b3JpYWxfZmluaSh2b2lkKTsKc3RhdGljIHZv\naWQgc3RvcmVfdHV0b3JpYWxfZmluaSgpCnsKCXB0aHJlYWRfbXV0ZXhfZGVz\ndHJveSgmY2ZnX2xvY2spOwp9Cg==\n",
"encoding": "base64"
},
"commit_url": "https://api.github.com/repos/ovis-hpc/ovis/commits/dfed2a4ba25a14af0dc04741ef8bfb10c35496c8",
"commit_message": "fix missing rc initialization",
"patch": "@@ -83,7 +83,7 @@ static ldmsd_msg_log_f msglog;\n \n struct tutorial_store_handle {\n \tstruct ldmsd_store *store;\n- char *path; //full path will be path/container/schema\n+\tchar *path; //full path will be path/container/schema\n \tFILE *file;\n \tpthread_mutex_t lock;\n \tvoid *ucontext;\n@@ -102,13 +102,13 @@ static pthread_mutex_t cfg_lock;\n */\n static int config(struct ldmsd_plugin *self, struct attr_value_list *kwl, struct attr_value_list *avl)\n {\n- char* s;\n-\tint rc;\n+\tchar* s;\n+\tint rc = 0;\n \n \tpthread_mutex_lock(&cfg_lock);\n \ts = av_value(avl, \"path\");\n \tif (!s){\n- msglog(LDMSD_LDEBUG, PNAME \": missing path in config\\n\");\n+\t msglog(LDMSD_LDEBUG, PNAME \": missing path in config\\n\");\n \t rc = EINVAL;\n \t} else {\n \t root_path = strdup(s);\n@@ -123,8 +123,8 @@ static int config(struct ldmsd_plugin *self, struct attr_value_list *kwl, struct\n \n static void term(struct ldmsd_plugin *self)\n {\n- //not implemented\n- return;\n+\t//not implemented\n+\treturn;\n }\n \n static const char *usage(struct ldmsd_plugin *self)\n@@ -166,10 +166,10 @@ open_store(struct ldmsd_store *s, const char *container, const char* schema,\n \tsize_t pathlen = strlen(root_path) + strlen(schema) + strlen(container) + 8;\n \tpath = malloc(pathlen);\n \tif (!path)\n- goto out;\n+\t goto out;\n \tdpath = malloc(pathlen);\n \tif (!dpath)\n- goto out;\n+\t goto out;\n \tsprintf(path, \"%s/%s/%s\", root_path, container, schema);\n \tsprintf(dpath, \"%s/%s\", root_path, container);\n \n@@ -196,14 +196,14 @@ open_store(struct ldmsd_store *s, const char *container, const char* schema,\n \n \ts_handle->file = fopen_perm(s_handle->path, \"a+\", LDMSD_DEFAULT_FILE_PERM);\n \tif (!s_handle->file){\n- msglog(LDMSD_LERROR, PNAME \": Error %d opening the file %s.\\n\",\n+\t\tmsglog(LDMSD_LERROR, PNAME \": Error %d opening the file %s.\\n\",\n \t\t errno, s_handle->path);\n \t\tgoto err1;\n \t}\n \tpthread_mutex_unlock(&s_handle->lock);\n \n \ttstorehandle[numschema++] = s_handle;\n-\t\n+\n \tgoto out;\n \n err1:\n@@ -289,7 +289,7 @@ static void close_store(ldmsd_store_handle_t _s_handle)\n {\n \n //not implemented\n- return;\n+\treturn;\n }\n \n static struct ldmsd_store store_tutorial = {",
"fault_type": null,
"fault_location": null
},
"issue_info": {
"issue_url": "https://api.github.com/repos/ovis-hpc/ovis/issues/352",
"issue_title": "fix missing rc initialization",
"issue_comments_url": "https://api.github.com/repos/ovis-hpc/ovis/issues/352/comments",
"issue_comments_content": "Initialize rc on line 106. \r\nAll other changes are whitespace."
},
"context_and_location": {
"Actions": [
{
"DstLineLevelContext": "int rc = 0;",
"DstLineLevelContextEndLine": 106,
"Type": "Insert",
"DstMethodLevelContext": "static int config(struct ldmsd_plugin *self, struct attr_value_list *kwl, struct attr_value_list *avl)\n{\n\tchar* s;\n\tint rc = 0;\n\n\tpthread_mutex_lock(&cfg_lock);\n\ts = av_value(avl, \"path\");\n\tif (!s){\n\t msglog(LDMSD_LDEBUG, PNAME \": missing path in config\\n\");\n\t rc = EINVAL;\n\t} else {\n\t root_path = strdup(s);\n\t msglog(LDMSD_LDEBUG, PNAME \": setting root_path to '%s'\\n\", root_path);\n\t}\n\nout:\n\tpthread_mutex_unlock(&cfg_lock);\n\n\treturn rc;\n}",
"SrcLineLevelContext": "int rc;",
"DstMethodLevelContextStartLine": 103,
"SrcMethodLevelContext": "static int config(struct ldmsd_plugin *self, struct attr_value_list *kwl, struct attr_value_list *avl)\n{\n char* s;\n\tint rc;\n\n\tpthread_mutex_lock(&cfg_lock);\n\ts = av_value(avl, \"path\");\n\tif (!s){\n msglog(LDMSD_LDEBUG, PNAME \": missing path in config\\n\");\n\t rc = EINVAL;\n\t} else {\n\t root_path = strdup(s);\n\t msglog(LDMSD_LDEBUG, PNAME \": setting root_path to '%s'\\n\", root_path);\n\t}\n\nout:\n\tpthread_mutex_unlock(&cfg_lock);\n\n\treturn rc;\n}",
"SrcLineLevelContextStartLine": 106,
"SrcLineLevelContextEndLine": 106,
"DstLineLevelContextStartLine": 106,
"SrcMethodLevelContextStartLine": 103,
"SrcMethodLevelContextEndLine": 122,
"DstMethodLevelContextEndLine": 122
}
]
}
}
python CLI_Command.py --mode download_events --month 2021-01 --downloads_save_dir <your_save_dir>
python CLI_Command.py --mode mine_basic_information --au_token <github_au_token> --month_dir --downs_save_dir <save_dir_in_step(1)>
python CLI_Command.py --mode infer_fault_type --month_dir <the path store mined information at (2)> --log_path <log_path>
python CLI_Command.py --mode parse_contextual_pairs --month_dir <the path store mined information at (2)> --log_path <log_path> --jar_path ./Resource/BFCollector.jar
python CLI_Command.py --mode export_data --language <which_program_language> --events_type <Push|PR|All> --context_level <File|Method|Line> --fault_type <fault_type_id|All> --output_file
2020-1 to 2020-9: https://mega.nz/folder/7Il13BRJ#U8Q8x2Etcvo-bhRsSa9hbQ