Repository files navigation

BLIA

Developers generally trace the location of buggy source files based on the contents of bug reports, which include the report date, scenario in which the error occurs, product version, reporter, status and other fields. When an exception occurs, the user submits a bug report with stack traces. Developers grasp the bug scenario and then find the suspicious source files, which include the main words in the bug report. Stack traces are significant for localizing buggy source files and lines. The code line can be traced by finding the method names or class names in the bug report. Comments in bug reports include additional information that was not included when submitting bug reports. They also include the stack traces or crash logs of the software program.

In addition, similar bug reports that have been fixed also assist defect localization. If developers have found similar bug reports in a bug/issue management system, the fixed files of similar bug reports are candidates for the new bug report. Developers search commit logs as a source code change history in an SCM system to find related recent changes that may have produced new bugs. They analyze file, method or line differences between two versions to determine the bug location accurately.

To summarize, analyzable inputs to improve the accuracy for IR-based bug localization as follows:

  • Bug report (reported date, scenario, stack traces, comments and etc.)
  • Source files
  • Similar fixed bug reports
  • Source code change history (commit messages and differences among changes)

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories. We developed our technique based on above analyzable factors from the process for handling bug reports and from previous approaches. It is a prototyping tool for research on locating the suspicious source code files and methods that need to be fixed in order to fix a bug.

Researchers who are interested in our approach to improve IR-based bug localization can access all datasets, results and our BLIA tool at the following link:

https://github.com/klausyoum/BLIA

About

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

BLIA

Developers generally trace the location of buggy source files based on the contents of bug reports, which include the report date, scenario in which the error occurs, product version, reporter, status and other fields. When an exception occurs, the user submits a bug report with stack traces. Developers grasp the bug scenario and then find the suspicious source files, which include the main words in the bug report. Stack traces are significant for localizing buggy source files and lines. The code line can be traced by finding the method names or class names in the bug report. Comments in bug reports include additional information that was not included when submitting bug reports. They also include the stack traces or crash logs of the software program.

In addition, similar bug reports that have been fixed also assist defect localization. If developers have found similar bug reports in a bug/issue management system, the fixed files of similar bug reports are candidates for the new bug report. Developers search commit logs as a source code change history in an SCM system to find related recent changes that may have produced new bugs. They analyze file, method or line differences between two versions to determine the bug location accurately.

To summarize, analyzable inputs to improve the accuracy for IR-based bug localization as follows:

  • Bug report (reported date, scenario, stack traces, comments and etc.)
  • Source files
  • Similar fixed bug reports
  • Source code change history (commit messages and differences among changes)

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories. We developed our technique based on above analyzable factors from the process for handling bug reports and from previous approaches. It is a prototyping tool for research on locating the suspicious source code files and methods that need to be fixed in order to fix a bug.

Researchers who are interested in our approach to improve IR-based bug localization can access all datasets, results and our BLIA tool at the following link:

https://github.com/klausyoum/BLIA

About

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

BLIA

Developers generally trace the location of buggy source files based on the contents of bug reports, which include the report date, scenario in which the error occurs, product version, reporter, status and other fields. When an exception occurs, the user submits a bug report with stack traces. Developers grasp the bug scenario and then find the suspicious source files, which include the main words in the bug report. Stack traces are significant for localizing buggy source files and lines. The code line can be traced by finding the method names or class names in the bug report. Comments in bug reports include additional information that was not included when submitting bug reports. They also include the stack traces or crash logs of the software program.

In addition, similar bug reports that have been fixed also assist defect localization. If developers have found similar bug reports in a bug/issue management system, the fixed files of similar bug reports are candidates for the new bug report. Developers search commit logs as a source code change history in an SCM system to find related recent changes that may have produced new bugs. They analyze file, method or line differences between two versions to determine the bug location accurately.

