Emad Shihab presented research on predicting high-impact software defects.
The study explored challenges in predicting surprise and breakage defects using traditional metrics like size and pre-release defects. It achieved 2-3x improved precision and high recall by considering additional factors like co-changed files and time.
Specialized models that focused only on high-impact defects like breakages and surprises saved 40-50% effort over general models. Traditional metrics like size and pre-release defects were less important for predicting these defects compared to newer factors.
The research demonstrated that focusing prediction models on high-impact defects provided more actionable results to practitioners compared to traditional defect prediction approaches. This allowed test and validation efforts to be targeted
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...University of Antwerp
With the rise of agile development, software teams all over the world embrace faster release cycles as *the* way to incorporate customer feedback into product development processes. Yet, faster release cycles imply rethinking the traditional notion of software quality: agile teams must balance reliability (minimize known defects) against agility (maximize ease of change). This talk will explore the state-of-the-art in software test automation and the opportunities this may present for maintaining this balance. We will address questions like: Will our test suite detect critical defects early? If not, how can we improve our test suite? Where should we fix a defect?
(Keynote for the SHIFT 2020 and IWSF 2020 Workshops, October 2020)
Empirical Software Engineering at Microsoft ResearchThomas Zimmermann
An invited talk that I gave in Tokyo. Very special thanks to Shuji Morisaki who was my translator during the session. Many thanks to Chris Bird, Nachi Nagappan, Rahul Premraj, and Sascha Just who provided slides for this talk.
This document summarizes a presentation on software analytics. It discusses definitions of software analytics, types of analytics like web and game analytics, the history and various names of software analytics. It outlines key information needs for software development analytics like summarization, alerts, trends and benchmarks. Smart analytics is described as being actionable, real-time, diverse, and sharing insights, methods, models and data. An example is provided of sharing a defect prediction model and discussing challenges with cross-project prediction. Finally, an example is given of sharing insights around skill in the game Halo Reach.
Enabling and Supporting the Debugging of Field Failures (Job Talk)James Clause
This paper presents a new framework called Dytan for performing dynamic taint analysis. Dytan is designed to be highly flexible, customizable, and general to support experimenting with different dynamic taint analysis techniques. It allows both data-flow and control-flow based taint propagation to be implemented conservatively. The paper describes Dytan's implementation for x86 executables and preliminary studies showing how it can implement various tainting approaches with limited effort. Studies on Firefox demonstrate Dytan can analyze real software and how characteristics of the tainting approach affect efficiency and accuracy. The framework aims to foster experimentation with dynamic taint analysis techniques.
The key to successful testing is effective and timely planning. Rick Craig introduces proven test planning methods and techniques, including the Master Test Plan and level-specific test plans for acceptance, system, integration, and unit testing. Rick explains how to customize an IEEE-829-style test plan and test summary report to fit your organization’s needs. Learn how to manage test activities, estimate test efforts, and achieve buy-in. Discover a practical risk analysis technique to prioritize your testing and become more effective with limited resources. Rick offers test measurement and reporting recommendations for monitoring the testing process. Discover new methods and develop renewed energy for taking your organization’s test management to the next level.
Reproducible Crashes: Fuzzing Pharo by Mutating the Test MethodsUniversity of Antwerp
Fuzzing (or Fuzz Testing) is a technique to verify the robustness of a program-under-test. Valid input is replaced by random values with the goal to force the program-under-test into unresponsive states. In this position paper, we propose a white box Fuzzing approach by transforming (mutating) existing test methods. We adopt the mechanisms used for test amplification to generate crash inducing tests, which developers can reproduce later. We provide anecdotal evidence that our approach towards Fuzzing reveals crashing issues in the Pharo environment.
The key to successful testing is effective and timely planning. Rick Craig introduces proven test planning methods and techniques, including the Master Test Plan and level-specific test plans for acceptance, system, integration, and unit testing. Rick explains how to customize an IEEE-829-style test plan and test summary report to fit your organization’s needs. Learn how to manage test activities, estimate test efforts, and achieve buy-in. Discover a practical risk analysis technique to prioritize your testing and become more effective with limited resources. Rick offers test measurement and reporting recommendations for monitoring the testing process. Discover new methods and develop renewed energy for taking your organization’s test management to the next level.
Formal Verification of Developer Tests: a Research Agenda Inspired by Mutatio...University of Antwerp
With the current emphasis on DevOps, automated software tests become a necessary ingredient for continuously evolving, high-quality software systems. This implies that the test code takes a significant portion of the complete code base — test to code ratios ranging from 3:1 to 2:1 are quite common.
We argue that "testware'" provides interesting opportunities for formal verification, especially because the system under test may serve as an oracle to focus the analysis. As an example we describe five common problems (mainly from the subfield of mutation testing) and how formal verification may contribute.
We deduce a research agenda as an open invitation for fellow researchers to investigate the peculiarities of formally verifying testware.
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...University of Antwerp
With the rise of agile development, software teams all over the world embrace faster release cycles as *the* way to incorporate customer feedback into product development processes. Yet, faster release cycles imply rethinking the traditional notion of software quality: agile teams must balance reliability (minimize known defects) against agility (maximize ease of change). This talk will explore the state-of-the-art in software test automation and the opportunities this may present for maintaining this balance. We will address questions like: Will our test suite detect critical defects early? If not, how can we improve our test suite? Where should we fix a defect?
(Keynote for the SHIFT 2020 and IWSF 2020 Workshops, October 2020)
Empirical Software Engineering at Microsoft ResearchThomas Zimmermann
An invited talk that I gave in Tokyo. Very special thanks to Shuji Morisaki who was my translator during the session. Many thanks to Chris Bird, Nachi Nagappan, Rahul Premraj, and Sascha Just who provided slides for this talk.
This document summarizes a presentation on software analytics. It discusses definitions of software analytics, types of analytics like web and game analytics, the history and various names of software analytics. It outlines key information needs for software development analytics like summarization, alerts, trends and benchmarks. Smart analytics is described as being actionable, real-time, diverse, and sharing insights, methods, models and data. An example is provided of sharing a defect prediction model and discussing challenges with cross-project prediction. Finally, an example is given of sharing insights around skill in the game Halo Reach.
Enabling and Supporting the Debugging of Field Failures (Job Talk)James Clause
This paper presents a new framework called Dytan for performing dynamic taint analysis. Dytan is designed to be highly flexible, customizable, and general to support experimenting with different dynamic taint analysis techniques. It allows both data-flow and control-flow based taint propagation to be implemented conservatively. The paper describes Dytan's implementation for x86 executables and preliminary studies showing how it can implement various tainting approaches with limited effort. Studies on Firefox demonstrate Dytan can analyze real software and how characteristics of the tainting approach affect efficiency and accuracy. The framework aims to foster experimentation with dynamic taint analysis techniques.
The key to successful testing is effective and timely planning. Rick Craig introduces proven test planning methods and techniques, including the Master Test Plan and level-specific test plans for acceptance, system, integration, and unit testing. Rick explains how to customize an IEEE-829-style test plan and test summary report to fit your organization’s needs. Learn how to manage test activities, estimate test efforts, and achieve buy-in. Discover a practical risk analysis technique to prioritize your testing and become more effective with limited resources. Rick offers test measurement and reporting recommendations for monitoring the testing process. Discover new methods and develop renewed energy for taking your organization’s test management to the next level.
Reproducible Crashes: Fuzzing Pharo by Mutating the Test MethodsUniversity of Antwerp
Fuzzing (or Fuzz Testing) is a technique to verify the robustness of a program-under-test. Valid input is replaced by random values with the goal to force the program-under-test into unresponsive states. In this position paper, we propose a white box Fuzzing approach by transforming (mutating) existing test methods. We adopt the mechanisms used for test amplification to generate crash inducing tests, which developers can reproduce later. We provide anecdotal evidence that our approach towards Fuzzing reveals crashing issues in the Pharo environment.
The key to successful testing is effective and timely planning. Rick Craig introduces proven test planning methods and techniques, including the Master Test Plan and level-specific test plans for acceptance, system, integration, and unit testing. Rick explains how to customize an IEEE-829-style test plan and test summary report to fit your organization’s needs. Learn how to manage test activities, estimate test efforts, and achieve buy-in. Discover a practical risk analysis technique to prioritize your testing and become more effective with limited resources. Rick offers test measurement and reporting recommendations for monitoring the testing process. Discover new methods and develop renewed energy for taking your organization’s test management to the next level.
Formal Verification of Developer Tests: a Research Agenda Inspired by Mutatio...University of Antwerp
With the current emphasis on DevOps, automated software tests become a necessary ingredient for continuously evolving, high-quality software systems. This implies that the test code takes a significant portion of the complete code base — test to code ratios ranging from 3:1 to 2:1 are quite common.
We argue that "testware'" provides interesting opportunities for formal verification, especially because the system under test may serve as an oracle to focus the analysis. As an example we describe five common problems (mainly from the subfield of mutation testing) and how formal verification may contribute.
We deduce a research agenda as an open invitation for fellow researchers to investigate the peculiarities of formally verifying testware.
This document discusses cloud testing, including its benefits, limitations, and challenges. Some key points:
- Cloud testing allows testing to be outsourced to third parties, reducing costs and allowing for scalability and flexibility. However, security, lack of standards, and dependency on internet connectivity pose challenges.
- Different forms of cloud testing include functional testing (unit, integration, user acceptance) and non-functional testing (availability, scalability, security, performance).
- Benefits include lower costs, scalability, availability of live production replicas, customizability, and improved time management. However, selection of providers, infrastructure requirements, and layer testing limitations remain challenges.
Why On-Demand Provisioning Enables Tighter Alignment of Test and Production E...Cognizant
To improve their test environments and application quality, organizations are turning to the cloud for on-demand provisioning, as well as build and deployment automation.
This document discusses an introduction to a class on rapid software testing. It states that the class aims to make students stronger, smarter and more confident testers by challenging them to think for themselves rather than simply listening to what the instructors say. The class can be beneficial for testers of all experience levels who want to improve at their work. Heuristics are discussed as techniques that can help substitute for complete analysis and involve guidewords, triggers, reframing ideas, and procedures to help solve problems.
Exploratory Testing: Make It Part of Your Test StrategyTechWell
Developers often have the unfortunate distinction of not thoroughly testing their code. It’s not that developers do not understand how to test well; it’s just that often they have not had an opportunity to understand how the product works. Kevin Dunne maintains that implementing a team-wide exploratory testing initiative can help build the collaboration and knowledge sharing needed to elevate all team members to the level of product master. Exploratory testing can be performed by anyone, but the real challenge is making sure that the process is properly managed, documented, and optimized. Kevin describes the tools necessary to drive a deeper understanding of software quality and to implement an effective and impactful exploratory testing practice. Creating better software is not just about writing code more accurately and efficiently; it is about delivering value to the end user. Well-executed exploratory testing helps unlock this capability across the entire development team.
Whether you are new to testing or looking for a better way to organize your test practices and processes, the Systematic Test and Evaluation Process (STEP™) offers a flexible approach to help you and your team succeed. Dale Perry describes this risk-based framework—applicable to any development lifecycle model—to help you make critical testing decisions earlier and with more confidence. The STEP™ approach helps you decide how to focus your testing effort, what elements and areas to test, and how to organize test designs and documentation. Learn the fundamentals of test analysis and how to develop an inventory of test objectives to help prioritize your testing efforts. Discover how to translate these objectives into a concrete strategy for designing and developing tests. With a prioritized inventory and focused test architecture, you will be able to create test cases, execute the resulting tests, and accurately report on the quality of your application and the effectiveness of your testing. Take back a proven approach to organize your testing efforts and new ways to add more value to your project and organization.
This document provides an overview of Marc Perillo's experience and qualifications as a software developer. Over 30+ years, Marc has worked on dozens of projects across various industries, generating over $250 million in revenue. He has expertise in areas like object-oriented design, project management, embedded systems, real-time applications, and multi-tasking systems. Marc has successfully led the development of critical systems for the military and resolved issues that threatened project viability. He is skilled in all phases of the software development lifecycle from requirements to deployment.
Manual testing remains important but has significant drawbacks. HP Sprinter aims to address challenges like repetitive tasks, data entry errors, and testing multiple environments. It streamlines defect reporting, automates data injection, and allows mirror testing on remote machines to improve efficiency and accuracy of manual testing.
This document provides an overview and introduction to the Rapid Software Testing course. It acknowledges those who contributed to developing the course material. The document outlines some assumptions about the audience for the course, including that attendees test software and want to improve their testing process. It presents the primary goal of the course as teaching how to test under uncertainty and with scrutiny. Key themes of Rapid Testing are also summarized, including putting the tester's mind at the center and considering cost versus value in testing activities.
A Productive Method for Improving Test EffectivenessShradha Singh
This document proposes a new approach for test suite selection and prioritization that aims to improve test effectiveness. The approach has three components: 1) A predictive component that prioritizes test cases based on their historical failure rates, with tests that failed more often run more frequently. 2) A coverage component that selects test cases based on code coverage data to target parts of the code affected by changes. 3) A decision component that prioritizes important test cases using an algorithm. The approach is intended to select a subset of test cases from large test suites to reduce validation time and improve resource utilization while still effectively testing software. Experiments showed the approach decreased validation cycles and reduced time to market.
This document discusses a technique for minimizing regression test suites by identifying redundant test cases based on multiple coverage criteria. It proposes a novel approach that considers criteria like function coverage, function call stack coverage, line coverage, and branch coverage to identify redundancy in test cases. This technique aims to reduce the size of test suites while maintaining the same level of coverage and fault detection as the original test suite. It also seeks to improve on existing minimization techniques by handling large test suites more efficiently and avoiding reductions in coverage or fault detection abilities.
Defect effort prediction models in software maintenance projectsiaemedu
The document discusses models for predicting defects in software maintenance projects. It describes how data on defects found during testing is recorded and used by reliability models to predict remaining defects. The paper proposes exploring defect data through appropriate statistics and predictive models like decision trees and Naive Bayes classifiers. It outlines steps for analyzing defect data with statistics to gain insights, including using ratios of defects found before and after release to assess quality. Graphs are suggested to examine the impact of previous releases on current release quality.
When Agile is a Quality Game Changer Webinar - Michael Mah, Philip LewXBOSoft
Accelerate your Agile success with in-depth research and smarter decisions. Michael Mah of QSM Associates shows you what it takes to find and utilize patterns of successful Agile development in this quarterly XBOSoft webinar.
Reliability is a measure of how well a system performs its intended function under stated conditions for a specified period of time. It is dependent on factors like the operational profile, fault consequences, and perceived by different users. Various metrics can be used to measure reliability including probability of failure-free operation, mean time between failures, and availability. Reliability models help predict how reliability changes as faults are removed through testing, but no single model is universally applicable.
Black box-software-testing-douglas-hoffman2483Chaitanya Kn
This document provides an introduction to black box software testing. Black box testing involves testing software without knowledge of the underlying code, from the customer's perspective. The document outlines several testing paradigms that can be used for black box testing, including domain testing, function testing, regression testing, specification-driven testing, and more. It also discusses test design, test documentation, test automation, and test management strategies. The overall goal is to help readers improve their ability to plan and design effective black box test cases and make good judgments about testing priorities and tradeoffs.
This document introduces a simplified model for software reliability engineering (SRE). It outlines three phases: error introduction during development, defect identification during testing, and failure manifestation during operation. For each phase, it identifies key influencing factors and proposes potential measures and metrics to assess those factors, such as design complexity, code coverage, and how thoroughly contexts of use are considered. The goal is to provide a standardized yet practical approach to SRE.
Whether you are new to testing or looking for a better way to organize your test practices, understanding risk is essential to successful testing. Dale Perry describes a general risk-based framework—applicable to any development lifecycle model—to help you make critical testing decisions earlier and with more confidence. Learn how to focus your testing effort, what elements to test, and how to organize test designs and documentation. Review the fundamentals of risk identification, analysis, and the role testing plays in risk mitigation. Develop an inventory of test objectives to help prioritize your testing and translate them into a concrete strategy for creating tests. Focus your tests on the areas essential to your stakeholders. Execution and assessing test results provide a better understanding of both the effectiveness of your testing and the potential for failure in your software. Take back a proven approach to organize your testing efforts and new ways to add more value to your project and organization.
Top Ten things that have been proven to effect software reliabilityAnn Marie Neufelder
There are many myths about what causes reliable or unreliable software. However, this presentation shows the facts based on real data from real projects.
Peter Zimmerer - Establishing Testing Knowledge and Experience Sharing at Sie...TEST Huddle
EuroSTAR Software Testing Conference 2008 presentation on Establishing Testing Knowledge and Experience Sharing at Siemens by Peter Zimmerer. See more at conferences.eurostarsoftwaretesting.com/past-presentations/
This is a special report by IEEE - Power System relaying Committee's Working Group I12 outlining industry practices of Quality Assurance for protection and control design drawing packages. Throughout the electric utility industry, the drive to maximize quality assurance practices has gained increased prominence. These practices mitigate common errors frequently encountered in engineering design packages, specific to
Protection and Control (P&C) design. This report will illustrate industry practices to be applied in a Quality Assurance
Program for protection and control design drawing packages; from conception to final “as-built.” It is the reader’s responsibility to incorporate these practices into their organization’s Quality Assurance Program.
1. The study examines high-impact defects called breakages and surprises in a large commercial software project.
2. It finds that breakages and surprises can be predicted with 2-3x higher precision than traditional defect prediction, identifying them in around 70% of files.
3. Specialized prediction models for breakages and surprises alone can reduce quality assurance efforts by 40-50% compared to general models.
The document discusses several key challenges in software engineering (SE). It notes that SE approaches must address issues of scale, productivity, and quality. Regarding scale, it states that SE methods must be scalable for problems of different sizes, from small to very large, requiring both engineering and project management techniques to be formalized for large problems. Productivity is important to control costs and schedule, and SE aims to deliver high productivity. Quality is also a major goal, involving attributes like functionality, reliability, usability, efficiency and maintainability. Reliability is often seen as the main quality criterion and is approximated by measuring defects. Addressing these challenges of scale, productivity and quality drives the selection of SE approaches.
This document discusses cloud testing, including its benefits, limitations, and challenges. Some key points:
- Cloud testing allows testing to be outsourced to third parties, reducing costs and allowing for scalability and flexibility. However, security, lack of standards, and dependency on internet connectivity pose challenges.
- Different forms of cloud testing include functional testing (unit, integration, user acceptance) and non-functional testing (availability, scalability, security, performance).
- Benefits include lower costs, scalability, availability of live production replicas, customizability, and improved time management. However, selection of providers, infrastructure requirements, and layer testing limitations remain challenges.
Why On-Demand Provisioning Enables Tighter Alignment of Test and Production E...Cognizant
To improve their test environments and application quality, organizations are turning to the cloud for on-demand provisioning, as well as build and deployment automation.
This document discusses an introduction to a class on rapid software testing. It states that the class aims to make students stronger, smarter and more confident testers by challenging them to think for themselves rather than simply listening to what the instructors say. The class can be beneficial for testers of all experience levels who want to improve at their work. Heuristics are discussed as techniques that can help substitute for complete analysis and involve guidewords, triggers, reframing ideas, and procedures to help solve problems.
Exploratory Testing: Make It Part of Your Test StrategyTechWell
Developers often have the unfortunate distinction of not thoroughly testing their code. It’s not that developers do not understand how to test well; it’s just that often they have not had an opportunity to understand how the product works. Kevin Dunne maintains that implementing a team-wide exploratory testing initiative can help build the collaboration and knowledge sharing needed to elevate all team members to the level of product master. Exploratory testing can be performed by anyone, but the real challenge is making sure that the process is properly managed, documented, and optimized. Kevin describes the tools necessary to drive a deeper understanding of software quality and to implement an effective and impactful exploratory testing practice. Creating better software is not just about writing code more accurately and efficiently; it is about delivering value to the end user. Well-executed exploratory testing helps unlock this capability across the entire development team.
Whether you are new to testing or looking for a better way to organize your test practices and processes, the Systematic Test and Evaluation Process (STEP™) offers a flexible approach to help you and your team succeed. Dale Perry describes this risk-based framework—applicable to any development lifecycle model—to help you make critical testing decisions earlier and with more confidence. The STEP™ approach helps you decide how to focus your testing effort, what elements and areas to test, and how to organize test designs and documentation. Learn the fundamentals of test analysis and how to develop an inventory of test objectives to help prioritize your testing efforts. Discover how to translate these objectives into a concrete strategy for designing and developing tests. With a prioritized inventory and focused test architecture, you will be able to create test cases, execute the resulting tests, and accurately report on the quality of your application and the effectiveness of your testing. Take back a proven approach to organize your testing efforts and new ways to add more value to your project and organization.
This document provides an overview of Marc Perillo's experience and qualifications as a software developer. Over 30+ years, Marc has worked on dozens of projects across various industries, generating over $250 million in revenue. He has expertise in areas like object-oriented design, project management, embedded systems, real-time applications, and multi-tasking systems. Marc has successfully led the development of critical systems for the military and resolved issues that threatened project viability. He is skilled in all phases of the software development lifecycle from requirements to deployment.
Manual testing remains important but has significant drawbacks. HP Sprinter aims to address challenges like repetitive tasks, data entry errors, and testing multiple environments. It streamlines defect reporting, automates data injection, and allows mirror testing on remote machines to improve efficiency and accuracy of manual testing.
This document provides an overview and introduction to the Rapid Software Testing course. It acknowledges those who contributed to developing the course material. The document outlines some assumptions about the audience for the course, including that attendees test software and want to improve their testing process. It presents the primary goal of the course as teaching how to test under uncertainty and with scrutiny. Key themes of Rapid Testing are also summarized, including putting the tester's mind at the center and considering cost versus value in testing activities.
A Productive Method for Improving Test EffectivenessShradha Singh
This document proposes a new approach for test suite selection and prioritization that aims to improve test effectiveness. The approach has three components: 1) A predictive component that prioritizes test cases based on their historical failure rates, with tests that failed more often run more frequently. 2) A coverage component that selects test cases based on code coverage data to target parts of the code affected by changes. 3) A decision component that prioritizes important test cases using an algorithm. The approach is intended to select a subset of test cases from large test suites to reduce validation time and improve resource utilization while still effectively testing software. Experiments showed the approach decreased validation cycles and reduced time to market.
This document discusses a technique for minimizing regression test suites by identifying redundant test cases based on multiple coverage criteria. It proposes a novel approach that considers criteria like function coverage, function call stack coverage, line coverage, and branch coverage to identify redundancy in test cases. This technique aims to reduce the size of test suites while maintaining the same level of coverage and fault detection as the original test suite. It also seeks to improve on existing minimization techniques by handling large test suites more efficiently and avoiding reductions in coverage or fault detection abilities.
Defect effort prediction models in software maintenance projectsiaemedu
The document discusses models for predicting defects in software maintenance projects. It describes how data on defects found during testing is recorded and used by reliability models to predict remaining defects. The paper proposes exploring defect data through appropriate statistics and predictive models like decision trees and Naive Bayes classifiers. It outlines steps for analyzing defect data with statistics to gain insights, including using ratios of defects found before and after release to assess quality. Graphs are suggested to examine the impact of previous releases on current release quality.
When Agile is a Quality Game Changer Webinar - Michael Mah, Philip LewXBOSoft
Accelerate your Agile success with in-depth research and smarter decisions. Michael Mah of QSM Associates shows you what it takes to find and utilize patterns of successful Agile development in this quarterly XBOSoft webinar.
Reliability is a measure of how well a system performs its intended function under stated conditions for a specified period of time. It is dependent on factors like the operational profile, fault consequences, and perceived by different users. Various metrics can be used to measure reliability including probability of failure-free operation, mean time between failures, and availability. Reliability models help predict how reliability changes as faults are removed through testing, but no single model is universally applicable.
Black box-software-testing-douglas-hoffman2483Chaitanya Kn
This document provides an introduction to black box software testing. Black box testing involves testing software without knowledge of the underlying code, from the customer's perspective. The document outlines several testing paradigms that can be used for black box testing, including domain testing, function testing, regression testing, specification-driven testing, and more. It also discusses test design, test documentation, test automation, and test management strategies. The overall goal is to help readers improve their ability to plan and design effective black box test cases and make good judgments about testing priorities and tradeoffs.
This document introduces a simplified model for software reliability engineering (SRE). It outlines three phases: error introduction during development, defect identification during testing, and failure manifestation during operation. For each phase, it identifies key influencing factors and proposes potential measures and metrics to assess those factors, such as design complexity, code coverage, and how thoroughly contexts of use are considered. The goal is to provide a standardized yet practical approach to SRE.
Whether you are new to testing or looking for a better way to organize your test practices, understanding risk is essential to successful testing. Dale Perry describes a general risk-based framework—applicable to any development lifecycle model—to help you make critical testing decisions earlier and with more confidence. Learn how to focus your testing effort, what elements to test, and how to organize test designs and documentation. Review the fundamentals of risk identification, analysis, and the role testing plays in risk mitigation. Develop an inventory of test objectives to help prioritize your testing and translate them into a concrete strategy for creating tests. Focus your tests on the areas essential to your stakeholders. Execution and assessing test results provide a better understanding of both the effectiveness of your testing and the potential for failure in your software. Take back a proven approach to organize your testing efforts and new ways to add more value to your project and organization.
Top Ten things that have been proven to effect software reliabilityAnn Marie Neufelder
There are many myths about what causes reliable or unreliable software. However, this presentation shows the facts based on real data from real projects.
Peter Zimmerer - Establishing Testing Knowledge and Experience Sharing at Sie...TEST Huddle
EuroSTAR Software Testing Conference 2008 presentation on Establishing Testing Knowledge and Experience Sharing at Siemens by Peter Zimmerer. See more at conferences.eurostarsoftwaretesting.com/past-presentations/
This is a special report by IEEE - Power System relaying Committee's Working Group I12 outlining industry practices of Quality Assurance for protection and control design drawing packages. Throughout the electric utility industry, the drive to maximize quality assurance practices has gained increased prominence. These practices mitigate common errors frequently encountered in engineering design packages, specific to
Protection and Control (P&C) design. This report will illustrate industry practices to be applied in a Quality Assurance
Program for protection and control design drawing packages; from conception to final “as-built.” It is the reader’s responsibility to incorporate these practices into their organization’s Quality Assurance Program.
1. The study examines high-impact defects called breakages and surprises in a large commercial software project.
2. It finds that breakages and surprises can be predicted with 2-3x higher precision than traditional defect prediction, identifying them in around 70% of files.
3. Specialized prediction models for breakages and surprises alone can reduce quality assurance efforts by 40-50% compared to general models.
The document discusses several key challenges in software engineering (SE). It notes that SE approaches must address issues of scale, productivity, and quality. Regarding scale, it states that SE methods must be scalable for problems of different sizes, from small to very large, requiring both engineering and project management techniques to be formalized for large problems. Productivity is important to control costs and schedule, and SE aims to deliver high productivity. Quality is also a major goal, involving attributes like functionality, reliability, usability, efficiency and maintainability. Reliability is often seen as the main quality criterion and is approximated by measuring defects. Addressing these challenges of scale, productivity and quality drives the selection of SE approaches.
Prescriptive process models attempt to organize the software development life cycle by defining activities, their order, and relationships. Early models like code-and-fix lacked predictability and manageability. Newer models strive for structure and order to achieve coordination, while allowing for changes as more is learned. However, relying solely on prescriptive models may be inappropriate given the need for change in software development.
Prescriptive process models attempt to organize the software development life cycle by defining activities, their order, and relationships. Early models like code-and-fix lacked predictability and manageability. Newer models strive for structure and order to achieve coordination, while allowing for changes as feedback is received. However, relying solely on prescriptive models may be inappropriate in a world that demands flexibility and change.
The document discusses pragmatic approaches for prioritizing software quality assurance efforts. It proposes using change and defect metrics at the function level to prioritize unit test creation for legacy code and change risk prediction for new code. The approaches aim to provide focused granularity, responsive feedback on changes, and consideration of effort required. An evaluation of the approaches on open source and commercial projects found the unit test creation heuristic of most frequently modified provided the highest usefulness. The discussion revisits criteria for pragmatic QA approaches.
Otto Vinter - Analysing Your Defect Data for Improvement PotentialTEST Huddle
EuroSTAR Software Testing Conference 2008 presentation on Analysing Your Defect Data for Improvement Potential by Otto Vinter. See more at conferences.eurostarsoftwaretesting.com/past-presentations/
This document summarizes the key issues with the traditional waterfall software development model based on analyses from the mid-1990s. It discusses that while the theory behind waterfall is sound, in practice it often led to: 1) protracted integration and late design breakages due to unforeseen issues emerging late in the process, 2) late risk resolution focusing too much on early paper artifacts, 3) requirements-driven decomposition ignoring emerging needs, 4) adversarial stakeholder relationships focusing on documents not collaboration, and 5) over-focus on documents and reviews not iterative development. Overall, less than 20% of projects succeeded under this model.
The document summarizes the theory behind the traditional waterfall model of software development and suggests updates to it. It discusses five major problems with how the waterfall model was commonly practiced: 1) protracted integration and late design breakage, 2) late risk resolution, 3) requirements-driven functional decomposition, 4) adversarial stakeholder relationships, and 5) a focus on documents and review meetings over producing working software. It also reviews basic software economics principles from the 1980s that still generally hold true today.
- Software engineering is extremely complex and expensive work, with large software systems costing more than buildings and often having high failure rates.
- The two main factors that cause "runaway" software projects that exceed budgets and schedules are poor estimation done too early and unstable requirements that change frequently.
- Programmers are often given impossible tasks with too much work and not enough time, leading them to produce workarounds and quick fixes rather than well-designed solutions.
Lean for Competitive Advantage and Customer DelightLean India Summit
The document discusses how a development team at Wipro used Lean principles and techniques to improve quality, reduce defects, and deliver a project ahead of schedule. Visual controls, mistake proofing, design structure matrices, and orthogonal arrays were implemented. This led to a 33% increase in productivity, 69% reduction in defects, and absorption of additional requirements within timeline and budget. The Lean approaches helped optimize planning, task allocation, and testing to enhance overall performance.
Evolution of software; Characteristics of software; Software applications; Components of software; Software myths; Software problems; Software reuse; Overview of risk management; Process visibility; Professional responsibility.
This document discusses requirements engineering and its importance in software project success. It defines requirements engineering and outlines the key processes: elicitation, analysis, specification, verification and management. Case studies show that projects with strong requirements engineering in areas like user involvement, clear requirements and proper planning are more likely to succeed. The document concludes that requirements engineering impacts 7 of the top 10 attributes that determine project success.
When do software issues get reported in large open source softwareRAKESH RANA
The document examines reporting patterns of over 7,000 issue reports from five large open source software projects to evaluate when defects are reported and if there is a difference between reported and actual defect inflow. The results show there are distinct patterns in when defects are reported, with more in January-March and fewer in April-July. However, the ratio of reported to actual defects remains fairly stable over time. This stability enhances confidence in applying software reliability growth models that use reported defect data for predictions, which were found to have around 4.8% error on average compared to using actual bug data. The reporting patterns may also provide insight into when different contributors report issues.
The document discusses data-driven approaches to optimizing software testing processes at Microsoft. It describes how historical test and code data can be analyzed to determine which tests are most valuable and cost-effective to run, in order to reduce total test execution time without negatively impacting code quality. Simulation results on Windows 8.1 data show the potential for significant test reduction (up to 60%) while maintaining bug finding ability. This could improve development processes by lowering machine costs and increasing developer satisfaction.
This document discusses various software metrics that can be used for software estimation, quality assurance, and maintenance. It describes black box metrics like function points and COCOMO, which focus on program functionality without examining internal structure. It also covers white box metrics, including lines of code, Halstead's software science, and McCabe's cyclomatic complexity, which measure internal program properties. Finally, it discusses using metrics like change rates and effort adjustment factors to estimate software maintenance costs.
The document discusses various topics related to software engineering including:
1. It defines software and describes attributes of good software such as functionality, maintainability, dependability, and usability.
2. It explains that software engineering is concerned with all aspects of software production, whereas computer science focuses more on theory and fundamentals.
3. Key attributes of good software are discussed including maintainability, dependability, efficiency, and acceptability.
4. Various software engineering models such as waterfall, prototyping, spiral, and agile models are briefly introduced.
This document discusses Boehm's top 10 principles of conventional software management and important trends in improving software economics. It also covers the three generations of software development (conventional, transition, and modern practices), comparing their characteristics. Finally, it lists and explains 10 principles of conventional software engineering and the top 10 principles of modern software management.
Software organizations that want to maximize the yield of Software Testing find that choosing the right testing strategy is hard, and most testing managers are ill-prepared for this. The organization has to learn how to plan testing efforts based on the characteristics of each project and the many ways the software product is to be used. This tutorial is intended for Software professionals who are likely to be responsible for defining the strategy and planning of the testing effort and managing it through its life cycle. These roles are usually Testing Managers or Project Managers.
Automation in the Bug Flow - Machine Learning for Triaging and TracingMarkus Borg
Issue management is a costly part of software development. In large projects, the continuous inflow of issue reports contributes to the information overload in a project, i.e., "a state where individuals do not have time or capacity to process all available information". In issue triaging, an initial step in issue management, a developer must be able to overview existing issue reports and easily navigate the software engineering project landscape. In this presentation, we present support for two work tasks involved in issue management: 1) issue assignment and 2) change impact analysis. We use machine learning to harness the ever-growing number of issue reports, by training recommendation systems on previous issues. Our industrial evaluations on 50,000+ issue reports in two large software development organizations indicate that automated issue assignment performs in line with current manual work. Moreover, we present how traceability from already resolved issue reports to various artifacts can be reused to jump start change impact analyses for newly submitted issues. Finally, we speculate on future ways to tame information overload into helpful software engineering recommendations.
Similar to An Exploration of Challenges Limiting Pragmatic Software Defect Prediction (20)
Studying the Integration Practices and the Evolution of Ad Libraries in the G...SAIL_QU
In-app advertisements have become a major revenue for app developers in the mobile app economy. Ad libraries play an integral part in this ecosystem as app
developers integrate these libraries into their apps to display ads. However, little is known about how app developers integrate these libraries with their apps and how these libraries have evolved over time.
In this thesis, we study the ad library integration practices and the evolution of such libraries. To understand the integration practices of ad libraries, we manually study apps and derive a set of rules to automatically identify four strategies for integrating
multiple ad libraries. We observe that integrating multiple ad libraries commonly occurs in apps with a large number of downloads and ones in categories with a high percentage of apps that display ads. We also observe that app developers prefer to manage their own integrations instead of using off the shelf features of ad libraries for integrating multiple ad libraries.
To study the evolution of ad libraries, we conduct a longitudinal study of the 8 most popular ad libraries. In particular, we look at their evolution in terms of size, the main drivers for releasing a new ad library version, and their architecture. We observe that ad libraries are continuously evolving with a median release interval of 34 days. Some ad libraries have grown exponentially in size (e.g., Facebook Audience Network ad library), while other libraries have worked to reduce their size. To study the main drivers for releasing an ad library version, we manually study the release notes of the eight studied ad libraries. We observe that ad library developers continuously update their ad libraries to support a wider range of Android versions (i.e., to ensure that more devices can use the libraries without errors). Finally, we derive a reference architecture for ad libraries and study how the studied ad libraries diverged from this architecture during our study period.
Our findings can assist ad library developers to understand the challenges for developing ad libraries and the desired features of these libraries.
Improving the testing efficiency of selenium-based load testsSAIL_QU
Slides for a paper published at AST 2019:
Shahnaz M. Shariff, Heng Li, Cor-Paul Bezemer, Ahmed E. Hassan, Thanh H. D. Nguyen, and Parminder Flora. 2019. Improving the testing efficiency of selenium-based load tests. In Proceedings of the 14th International Workshop on Automation of Software Test (AST '19). IEEE Press, Piscataway, NJ, USA, 14-20. DOI: https://doi.org/10.1109/AST.2019.00008
Studying User-Developer Interactions Through the Distribution and Reviewing M...SAIL_QU
This document discusses studying user-developer interactions through the distribution and reviewing mechanisms of the Google Play Store. It analyzes emergency updates made by developers to fix issues, the dialogue between users and developers through reviews and responses, and how the reviewing mechanism can help identify good and bad updates. The study found that responding to reviews is six times more likely to increase an app's rating, with 84% of rating increases going to four or five stars. Three common patterns of developer responses were identified: responding to negative or long reviews, only negative reviews, and reviews shortly after an update.
Studying online distribution platforms for games through the mining of data f...SAIL_QU
Our studies of Steam platform data provided insights into online game distribution:
1) Urgent game updates were used to fix crashes, balance issues, and functionality; frequent updaters released more 0-day patches.
2) The Early Access model attracted indie developers and increased game participation; reviews were more positive during Early Access.
3) Game reviews were typically short and in English; sales increased review volume more than new updates; negative reviews came after longer play.
Understanding the Factors for Fast Answers in Technical Q&A Websites: An Empi...SAIL_QU
This study analyzed factors that impact the speed of questions receiving accepted answers on four popular Stack Exchange websites: Stack Overflow, Mathematics, Ask Ubuntu, and Super User. The researchers examined question, answerer, asker, and answer factors from over 150,000 questions. They built classification models and found that key factors for fast answers included the past speed of answerers, length of the question, and past speed of answers for the question's tags. The models achieved AUCs of 0.85-0.95. Fast answers relied heavily on answerers, especially frequent answerers. The study suggests improving incentives for non-frequent and more difficult questions to attract diverse answerers.
Investigating the Challenges in Selenium Usage and Improving the Testing Effi...SAIL_QU
Selenium is a popular tool for browser-based automation testing. The author analyzes challenges in using Selenium by mining Selenium questions on Stack Overflow. Programming language-related questions, especially for Java and Python, are most common and growing fastest. Less than half of questions receive accepted answers, and questions about browsers and components take longest. In the second part, the author develops an approach to improve efficiency of Selenium-based load testing by sharing browsers among user instances. This increases the number of error-free users by 20-22% while reducing memory usage.
Mining Development Knowledge to Understand and Support Software Logging Pract...SAIL_QU
This document summarizes Heng Li's PhD thesis on mining development knowledge to understand and support software logging practices. It discusses how logging code is used to record runtime information but can be difficult for developers to maintain. The thesis aims to understand current logging practices and develop tools by mining change history, source code, issue reports, and other development knowledge. It presents research that analyzes logging-related issues to identify developers' logging concerns, uses code topics and structure to predict where logging statements should be added, leverages code changes to suggest when logging code needs updating, and applies machine learning models to recommend appropriate log levels.
Which Log Level Should Developers Choose For a New Logging Statement?SAIL_QU
The document discusses choosing an appropriate log level when adding a new logging statement. It finds that an ordinal regression model can effectively model log levels, achieving an AUC of 0.76-0.81 in within-project evaluation and 0.71-0.8 in cross-project evaluation. The most influential factors for determining log levels vary between projects and include metrics related to the logging statement, containing code block, and file as well as code change and historical change metrics.
Towards Just-in-Time Suggestions for Log ChangesSAIL_QU
The document presents a study on providing just-in-time suggestions for log changes when developers make code changes. The researchers analyzed over 32,000 log changes from 4 systems. They found 20 reasons for log changes that fall into 4 categories: block changes, log improvements, dependence-driven changes, and logging issues. A random forest classifier using 25 software metrics related to code changes, history, and complexity achieved 0.84-0.91 AUC in predicting whether a log change is needed. Change metrics and product metrics were the most influential factors. The study aims to help developers make better logging decisions for failure diagnosis.
The Impact of Task Granularity on Co-evolution AnalysesSAIL_QU
The document discusses how task granularity at different levels (e.g. commits, pull requests, work items) can impact analyses of co-evolution in software projects. It finds that analyzing at the commit-level can overlook relationships between tasks that span multiple commits. Work item level analysis is recommended to provide a more complete view of co-evolution, as median of 29% of work items consist of multiple commits, and analyzing at the commit level would miss 24% of co-changed files and inability to group 83% of related commits.
How are Discussions Associated with Bug Reworking? An Empirical Study on Open...SAIL_QU
1) Initial bug fix discussions with more comments and more developers participating are more likely to experience later bug reworking through re-opening or re-patching of the bug.
2) Manual analysis found that defective initial fixes and failure to reach consensus in discussions contributed to later reworking.
3) For re-opened bugs, initial discussions focused on addressing a particular problem through a burst of comments, while re-patched bugs lacked thorough code review and testing during the initial fix period.
A Study of the Relation of Mobile Device Attributes with the User-Perceived Q...SAIL_QU
This study examined the relationship between mobile device attributes and user-perceived quality of Android apps. The researchers analyzed 150,373 star ratings from Google Play across 30 devices and 280 apps. They found that the perceived quality of apps varies across devices, and having better characteristics of an attribute does not necessarily correlate with higher quality. Device OS version, resolution, and CPU showed significant relationships with ratings, as did some app attributes like lines of code and number of inputs. However, some device attributes had stronger relationships than app attributes.
A Large-Scale Study of the Impact of Feature Selection Techniques on Defect C...SAIL_QU
This document presents the results of a large-scale study on the impact of feature selection techniques on defect classification models. The study used expanded scopes including multiple datasets from NASA and PROMISE with different feature types, more classification techniques from different paradigms, and additional feature selection techniques. The results show that correlation-based feature subset selection techniques like FS1 and FS2 consistently appear in the top ranks across most of the datasets, projects within the datasets, and classification techniques. The document concludes that future defect classification studies should consider applying correlation-based feature selection techniques.
Studying the Dialogue Between Users and Developers of Free Apps in the Google...SAIL_QU
The study analyzes user-developer interactions through reviews and responses on the Google Play Store. It finds that responding to reviews has a significant positive impact, with 84% of rating increases due to the developer addressing the issue or providing guidance. Three common response patterns were identified: only negative reviews, negative or longer reviews, and reviews shortly after an update. Developers most often thank the user, ask for details, provide guidance, or ask for an endorsement. Guidance responses can address common issues through FAQs. The analysis considered over 2,000 apps, 355,000 review changes, 128,000 responses, and 4 million reviews.
What Do Programmers Know about Software Energy Consumption?SAIL_QU
This document summarizes the results of a survey of 122 programmers about their knowledge of software energy consumption. The survey found that programmers have limited awareness of energy consumption and how to reduce it. They were unaware of the main causes of high energy usage. Programmers lacked knowledge about how to properly rank the energy consumption of different hardware components and were unfamiliar with strategies to improve efficiency, such as minimizing I/O and avoiding polling. The study concludes that programmers would benefit from more education on software energy usage and its causes.
Revisiting the Experimental Design Choices for Approaches for the Automated R...SAIL_QU
Prior research on automated duplicate issue report retrieval focused on improving performance metrics like recall rate. The author revisits experimental design choices from four perspectives: needed effort, data changes, data filtration, and evaluation process.
The thesis contributions are: 1) Showing the importance of considering needed effort in performance measurement. 2) Proposing a "realistic evaluation" approach and analyzing prior findings with it. 3) Developing a genetic algorithm to filter old issue reports and improve performance. 4) Highlighting the impact of "just-in-time" features on evaluation. The findings help better understand benefits and limitations of prior work in this area.
Measuring Program Comprehension: A Large-Scale Field Study with ProfessionalsSAIL_QU
The document summarizes a large-scale field study that tracked the program comprehension activities of 78 professional developers over 3,148 hours. The study found that:
1) Program comprehension accounted for approximately 58% of developers' time on average, with navigation and editing making up the remaining portions.
2) Developers frequently used web browsers and document editors to aid comprehension beyond just IDEs.
3) Interviews and observations revealed that insufficient documentation, unclear code, and complex inheritance hierarchies contributed to long comprehension sessions.
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
Utilocate offers a comprehensive solution for locate ticket management by automating and streamlining the entire process. By integrating with Geospatial Information Systems (GIS), it provides accurate mapping and visualization of utility locations, enhancing decision-making and reducing the risk of errors. The system's advanced data analytics tools help identify trends, predict potential issues, and optimize resource allocation, making the locate ticket management process smarter and more efficient. Additionally, automated ticket management ensures consistency and reduces human error, while real-time notifications keep all relevant personnel informed and ready to respond promptly.
The system's ability to streamline workflows and automate ticket routing significantly reduces the time taken to process each ticket, making the process faster and more efficient. Mobile access allows field technicians to update ticket information on the go, ensuring that the latest information is always available and accelerating the locate process. Overall, Utilocate not only enhances the efficiency and accuracy of locate ticket management but also improves safety by minimizing the risk of utility damage through precise and timely locates.
May Marketo Masterclass, London MUG May 22 2024.pdfAdele Miller
Can't make Adobe Summit in Vegas? No sweat because the EMEA Marketo Engage Champions are coming to London to share their Summit sessions, insights and more!
This is a MUG with a twist you don't want to miss.
Takashi Kobayashi and Hironori Washizaki, "SWEBOK Guide and Future of SE Education," First International Symposium on the Future of Software Engineering (FUSE), June 3-6, 2024, Okinawa, Japan
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxrickgrimesss22
Discover the essential features to incorporate in your Winzo clone app to boost business growth, enhance user engagement, and drive revenue. Learn how to create a compelling gaming experience that stands out in the competitive market.
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsPeter Muessig
The UI5 tooling is the development and build tooling of UI5. It is built in a modular and extensible way so that it can be easily extended by your needs. This session will showcase various tooling extensions which can boost your development experience by far so that you can really work offline, transpile your code in your project to use even newer versions of EcmaScript (than 2022 which is supported right now by the UI5 tooling), consume any npm package of your choice in your project, using different kind of proxies, and even stitching UI5 projects during development together to mimic your target environment.
Enterprise Resource Planning System includes various modules that reduce any business's workload. Additionally, it organizes the workflows, which drives towards enhancing productivity. Here are a detailed explanation of the ERP modules. Going through the points will help you understand how the software is changing the work dynamics.
To know more details here: https://blogs.nyggs.com/nyggs/enterprise-resource-planning-erp-system-modules/
Flutter is a popular open source, cross-platform framework developed by Google. In this webinar we'll explore Flutter and its architecture, delve into the Flutter Embedder and Flutter’s Dart language, discover how to leverage Flutter for embedded device development, learn about Automotive Grade Linux (AGL) and its consortium and understand the rationale behind AGL's choice of Flutter for next-gen IVI systems. Don’t miss this opportunity to discover whether Flutter is right for your project.
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppGoogle
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
👉👉 Click Here To Get More Info 👇👇
https://sumonreview.com/ai-fusion-buddy-review
AI Fusion Buddy Review: Key Features
✅Create Stunning AI App Suite Fully Powered By Google's Latest AI technology, Gemini
✅Use Gemini to Build high-converting Converting Sales Video Scripts, ad copies, Trending Articles, blogs, etc.100% unique!
✅Create Ultra-HD graphics with a single keyword or phrase that commands 10x eyeballs!
✅Fully automated AI articles bulk generation!
✅Auto-post or schedule stunning AI content across all your accounts at once—WordPress, Facebook, LinkedIn, Blogger, and more.
✅With one keyword or URL, generate complete websites, landing pages, and more…
✅Automatically create & sell AI content, graphics, websites, landing pages, & all that gets you paid non-stop 24*7.
✅Pre-built High-Converting 100+ website Templates and 2000+ graphic templates logos, banners, and thumbnail images in Trending Niches.
✅Say goodbye to wasting time logging into multiple Chat GPT & AI Apps once & for all!
✅Save over $5000 per year and kick out dependency on third parties completely!
✅Brand New App: Not available anywhere else!
✅ Beginner-friendly!
✅ZERO upfront cost or any extra expenses
✅Risk-Free: 30-Day Money-Back Guarantee!
✅Commercial License included!
See My Other Reviews Article:
(1) AI Genie Review: https://sumonreview.com/ai-genie-review
(2) SocioWave Review: https://sumonreview.com/sociowave-review
(3) AI Partner & Profit Review: https://sumonreview.com/ai-partner-profit-review
(4) AI Ebook Suite Review: https://sumonreview.com/ai-ebook-suite-review
#AIFusionBuddyReview,
#AIFusionBuddyFeatures,
#AIFusionBuddyPricing,
#AIFusionBuddyProsandCons,
#AIFusionBuddyTutorial,
#AIFusionBuddyUserExperience
#AIFusionBuddyforBeginners,
#AIFusionBuddyBenefits,
#AIFusionBuddyComparison,
#AIFusionBuddyInstallation,
#AIFusionBuddyRefundPolicy,
#AIFusionBuddyDemo,
#AIFusionBuddyMaintenanceFees,
#AIFusionBuddyNewbieFriendly,
#WhatIsAIFusionBuddy?,
#HowDoesAIFusionBuddyWorks
Why Mobile App Regression Testing is Critical for Sustained Success_ A Detail...kalichargn70th171
A dynamic process unfolds in the intricate realm of software development, dedicated to crafting and sustaining products that effortlessly address user needs. Amidst vital stages like market analysis and requirement assessments, the heart of software development lies in the meticulous creation and upkeep of source code. Code alterations are inherent, challenging code quality, particularly under stringent deadlines.
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j
Dr. Jesús Barrasa, Head of Solutions Architecture for EMEA, Neo4j
Découvrez les dernières innovations de Neo4j, et notamment les dernières intégrations cloud et les améliorations produits qui font de Neo4j un choix essentiel pour les développeurs qui créent des applications avec des données interconnectées et de l’IA générative.
OpenMetadata Community Meeting - 5th June 2024OpenMetadata
The OpenMetadata Community Meeting was held on June 5th, 2024. In this meeting, we discussed about the data quality capabilities that are integrated with the Incident Manager, providing a complete solution to handle your data observability needs. Watch the end-to-end demo of the data quality features.
* How to run your own data quality framework
* What is the performance impact of running data quality frameworks
* How to run the test cases in your own ETL pipelines
* How the Incident Manager is integrated
* Get notified with alerts when test cases fail
Watch the meeting recording here - https://www.youtube.com/watch?v=UbNOje0kf6E
5. Prior Approaches are Not Adding Value!
5
Impact of defects in not considered
No guidance on what to do is provided
Prediction is too late and too defect-centric
We need pragmatic solutions!
6. Overview of Thesis
6
Pragmatic SDP
Considering Impact Providing Guidance
Proactive &
Encompassing SDP
Surprises &
Breakages
Re-opened
defects
Simplifying
SDP models
Unit test
creation
Risky Changes
8. Surprise Defects
Low pre-, high post-release defects
Catch developers off-guard
Lead to schedule interruptions
Occur in unexpected locations
8
9. Factors Used to Model Surprise Defects
Size
Pre-release defects
Number, churn, size, pre-release
changes, pre-release defects
Latest change
Age
Traditional
Co-changed files
Time 9
16. Most Important Factors
Eclipse
+ ++
Level Frequency Attributes
Level 1 10 Comment text
Level 2 20 Description text
16
Bug report information, especially
comments, are most important
18. Motivation
18
Complexity metrics,
Program dependencies,
socio-technical networks
Size is a good
indicator of
buggy files
Use dependency
and complexity
metrics
Process and
code metrics
University of Lugano
Change coupling,
popularity and
design flaws
Change complexity
and social structures
Which metrics should I
use? How do they impact
my code quality?
Structure and
historical changes
19. Case Study
1. Build a model with initial set of 34 factors
2. Iteratively remove statistically insignificant and
highly correlated metrics
19
Replicate the study by Zimmermann et al. [310]
20. Main Findings
20
Narrowed down 34 code and process metrics to
only 3 or 4
0
10
20
30
40
50
60
70
80
90
100
Precision (%) Recall (%) Accuracy (%)
Performancemeasure(%)
Simple
All metrics
26. An Example Change
26
Change 12345 by author@adesk on 2000/03/23 12:47:15
Purpose: Bug fix
Modifies API: Yes
Related Changes: 1234, 3421
…
Change description: Changed files A and B to implement new feature and
fix bug 123 ...
Files affected:
//root/comp1/subcomp1/A.java (+10, -1, e10)
//root/comp1/subcomp1/B.cpp (+1, -2, e5)
Risky?
27. Factors Used to Model Risky Changes
Lines and chunks add, deleted, modified,
total churn
No. of changes, No. of fixes, defectiveness,
No. developers
Developer experience, Bug fix?, No. linked
bugs
Changed files
Experience &
Defects
Code
Size
Modify Java, CPP, other, API
29. Most Important Factors
Developer Team
7 X Lines Added 10 X Chunks Added
7 X File defectiveness 6 X File defectiveness
None 3 X Modifies C++
2 X No. linked bugs
1 X Developer experience
4 X No. linked bugs
4 X Developer experience
Code added, file defectiveness, No. linked
defects and developer experience
29
32. Test Writing Factors
Most Frequently Modified (MFM)
Most Recently Modified (MRM)
Most Frequently Fixed (MFF)
Most Recently Fixed (MRF)
Largest Fixed (LF)
Largest Modified (LM)
Change Risk (CR)
Size Risk (SR)
Random
Modification
Fix
Size
Risk
Random
37. Existing Approaches Aren’t Adding Value
• Obvious to practitioners
• Require a large amount of effort
• Not all defects are equally important
So….what can we do?
FOCUS ON HIGH-IMPACT DEFECTS !
37
38. Impact Is In The Eye of The Beholder!
Customers: Breakages
Break existing functionality
Affect established customers
Hurt company image
Low pre-, high post-release defects
Catch developers off-guard
Lead to schedule interruptions
Developers: Surprises
Occur in unexpected locations
38
40. Part 1 Part 2
Part 3 Part 4
Exploratory Study of
Breakages and Surprises
Prediction of Breakages
and Surprises
Understanding
Prediction Models of
Breakages and Surprises
Value of Focusing on
Breakages and Surprises
Study Overview
40
41. Exploratory Study of Breakages and
Surprises
All files
Breakages Surprises
Post-release
10%
2% 2%
Rare (2% of files)
6% overlap Should study them separately
Very difficult to model
41
42. Part 1 Part 2
Part 3 Part 4
Exploratory Study of
Breakages and Surprises
Prediction of
Breakages and Surprises
Understanding Prediction
Models of Breakages and
Surprises
Value of Focusing on
Breakages and Surprises
Predicting Breakages and Surprises
42
44. Factors Used to Model Breakages and
Surprises
Size
Pre-release defects
Number, churn, size, pre-release
changes, pre-release defects
Latest change
Age
Traditional
Co-changed files
Time 44
46. Part 1 Part 2
Part 3 Part 4
Exploratory Study of
Breakages and Surprises
Prediction of Breakages
and Surprises
Understanding
Prediction Models of
Breakages and Surprises
Value of Focusing on
Breakages and Surprises
Understanding Breakages and
Surprises Models
46
48. Traditional Co-change Time
Important Factors for High-Impact Defects
0
5
10
15
20
25
30
35
40
R1.1 R2.1 R3 R4 R4.1
0
5
10
15
20
25
30
35
40
R1.1 R2.1 R3 R4 R4.1
Breakages Surprises
DevianceExplained(%)
Traditional
Co-change
Time
48
49. Part 1 Part 2
Part 3 Part 4
Exploratory Study of
Breakages and Surprises
Prediction of Breakages
and Surprises
Understanding Prediction
Models of Breakages and
Surprises
Value of Focusing on
Breakages and Surprises
Value of Focusing on Breakages and
Surprises
49
52. Take Home Messages
1. Breakages and Surprises are different. Occur in 2%
of files, hard to predict
2. Achieve 2-3X improvement in precision, high recall
Co-change and Time metrics
4. Building specialized models saves 40-50% effort
Traditional metrics3. Breakages
Surprises
52
http://research.cs.queensu.ca/home/emads/data/FSE2011/hid_artifact.html
53. Predicting Re-opened Bugs
A Case Study on the Eclipse Project
Emad Shihab, A. Ihara, Y. Kamei, W. Ibrahim,
M. Ohira, B. Adams, A. E. Hassan and K. Matsumoto
emads@cs.queensu.ca
SAIL, Queen’s University, Canada
NAIST, Japan
53
54. When you discover a bug …
Report bug Fix bug Verify fix Close bug
Re-opened
54
58. Research questions …
1. Which attributes indicate re-opened bugs?
2. Can we accurately predict if a bug will be re-
opened using the extracted attributes?
58
65. Research question 1
Which attributes indicate re-opened bugs?
65
Comment text, description text and fix location
(component) are the best indicators
66. Top node analysis setup
1. Build 10 decision trees for each attribute set
3. Repeat using all attributes
2. Record the frequency and level of each attribute
66
67. Decision tree prediction model
67
No. files
>= 5 < 5
Dev exp
>= 3 < 3
Re-openedMonth
Time
>= 12 < 12
Time to resolve
>= 6 < 6 >= 24 < 24
Re-opened Not Re-opened Re-opened.
.
.
.
.
.
Level 1
Level 2
Level 3
68. Top node analysis example with 3
trees
Comment
Time No. comments
Comment
Time No. files
No. files
Time Description size
Level Frequency Attributes
Level 1 2
1
Comment
No. files
Level 2 3
1
1
1
Time
No. comments
No. files
Description size
.
.
.
.
.
.
68
69. Which attributes best indicate re-
opened bugs?
69
Work habit attributes
9 X Month
1 X Time (Hour of day)
Weekday
Day of month
70. Which attributes best indicate re-
opened bugs?
70
Bug report attributes
Component
Platform
Severity
Priority
CC list
Priority changed
Description size
Description text
Number of comments
Comment size
10 X Comment text
Metadata
Textual
data
71. Which attributes best indicate re-
opened bugs?
7 X Time to resolve
3 X Last status
Number of files in fix
71
Bug fix attributes
72. Which attributes best indicate re-
opened bugs?
5 X Reporter name
5 X Fixer name
Reporter experience
Fixer experience
72
People attributes
73. Combining all attributes
+ ++
Level Frequency Attributes
Level 1 10 Comment text
Level 2 19
1
Description text
Component
73
74. Research question 2
Can we accurately predict if a bug will be
re-opened using the extracted attributes?
74
Our models can correctly predict re-opened bugs with
63% precision and 85% recall
75. Decision tree prediction model
75
No. files
>= 5 < 5
Dev exp
>= 3 < 3
Re-openedMonth
Time
>= 12 < 12
Time to resolve
>= 6 < 6 >= 24 < 24
Re-opened Not Re-opened Re-opened.
.
.
.
.
.
Level 1
Level 2
Level 3
76. Performance measures
Re-opened precision:
Re-opened Recall:
Re-opened Not re-opened
Re-opened TP FP
Not re-opened FN TN
Predicted
Actual
𝑇𝑃
𝑇𝑃 + 𝐹𝑃
𝑇𝑃
𝑇𝑃 + 𝐹𝑁
Not re-opened precision:
Not re-opened recall:
𝑇𝑁
𝑇𝑁 + 𝐹𝑁
𝑇𝑁
𝑇𝑁 + 𝐹𝑃
76
80. Bug comments are important …
Bug report is most important set
What words are important?
Comment text most important bug report attribute
80
81. Important words
Re-opened Not Re-opened
control
background
debugging
breakpoint
blocked
platforms
verified
duplicate
screenshot
important
testing
warning
81
83. Understanding the Impact of Code and Process
Metrics on Post-release Defects: A Case Study on
the Eclipse Project
Emad Shihab, Zhen Ming Jiang, Walid Ibrahim,
Bram Adams and Ahmed E. Hassan
Software Analysis and Intelligence Lab (SAIL)
Queen’s University 83
84. Motivation
Software has^ bugs and
managers have ^ limited resources
84
How to allocate quality assurance
resources?
Q:
A: Defect prediction!
85. Motivation
85
Complexity metrics,
Program dependencies,
socio-technical networks
Size is a good
indicator of
buggy files
Use dependency
and complexity
metrics
Use number of
imports and
code metrics
Use process
and code
metrics
University of Lugano
Change coupling,
popularity and
design flaws
Change complexity
and social structures
Which metrics should I
use? How do they impact
my code quality?
86. The challenge we face …
1. more work to mine
2. difficult to understand impact
3. less adoption in practice
86
more metrics, means ….
87. Our goal ….
Use a statistical approach based on work by Cataldo et al. :
1. Narrow down large set of metrics to much smaller set
2. Study the impact on post-release defects
87
88. Our findings ….
Narrowed down 34 code and process metrics to only 3 or 4
Simple models achieve comparable predictive power
Explanative power of simple model outperform 95% PCA
88
Some metrics ALWAYS matter: Size and pre-bugs
Let me show you how ….
89. 34 Code and Process Metrics
Metric Description
POST Number of post-release defects in a file in the 6 months after the release.
PRE Number of pre-release defects in a file in the 6 months before the release
TPC Total number of changes to a file in the 6 months before the release
BFC Number of bug fixing changes in a file in the 6 months before the release.
TLOC Total number lines of code of a file
ACD Number of anonymous type declarations in a file
FOUT (3) Number of method calls of a file
MLOC (3) Number of method lines of code
NBD (3) Nested block depth of the methods in a file
NOF (3) Number of fields of the classes in a file
NOI Number of interfaces in a file
NOM (3) Number of methods of the classes in a file
NOT Number of classes in a file
NSF (3) Number of static fields of the classes in a file
NSM (3) Number of static methods of the classes in a file
PAR (3) Number of parameters of the methods in a file
VG (3) McCabe cyclomatic complexity of the methods in a file
Process
Metrics
Code
Metrics
89
90. Approach overview
P < 0.1 VIF < 2.5
1. Build Logistic Regression model using all metrics
2. Remove statistically insignificant metrics
3. Remove highly co-linear metrics
4. Narrow down to a much smaller set of metrics 90
Initial model
w/ all metrics
Statistical
significance
check
Co-linearity
check
Simple
model
The std error of metric coefficient is
~1.6 times as large if metrics were
uncorrelated
5.2
91. Case study
Perform case study on Eclipse 2.0, 2.1 and 3.0
RQ1: Which metrics impact post-release defects?
Do these metrics change for different releases of Eclipse?
RQ2: How much do metrics impact the post-release defects?
Does the level of impact change across different releases?
91
92. Metric Eclipse 2.0 Eclipse 2.1 Eclipse 3.0
P-value VIF P-value VIF P-value VIF
Anonymous Type Declarations * 1.2
No. of Static Methods *** 1.1
No. of Parameters *** 1.2
No. Pre-release Defects *** 1.1 *** 1.1 *** 1.2
Total Prior Changes *** 1.1 ** 1.1
Total lines of Code *** 1.3 *** 1.4 *** 1.3
RQ1: Which metrics impact? Do
they change?
92
Important and stable for all releases
Code metrics specific for release
(p<0.001 ***; p<0.001 **, p<0.05*)
93. RQ2: How much do metrics
explain?
93
Metric Eclipse 2.0 Eclipse 2.1 Eclipse 3.0
Total lines of Code
Total Prior Changes
No. Pre-release defects
No. of Parameters
No. of static methods
Anonymous Type Declarations
Deviance explained 25.2% 17.7% 21.2%
0.1%
4.9%
17.6%
2.2%
11.2%
6.3%
0.2%
14.5%
5.9%
0.5%
0.7%
Size and process metrics are most important
How well the model fits, explains
the observed phenomena
94. RQ2: Impact of the metrics?
Eclipse 3.0
94
Metric Odds-ratios
(M 1)
Odds-ratios
(M2)
Odds-ratios
(M 3)
Odds-ratios
(M 4)
Lines of Code 2.57 2.40 2.11 1.88
Prior Changes 1.87 1.62 1.62
Pre-release defects 1.87 1.90
Max parameters of
methods
1.73
1 unit increase, increases the chance
of post-release defect by 90%
Odds ratios are used to quantify impact on post-release
defects
95. But …What about predictive power?
Eclipse 3.0
95
Simple models achieve comparable results to
more complex models
0
10
20
30
40
50
60
70
80
90
100
Precision (%) Recall (%) Accuracy (%)
Performancemeasure(%)
Simple
All metrics
96. Comparing to PCA
Eclipse 3.0
96
Simple 95% PCA 99% PCA 100% PCA
Deviance
explained
21.2% 16.3% 21.7% 22.0%
No. of
metrics
4 33 33 33
No. of PCs - 8 15 33
Can outperform 95% PCA, using much simpler models
97. Comparing to PCA
97
0 10 20 30
Eclipse 2.0
Eclipse 2.1
Eclipse 3.0
Deviance explained (%)
100% PCA
95% PCA
Simple
Outperform 95% PCA,
slightly below 100% PCA
Use at most 4 metrics
Vs. 34 metrics used in
PCA
99. Prioritizing Unit Test Creation for
Test-Driven Maintenance of Legacy
Systems
Emad Shihab, Zhen Ming Jiang, Bram Adams,
Ahmed E. Hassan and Robert Bowerman
Queen’s University and Research In Motion
Canada
100. Test Driven Development (TDD)
Write unit test
before
writing new code
What about already written code
101. Test Drive Maintenance (TDM)
Adopting
Test Driven Development (TDD)
for Legacy Applications
But time and resources are limited!
102. Prioritizing Unit Test Creation
Use the rich history of the legacy system to
prioritize the writing of unit tests
103. Avoid the most bugs effectively!
Write unit tests for functions with best
Return on Investment (ROI)
How can we avoid the most
bugs given limited resources?
104. Testing Writing Prioritization
Heuristics
Most Frequently Modified (MFM)
Most Recently Modified (MRM)
Most Frequently Fixed (MFF)
Most Recently Fixed (MRF)
Largest Fixed (LF)
Largest Modified (LM)
Change Risk (CR)
Size Risk (SR)
Random
Modification
Fix
Size
Risk
Random
105. Usefulness
Was writing the unit test useful?
Time to write unit test
A
B
C
6 bug fixes
2 bug fixes
0 bug fixes
Usefulness = 2/3 = 66.67%
106. POP: Percentage of Optimal Performance
How close are we to the optimal performance?
Time to write unit test
A
B
C
6 bug fixes
2 bug fixes
0 bug fixes
POP = 8/13 = 61.5%
D
E
4 bug fixes
3 bug fixes
108. Study Setup
Extracting Historical Data
1. Search modification record comments for keywords
and bug identifiers
2. Extract source code of modified file(s) and compare
to previous version to identify changed functions
3. Combine data from 1 and 2 to identify
changed/fixed functions
109. main() {
int a;
/*call
help*/
helpInfo();
}
helpInfo() {
errorString!
}
main() {
int a;
/*call
help*/
helpInfo();
}
helpInfo(){
int b;
}
main() {
int a;
/*call
help*/
helpInfo();
}
V1:
Undefined func.
(Link Error)
V2:
Syntax error
V3:
Valid code
Mapping Historical Changes to Functions
110. Study Setup
Measuring the Performance of a Heuristic
Based on a heuristic, generate list of X
functions to write unit tests for
Use size of function to measure effort
required to write unit test
111. Test Writing Heuristics
Most Frequently Modified (MFM)
Most Recently Modified (MRM)
Most Frequently Fixed (MFF)
Most Recently Fixed (MRF)
Largest Fixed (LF)
Largest Modified (LM)
Change Risk (CR)
Size Risk (SR)
Random
Modification
Fix
Size
Risk
Random
112. Best Test Writing Heuristics
Most Frequently Modified (MFM)
Most Recently Modified (MRM)
Most Frequently Fixed (MFF)
Most Recently Fixed (MRF)
Largest Fixed (LF)
Largest Modified (LM)
Change Risk (CR)
Size Risk (SR)
Random
Modification
Fix
Size
Risk
Random
114. POP: Percentage of Optimal Performance
How close are we to the optimal performance?
0
10
20
30
40
50
60
70
80
90
100
Percentageofoptimalperformance(%)
Time (days)
Most Frequently Modified (MFM)
Most Frequently Fixed (MFF)
Largest Fixed (LF)
Change Risk (CR)
Random
115. 87
84.7
83.8
80
56.9
55
48.8
43.1
27.7
32.4
32.2
22.2
21.8
7
5.5
4.3
4.9
1.7
0 10 20 30 40 50 60 70 80 90 100
Largest Fixed (LF)
Largest Modified (LM)
Most Frequently Fixed (MFF)
Most Frequently Modified (MFM)
Most Recently Fixed (MRF)
Change Risk (CR)
Size Risk (SR)
Most Recently Modified (MRM)
Random
Overall Performance of Heuristics
POP
Usefulness
120. Overview of Change Integration Process
Local
Repository
Risky?
Yes
Closer
review
No
Main
Repository
Change
120
121. Case Study
Commercial mobile system
Dec 2009 – Dec 2010
450+ developers
60+ teams
7000+ changes
Mainly in Java and C/C++
121
122. Part 1 Part 2 Part 3
Prediction of
Risky Changes
Understanding
Risky Changes
Misclassification
of Risky Changes
Study Overview
122
123. An Example Change
123
Change 12345 by author@adesk on 2000/03/23 12:47:15
Purpose: Bug fix
Modifies API: Yes
Related Changes: 1234, 3421
…
Change description: Changed files A and B to implement new feature and
fix bug 123 ...
Files affected:
//root/comp1/subcomp1/A.java (+10, -1, e10)
//root/comp1/subcomp1/B.cpp (+1, -2, e5)
Risky?
124. Factors Used to Model Risky Changes
Lines and chunks add, deleted, modified,
total churn
No. of changes, No. of fixes, bugginess, No.
developers
Developer experience, Bug fix?, No. linked
bugs
Changed files
Experience &
Defects
Code
Size
Modify Java, CPP, other, API
126. Part 1 Part 2 Part 3
Prediction of
Risky Changes
Understanding
Risky Changes
Misclassification
of Risky Changes
Study Overview
126
127. Most Important Factors
Developer Team
7 X Lines Added 10 X Chunks Added
7 X File bugginess 6 X File bugginess
None 3 X Modifies C++
2 X No. linked bugs
1 X Developer experience
4 X No. linked bugs
4 X Developer experience
Code added, file bugginess, No. linked
defects and developer experience
127
128. Part 1 Part 2 Part 3
Prediction of
Risky Changes
Understanding
Risky Changes
Misclassification
of Risky Changes
Study Overview
128
129. When were Developers Wrong?
Compare percentage of correctly and wrongly classified
changes:
• Cause: Unclear requirements, inadequate testing, coding
errors, design flaw
• Related changes?
• Modifies API code?
Changes that have related changes are 10
times more likely to be wrongly classified!
129
131. Success Story!
A tool based on this work is being used by RIM’s
Handheld Integration Team
Tools team is working on building a tool to be
deployed company wide
131
132. Overview of Change Integration Process
Local
Repository
Risky?
Yes
Closer
review
No
Main
Repository
Change
132
133. When were Developers Wrong?
Compare percentage of correctly and wrongly classified
changes:
• Cause: Unclear requirements, inadequate testing, coding
errors, design flaw
• Related changes?
• Modifies API code?
Changes that have related changes are 10
times more likely to be wrongly classified!
133
134. Evaluation of Prediction Models
Training
2/3 Testing
1/3
Data
Build Model
Input
Actually
defective
139
X 10
Pr(Defecti) = α + β1 * metric iPr(Defecti) = 0.1 + 0.5 * metric i
Pr(Defecti)
135. Evaluation of Prediction Models
140
Actually Defective
Predicted Defective
TP
FP
FN
Precision: “How small is FP”
Recall: “How small is FN”
141. The challenge we face …
1. more work to mine
2. difficult to understand impact
3. less adoption in practice
146
more metrics, means ….
Editor's Notes
Numbers are from 2002
How is this slide related to previous one?
Way too many terms that are not defined:
Predictive power
- relative impact
-effort saving
Just remove all green stuff for now – you need to sell your work for now not the exact technique the exact techqniue needs to be presented and detailed later on.
Avoid Green text very hard on the eyes
Also you never get back to these questions? These questions need to be answered later in your presentation (so the presentation should be around that structure and your conclusion should highlight these answers too)
The black magic picture means that your methodology is black magic
Predictors are a way to study this thing – your paper is not about predictors it is about studying what makes things happen. You are using prediction models as a tool for your study.
What are the best predictors What
Factors… may be say Causes?
What is this graph? ?How is it measured? What is your Y-axis? Need aslide before to explain how this graph is generated and what is the intuition behind it?
Way too many terms that are not defined:
Predictive power
- relative impact
-effort saving
Just remove all green stuff for now – you need to sell your work for now not the exact technique the exact techqniue needs to be presented and detailed later on.
Avoid Green text very hard on the eyes
Also you never get back to these questions? These questions need to be answered later in your presentation (so the presentation should be around that structure and your conclusion should highlight these answers too)
The black magic picture means that your methodology is black magic
Predictors are a way to study this thing – your paper is not about predictors it is about studying what makes things happen. You are using prediction models as a tool for your study.
What are the best predictors What
I do not get how you measured effort savings?
What do you mean by File or LOC? Need a slide before this to explain what you are doing? In the last slide you said you are comparing false positives.. I do not see that I just see File and LOC