Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Nathan Ford- Divination of the Defects (Graph-Based Defect Prediction through Change Metrics) - NoSQL matters Dublin 2015

1,382 views

Published on

While metrics generated by static code analysis are well established as predictors of possible future defects, there is another untapped source of useful information, namely your source code revision history. This presentation will discuss converting this revision information into a graph representation, various defect prediction models and how to generate their related change metrics through graph traversal, as well as the potential applications and benefits of these graph enabled prediction models.

Published in: Data & Analytics
  • Be the first to comment

Nathan Ford- Divination of the Defects (Graph-Based Defect Prediction through Change Metrics) - NoSQL matters Dublin 2015

  1. 1. Nathan
  2. 2. Graphs in Software Development ● ● ● ●
  3. 3. ● ● ● ● ● ● ●
  4. 4. ● ● ● ○ ○ ○ ○ ○ ● ○ ○ ○ ○
  5. 5. ● ● ● ○ ● ● ○ ○
  6. 6. AFFECTS IMPLEMENTS COMMITTED TO RELATING TO STATUS PARENT OF ASSIGNED TO REPORTED AUTHO RED AFFECTED CONTAINSHAS IS A ISA IS A HAS HAS BRANCH COMMIT COMPONENTPROJECT ISSUE OPEN ASSIGNEE REPORTE R AUTHOR PERSON DIRECTORY METRICS FILE
  7. 7. ● ○ ○ ○ ● ○ ○ ●
  8. 8. Example Query //Targeted QA Component Change Report MATCH (f:File)<-[:AFFECTED]-(c:Commit) -[: RELATING_TO]->(i:Issue) WHERE c.date > 1422748800000 AND c.date < 1429283945438 AND NOT ((f.name =~ '.*Test.*') OR (f.name =~ '.*.xml')) RETURN i.component,i.type,i.ref, count(DISTINCT c) AS commitCount, count(f) AS fileAffectedCount ORDER BY fileAffectedCount DESC,commitCount DESC LIMIT 25
  9. 9. ● ○ ○ ● ○ ○
  10. 10. //Bug commits ordered by number of files affected MATCH (f:File)<-[:AFFECTED]-(c:Commit)-[:RELATING_TO]- >(i:Issue{issueType:'Bug'}) WITH count(f) asfileCountForCommit,c,i RETURN c,i,fileCountForCommit ORDER BY fileCountForCommit DESC
  11. 11. ● ● ● ●

×