To summarize, analyzable inputs to improve the accuracy for IR-based bug localization as follows:

  • Bug report (reported date, scenario, stack traces, comments and etc.)
  • Source files
  • Similar fixed bug reports
  • Source code change history (commit messages and differences among changes)

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories. We developed our technique based on above analyzable factors from the process for handling bug reports and from previous approaches. It is a prototyping tool for research on locating the suspicious source code files and methods that need to be fixed in order to fix a bug.

Researchers who are interested in our approach to improve IR-based bug localization can access all datasets, results and our BLIA tool at the following link:

https://github.com/klausyoum/BLIA

About

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

BLIA

Developers generally trace the location of buggy source files based on the contents of bug reports, which include the report date, scenario in which the error occurs, product version, reporter, status and other fields. When an exception occurs, the user submits a bug report with stack traces. Developers grasp the bug scenario and then find the suspicious source files, which include the main words in the bug report. Stack traces are significant for localizing buggy source files and lines. The code line can be traced by finding the method names or class names in the bug report. Comments in bug reports include additional information that was not included when submitting bug reports. They also include the stack traces or crash logs of the software program.

In addition, similar bug reports that have been fixed also assist defect localization. If developers have found similar bug reports in a bug/issue management system, the fixed files of similar bug reports are candidates for the new bug report. Developers search commit logs as a source code change history in an SCM system to find related recent changes that may have produced new bugs. They analyze file, method or line differences between two versions to determine the bug location accurately.

To summarize, analyzable inputs to improve the accuracy for IR-based bug localization as follows:

  • Bug report (reported date, scenario, stack traces, comments and etc.)
  • Source files
  • Similar fixed bug reports
  • Source code change history (commit messages and differences among changes)

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories. We developed our technique based on above analyzable factors from the process for handling bug reports and from previous approaches. It is a prototyping tool for research on locating the suspicious source code files and methods that need to be fixed in order to fix a bug.

Researchers who are interested in our approach to improve IR-based bug localization can access all datasets, results and our BLIA tool at the following link:

https://github.com/klausyoum/BLIA

About

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

BLIA

Developers generally trace the location of buggy source files based on the contents of bug reports, which include the report date, scenario in which the error occurs, product version, reporter, status and other fields. When an exception occurs, the user submits a bug report with stack traces. Developers grasp the bug scenario and then find the suspicious source files, which include the main words in the bug report. Stack traces are significant for localizing buggy source files and lines. The code line can be traced by finding the method names or class names in the bug report. Comments in bug reports include additional information that was not included when submitting bug reports. They also include the stack traces or crash logs of the software program.

In addition, similar bug reports that have been fixed also assist defect localization. If developers have found similar bug reports in a bug/issue management system, the fixed files of similar bug reports are candidates for the new bug report. Developers search commit logs as a source code change history in an SCM system to find related recent changes that may have produced new bugs. They analyze file, method or line differences between two versions to determine the bug location accurately.

To summarize, analyzable inputs to improve the accuracy for IR-based bug localization as follows:

  • Bug report (reported date, scenario, stack traces, comments and etc.)
  • Source files
  • Similar fixed bug reports
  • Source code change history (commit messages and differences among changes)

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories. We developed our technique based on above analyzable factors from the process for handling bug reports and from previous approaches. It is a prototyping tool for research on locating the suspicious source code files and methods that need to be fixed in order to fix a bug.

Researchers who are interested in our approach to improve IR-based bug localization can access all datasets, results and our BLIA tool at the following link:

https://github.com/klausyoum/BLIA

About

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

BLIA

Developers generally trace the location of buggy source files based on the contents of bug reports, which include the report date, scenario in which the error occurs, product version, reporter, status and other fields. When an exception occurs, the user submits a bug report with stack traces. Developers grasp the bug scenario and then find the suspicious source files, which include the main words in the bug report. Stack traces are significant for localizing buggy source files and lines. The code line can be traced by finding the method names or class names in the bug report. Comments in bug reports include additional information that was not included when submitting bug reports. They also include the stack traces or crash logs of the software program.

In addition, similar bug reports that have been fixed also assist defect localization. If developers have found similar bug reports in a bug/issue management system, the fixed files of similar bug reports are candidates for the new bug report. Developers search commit logs as a source code change history in an SCM system to find related recent changes that may have produced new bugs. They analyze file, method or line differences between two versions to determine the bug location accurately.

To summarize, analyzable inputs to improve the accuracy for IR-based bug localization as follows:

  • Bug report (reported date, scenario, stack traces, comments and etc.)
  • Source files
  • Similar fixed bug reports
  • Source code change history (commit messages and differences among changes)

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories. We developed our technique based on above analyzable factors from the process for handling bug reports and from previous approaches. It is a prototyping tool for research on locating the suspicious source code files and methods that need to be fixed in order to fix a bug.

Researchers who are interested in our approach to improve IR-based bug localization can access all datasets, results and our BLIA tool at the following link:

https://github.com/klausyoum/BLIA

About

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

BLIA

Developers generally trace the location of buggy source files based on the contents of bug reports, which include the report date, scenario in which the error occurs, product version, reporter, status and other fields. When an exception occurs, the user submits a bug report with stack traces. Developers grasp the bug scenario and then find the suspicious source files, which include the main words in the bug report. Stack traces are significant for localizing buggy source files and lines. The code line can be traced by finding the method names or class names in the bug report. Comments in bug reports include additional information that was not included when submitting bug reports. They also include the stack traces or crash logs of the software program.

In addition, similar bug reports that have been fixed also assist defect localization. If developers have found similar bug reports in a bug/issue management system, the fixed files of similar bug reports are candidates for the new bug report. Developers search commit logs as a source code change history in an SCM system to find related recent changes that may have produced new bugs. They analyze file, method or line differences between two versions to determine the bug location accurately.

To summarize, analyzable inputs to improve the accuracy for IR-based bug localization as follows:

  • Bug report (reported date, scenario, stack traces, comments and etc.)
  • Source files
  • Similar fixed bug reports
  • Source code change history (commit messages and differences among changes)

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories. We developed our technique based on above analyzable factors from the process for handling bug reports and from previous approaches. It is a prototyping tool for research on locating the suspicious source code files and methods that need to be fixed in order to fix a bug.

Researchers who are interested in our approach to improve IR-based bug localization can access all datasets, results and our BLIA tool at the following link:

https://github.com/klausyoum/BLIA

About

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

BLIA

Developers generally trace the location of buggy source files based on the contents of bug reports, which include the report date, scenario in which the error occurs, product version, reporter, status and other fields. When an exception occurs, the user submits a bug report with stack traces. Developers grasp the bug scenario and then find the suspicious source files, which include the main words in the bug report. Stack traces are significant for localizing buggy source files and lines. The code line can be traced by finding the method names or class names in the bug report. Comments in bug reports include additional information that was not included when submitting bug reports. They also include the stack traces or crash logs of the software program.

In addition, similar bug reports that have been fixed also assist defect localization. If developers have found similar bug reports in a bug/issue management system, the fixed files of similar bug reports are candidates for the new bug report. Developers search commit logs as a source code change history in an SCM system to find related recent changes that may have produced new bugs. They analyze file, method or line differences between two versions to determine the bug location accurately.

To summarize, analyzable inputs to improve the accuracy for IR-based bug localization as follows:

  • Bug report (reported date, scenario, stack traces, comments and etc.)
  • Source files
  • Similar fixed bug reports
  • Source code change history (commit messages and differences among changes)

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories. We developed our technique based on above analyzable factors from the process for handling bug reports and from previous approaches. It is a prototyping tool for research on locating the suspicious source code files and methods that need to be fixed in order to fix a bug.

Researchers who are interested in our approach to improve IR-based bug localization can access all datasets, results and our BLIA tool at the following link:

https://github.com/klausyoum/BLIA

About

BLIA is a statically integrated analysis approach of IR-based bug localization by utilizing texts and stack traces in bug reports, structured information of source files, and source code change histories.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages