SlideShare a Scribd company logo
Just-in-time Detection of Protection-Impacting
Changes on WordPress and MediaWiki
SWAT
Département de Génie Logiciel
École Polytechnique de Montréal
Novembre 2018
Mohamed Amine Barrak
Director : Foutse Khomh
Co-Director : Guiliano Antoniol
Outline
• Problem statement
• Related studies
• Introduction and
background
• Lack of existing work
• Case study design
• Case study results
• Summary and future works
2
3
Problem Statement
4
Problem Statement
Source: Info Security Magazine
5
Problem Statement
Source: Open Web Application Security Project (OWASP)
6
Problem Statement
Source: Open Web Application Security Project (OWASP)
7
What is Broken Access Control Risk ?
Source: Direct Line Development Blog
Previous Studies
• MA Laverdière and E. Merlo (2018). “Detection of
protection-impacting changesduring software evolution”.
SANER 2018
• S. Georgios and A. Lefteris and T. Dimitrios (2017). “
Assessment of vul-nerability severity using text mining”.
ACM 2017.
• An, Le and Khomh, Foutse (2015a). “An empirical study of
crash-inducing commits in mozilla“, PROMISE 2015
8
Introduction and Background
9
Role-Based Access Control (RBAC)
10
Source: https://www.idenhaus.com/how-integrate-role-based-access-control-group-environment/
Role-Based Access Control (RBAC)
11
HR Manager Developer
Commit-
Code View-
Sprint
Hire
Approve-
Budget
Create-Sprint
View-CVs
View-Performance
=
Divides who can do what using groups
and privileges
Product Manager
Commercialise
product
Access to sales
revenue
• Access control is implemented in code source
• Code changes may affect privilege protection
Code change causing protection-
impacting change
VersionA VersionB
Codechange
f unction f o o ( ) {
/ / assumes pr i v i l ege p1 he ld
}
fo o ( );
if (!current_user_can(’p1’)) die();
foo();
Protected for p1
Application-specificstereotypicalAPI
}
if (!current_user_can(’p1’)) die();
foo();
Protected for p1
f unction f o o ( ) {
/ / assumes pr i v i l ege p1 he ld
10
How to detect Lines of Protection
Impacting Changes (Existing tool)?
13
• Compose source code to Abstract Syntax Tree (AST)
• Convert AST to inter-procedural Control Flow Graph (CFGs)
• Link CFGs to be intra-procedural CFGs (called PTFA)
Pattern Traversal Flow Analysis (PTFA)
14
Determine privilege protection on all execution paths
• Occurs when definite privilege protection for a statement s
that is common to Version A and Version B but differs
between versions.
Definite Protection Difference (DPD)
15
VersionA VersionB
Codechange
f unction f o o ( ) {
/ / assumes pr i v i l ege p1 he ld
}
+ fo o ( );
if (!current_user_can(’p1’)) die();
foo();
Protected for p1
Application-specificstereotypicalAPI
}
if (!current_user_can(’p1’)) die();
foo();
Protected for p1
f unction f o o ( ) {
/ / assumes pr i v i l ege p1 he ld
Protection-Impacting Changes (Oracle)
16
PICAnalyzer
Code
Differences
Definite
Protection
Differences
Protection
Impacting
Changes
(PIC)
PTFA
Models
Output
Input
Protection
Impacting
Change Oracle
dataset
V1 V2 gain/ loss filename line_number
Output format:
Source
Code
Version
Pairs
Lack of Existing Work
and Our Goal
17
18
Cost of Security Defect related to
development process?
• Cost of a Data Breach $7.2M
from law suits, loss of customer
trust, damage to brand
Find during Development
$80 / defect
Find during Build
$240 / defect
Find during QA/Test
$960 / defect
Find in Production
$7,600 / defect
Source: Protecting Mission-Critical Source Code from Application Security Vulnerabilities (IBM study)
Source: PonemonInstitute
Source: National Institute of Standards and Technology
• Delay of reporting PICs lines, take almost 10 minutes to
generate results of PICs per release pair
• Cost of executing the tool at each modification in the
source code
• Applied after the vulnerability occurrence and already
affected a large population of users
• Average Cost of a Data Breach $7.2M from law suits,
loss of customer trust, damage to brand
Lack of Existing Works
19
• Automatically identifying protection impacting change vulnerability before
introducing it in the system
• Implement an automated and just-in-time tool in the coding phase
• Usage of existing work to create machine learning algorithm
Our Goal: Prevention is better
than a cure
20
Source: http://ehealth.eletsonline.com/2016/08/preventive-cure-prevention-is-better-than-cure/
Create automated and Predictive
Models of Protection Impacting
Change
Case Study Design
21
22
Choice of Projects for PIC analysis
(CVE : Common Vulnerabilities and
Exposures)
WordPress Vulnerabilities MediaWiki Vulnerabilities
High
percentage
High
percentage
Software Configuration Management
23
Branch-by release model
Software Configuration Management
24
Branch-by purpose model.
• Manual analysis of Releases tree
– Verify the adapted software configuration
management
– Choose a consecutive versions to minimize the
complexity of the analysis
– Make sure that the selected pair versions are not in
different branches
Attention: Several studies are comparing code source in
a system without paying attention to the unrelated
brunches.
How we choose pair releases for PIC
detection?
25
3.7.1
3.7.2 3.8.0
3.7.3
3.8.1
3.7.4 3.8.2
3.7.5 3.8.3
3.7.6 3.8.4 3.9.0
3.7.7 3.8.5 3.9.1
WordPress Release Tree
• Analysis include
– 211 releases pairs of WordPress from (2.0 to 4.7.3)
– 193 releases pairs of MediaWiki from (1.5.0 to 1.29.2)
• Mature open source systems (WordPress and
MediaWiki)
– Long release history and available archive
– Implement RBAC approach
– Important LOC
Data Collection
26
• Run Protection Impacting Changes tool to report
Protection-Impacting Lines
• Readable results for end user
– V1 V2 gain/ loss filename line_number
• Consider vulnerable lines as an Oracle
Protection-Impacting Change Lines
27
From PIC lines to PIC commits
28
• From protection impacting line to PIC commit
– B : Bifurcation point between V1 and V2
– C’ : Last commit that modified line_number
between V1 and V2
• Commit that modified privilege protection
– “git blame -L line_number B..C’ -- filename “
• Commits that removed privilege protection
– “git blame --reverse -L line_number B..C’ --
filename ”
From PIC lines to PIC commits
29
• Example:
– V1: 2.0.2 V2: 2.0.3
– B : ba8bb5af9e
– C’ : e1172126a1
– modified line is: 11
– Deleted line: 213
– Modified file : user-edit.php
• Commit that modified privilege protection
“git blame -L 11 ba8bb5af9e..e1172126a1 -- user-
edit.php“
• Commits that removed privilege protection
“git blame --reverse -L 11
ba8bb5af9e..e1172126a1 -- user-edit.php”
Bifurcation
V2
V1
30
• Date (week day, month day, Month)
• Author experience
• Commit size:
– Number of changed files
– Number of added and deleted lines
• Message size
• Is Bug fix ?
Commit Log metrics (structure of
commit code)
31
• Undertand tool (Source Code Analysis & Metrics)
– LOC
– Cyclomatic complexity McCabe
– Maximum nesting
– Number of declarative statements
– Number of functions
– Number of blank lines
– Ratio of comment lines over all lines in a file
Code Complexity metrics (code quality)
32
Research Questions
33
RQ1) What is the proportion of protection-impacting changes in
Wordpress and MediaWiki?
RQ2) What are the characteristics of protection-impacting changes?
RQ3) To which extent can we predict protection-impacting changes?
RQ4) Why do automatic machine learning models misclassify some
protection-impacting changes?
Case Study Results
34
RQ1:What is the proportion of
protection-impacting changes in
Wordpress and MediaWiki?
35
Proportion of Protection-Impacting
changes commits in WordPress and
MediaWiki
36
PIC commit does not mean that
all its changed lines are
vulnerable
Software developers should strive to catch PIC commits as soon as
possible
RQ2: What are the characteristics
of protection-impacting changes?
37
Characteristics of PIC commits
38
Metrics PIC Non-PIC PIC Non-PIC
Message size 19 15 27 18
Author experience 1531 1343 1378 1012
Cyclomatic Complexity 9.9 7.9 2.4 2.2
Max Nesting 3.6 3.4 3.3 1.6
Declarative statement 42.1 37.7 57.3 27.8
Is bug fix 20% 21.7% 29.4% 23.4%
PN: More results are in the
paper
RQ3: To which extent can we predict
protection-impacting changes?
39
Steps of Building the Machine Learning
Infrastructure
40
Source: https://www.7wdata.be/big-data/building-the-machine-learning-infrastructure/
• Eliminate Collinearity between
variables using Variance Inflation
Factor (VIF)
• Divide your dataset into training set
and test set with 10-cross
validation technique
• Apply Machine Learning Algorithms
to predict the PIC variable.
• Evaluate models by reporting
(precision, recall, accuracy, etc)
Machine Learning Algorithm Results
41
Random Forest algorithm achieve best prediction performance in both
projects
RQ4: Why do automatic machine
learning models misclassify some
protection-impacting changes?
42
43
Qualitative Observations Of Wrongly
Classified Commits
Adding more information to the model will increase the prediction
performance
Conclusion
There is a high proportion of PIC commits that engineers
should take care of
PICs commits are submitted by experienced developers.
They contain longer commit messages and make
complex changes in files
High accuracy of predicting PIC commits using ML
algorithms, then improving research by applying a
qualitative analysis to know causes of misclassification
44
Future Work
Introduce new security metrics to improve our models
such as Developer Activity Metrics
Improve our actual models by ignoring commits of
pushing versions or changing JS, HTML or CSS files.
Expand our research not only on PHP software systems,
and with more Oracle systems
45
46
Thank you for your attention
Related Papers
• Paper 1: Searching for a Needle in a Haystack:
Predicting Security Vulnerabilities for Windows Vista
• empirically evaluate the efficacy of classical metrics
like complexity, churn, coverage, dependency
measures, and organizational structure of the
company to predict vulnerabilities and assess how
well these software measures correlate with
vulnerabilities
47
Paper2: Evaluating Complexity, Code Churn,
and Developer Activity Metrics as Indicators
of Software Vulnerabilities
48
49
CVE Tickets in WordPress about
Access Control
WordPress through 4.9.6 allows Author users to execute arbitrary code by leveraging directory
traversal in the wp-admin/post.php thumb parameter, which is passed to the PHP unlink
function and can delete the wp-config.php file. This is related to missing filename validation in
the wp-includes/post.php wp_delete_attachment function. The attacker must have capabilities
for files and posts that are normally available only to the Author, Editor, and Administrator roles.
The attack methodology is to delete wp-config.php and then launch a new installation process
to increase the attacker's privileges.

More Related Content

What's hot

Michael_Joshua_Validation
Michael_Joshua_ValidationMichael_Joshua_Validation
Michael_Joshua_ValidationMichaelJoshua
 
Security's DevOps Transformation
Security's DevOps TransformationSecurity's DevOps Transformation
Security's DevOps Transformation
Michele Chubirka
 
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
University of Antwerp
 
Standardizing Source Code Security Audits
Standardizing Source Code Security AuditsStandardizing Source Code Security Audits
Standardizing Source Code Security Audits
ijseajournal
 
Mca se chapter_07_software_validation
Mca se chapter_07_software_validationMca se chapter_07_software_validation
Mca se chapter_07_software_validation
Aman Adhikari
 
Reproducible Crashes: Fuzzing Pharo by Mutating the Test Methods
Reproducible Crashes: Fuzzing Pharo by Mutating the Test MethodsReproducible Crashes: Fuzzing Pharo by Mutating the Test Methods
Reproducible Crashes: Fuzzing Pharo by Mutating the Test Methods
University of Antwerp
 
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
Achim D. Brucker
 
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony MobileA Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
SAIL_QU
 
Model based vulnerability testing report
Model based vulnerability testing reportModel based vulnerability testing report
Model based vulnerability testing reportKupili Archana
 
Test Automation Maturity: A Self-Assessment Tool
Test Automation Maturity: A Self-Assessment ToolTest Automation Maturity: A Self-Assessment Tool
Test Automation Maturity: A Self-Assessment Tool
University of Antwerp
 
Amost 2011 keynote
Amost 2011 keynoteAmost 2011 keynote
Amost 2011 keynote
Wolfgang Grieskamp
 
Mathematically Guaranteeing Code Correctness with TrustInSoft
Mathematically Guaranteeing Code Correctness with TrustInSoftMathematically Guaranteeing Code Correctness with TrustInSoft
Mathematically Guaranteeing Code Correctness with TrustInSoft
Ashley Zupkus
 
Detection of vulnerabilities in programs with the help of code analyzers
Detection of vulnerabilities in programs with the help of code analyzersDetection of vulnerabilities in programs with the help of code analyzers
Detection of vulnerabilities in programs with the help of code analyzers
PVS-Studio
 
Towards 0-bug software in the automotive industry
Towards 0-bug software in the automotive industryTowards 0-bug software in the automotive industry
Towards 0-bug software in the automotive industry
Ashley Zupkus
 
Zero-bug Software, Mathematically Guaranteed
Zero-bug Software, Mathematically GuaranteedZero-bug Software, Mathematically Guaranteed
Zero-bug Software, Mathematically Guaranteed
Ashley Zupkus
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
 

What's hot (18)

Michael_Joshua_Validation
Michael_Joshua_ValidationMichael_Joshua_Validation
Michael_Joshua_Validation
 
Security's DevOps Transformation
Security's DevOps TransformationSecurity's DevOps Transformation
Security's DevOps Transformation
 
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to In...
 
Standardizing Source Code Security Audits
Standardizing Source Code Security AuditsStandardizing Source Code Security Audits
Standardizing Source Code Security Audits
 
Model-Driven Software Verification
Model-Driven Software VerificationModel-Driven Software Verification
Model-Driven Software Verification
 
Mca se chapter_07_software_validation
Mca se chapter_07_software_validationMca se chapter_07_software_validation
Mca se chapter_07_software_validation
 
Reproducible Crashes: Fuzzing Pharo by Mutating the Test Methods
Reproducible Crashes: Fuzzing Pharo by Mutating the Test MethodsReproducible Crashes: Fuzzing Pharo by Mutating the Test Methods
Reproducible Crashes: Fuzzing Pharo by Mutating the Test Methods
 
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
On the Static Analysis of Hybrid Mobile Apps: A Report on the State of Apache...
 
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony MobileA Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
A Study of the Quality-Impacting Practices of Modern Code Review at Sony Mobile
 
Model based vulnerability testing report
Model based vulnerability testing reportModel based vulnerability testing report
Model based vulnerability testing report
 
Test Automation Maturity: A Self-Assessment Tool
Test Automation Maturity: A Self-Assessment ToolTest Automation Maturity: A Self-Assessment Tool
Test Automation Maturity: A Self-Assessment Tool
 
Amost 2011 keynote
Amost 2011 keynoteAmost 2011 keynote
Amost 2011 keynote
 
Fuzz
FuzzFuzz
Fuzz
 
Mathematically Guaranteeing Code Correctness with TrustInSoft
Mathematically Guaranteeing Code Correctness with TrustInSoftMathematically Guaranteeing Code Correctness with TrustInSoft
Mathematically Guaranteeing Code Correctness with TrustInSoft
 
Detection of vulnerabilities in programs with the help of code analyzers
Detection of vulnerabilities in programs with the help of code analyzersDetection of vulnerabilities in programs with the help of code analyzers
Detection of vulnerabilities in programs with the help of code analyzers
 
Towards 0-bug software in the automotive industry
Towards 0-bug software in the automotive industryTowards 0-bug software in the automotive industry
Towards 0-bug software in the automotive industry
 
Zero-bug Software, Mathematically Guaranteed
Zero-bug Software, Mathematically GuaranteedZero-bug Software, Mathematically Guaranteed
Zero-bug Software, Mathematically Guaranteed
 
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...IJCER (www.ijceronline.com) International Journal of computational Engineerin...
IJCER (www.ijceronline.com) International Journal of computational Engineerin...
 

Similar to Just-in-time Detection of Protection-Impacting Changes on WordPress and MediaWiki

Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
Amine Barrak
 
Vulnerability Detection Based on Git History
Vulnerability Detection Based on Git HistoryVulnerability Detection Based on Git History
Vulnerability Detection Based on Git History
Kenta Yamamoto
 
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...
Stefano Dalla Palma
 
Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019
MuhammadTalha436
 
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Chakkrit (Kla) Tantithamthavorn
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and Security
Tao Xie
 
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
University of Antwerp
 
Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...
eSAT Journals
 
Incremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsIncremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical Systems
Ákos Horváth
 
Find Out What's New With WhiteSource May 2018- A WhiteSource Webinar
Find Out What's New With WhiteSource May 2018- A WhiteSource WebinarFind Out What's New With WhiteSource May 2018- A WhiteSource Webinar
Find Out What's New With WhiteSource May 2018- A WhiteSource Webinar
WhiteSource
 
Summarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and TestingSummarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and Testing
Sebastiano Panichella
 
Ch21
Ch21Ch21
Continuous Integration and development environment approach
Continuous Integration and development environment approachContinuous Integration and development environment approach
Continuous Integration and development environment approachAleksandr Tsertkov
 
Software Analytics: Towards Software Mining that Matters (2014)
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)
Tao Xie
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
timtebeek1
 
Machine programming
Machine programmingMachine programming
Machine programming
DESMOND YUEN
 
Automated server-side model for recognition of security vulnerabilities in sc...
Automated server-side model for recognition of security vulnerabilities in sc...Automated server-side model for recognition of security vulnerabilities in sc...
Automated server-side model for recognition of security vulnerabilities in sc...
IJECEIAES
 
Ch21.pptx
Ch21.pptxCh21.pptx
Ch21.pptx
MohammedNouh7
 
Online java compiler with security editor
Online java compiler with security editorOnline java compiler with security editor
Online java compiler with security editor
IRJET Journal
 

Similar to Just-in-time Detection of Protection-Impacting Changes on WordPress and MediaWiki (20)

Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
Just-in-time Detection of Protection-Impacting Changes on WordPress and Media...
 
poster_3.0
poster_3.0poster_3.0
poster_3.0
 
Vulnerability Detection Based on Git History
Vulnerability Detection Based on Git HistoryVulnerability Detection Based on Git History
Vulnerability Detection Based on Git History
 
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...
VCCFinder: Finding Potential Vulnerabilities in Open-Source Projects to Assis...
 
Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019
 
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
 
Software Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and SecuritySoftware Analytics: Data Analytics for Software Engineering and Security
Software Analytics: Data Analytics for Software Engineering and Security
 
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
 
Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...Implementation of reducing features to improve code change based bug predicti...
Implementation of reducing features to improve code change based bug predicti...
 
Incremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical SystemsIncremental Queries and Transformations for Engineering Critical Systems
Incremental Queries and Transformations for Engineering Critical Systems
 
Find Out What's New With WhiteSource May 2018- A WhiteSource Webinar
Find Out What's New With WhiteSource May 2018- A WhiteSource WebinarFind Out What's New With WhiteSource May 2018- A WhiteSource Webinar
Find Out What's New With WhiteSource May 2018- A WhiteSource Webinar
 
Summarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and TestingSummarization Techniques for Code, Changes, and Testing
Summarization Techniques for Code, Changes, and Testing
 
Ch21
Ch21Ch21
Ch21
 
Continuous Integration and development environment approach
Continuous Integration and development environment approachContinuous Integration and development environment approach
Continuous Integration and development environment approach
 
Software Analytics: Towards Software Mining that Matters (2014)
Software Analytics:Towards Software Mining that Matters (2014)Software Analytics:Towards Software Mining that Matters (2014)
Software Analytics: Towards Software Mining that Matters (2014)
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Machine programming
Machine programmingMachine programming
Machine programming
 
Automated server-side model for recognition of security vulnerabilities in sc...
Automated server-side model for recognition of security vulnerabilities in sc...Automated server-side model for recognition of security vulnerabilities in sc...
Automated server-side model for recognition of security vulnerabilities in sc...
 
Ch21.pptx
Ch21.pptxCh21.pptx
Ch21.pptx
 
Online java compiler with security editor
Online java compiler with security editorOnline java compiler with security editor
Online java compiler with security editor
 

Recently uploaded

S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
Atul Kumar Singh
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
Jisc
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
Vikramjit Singh
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
siemaillard
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
TechSoup
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
Vivekanand Anglo Vedic Academy
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
Balvir Singh
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
deeptiverma2406
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
Chapter -12, Antibiotics (One Page Notes).pdf
Chapter -12, Antibiotics (One Page Notes).pdfChapter -12, Antibiotics (One Page Notes).pdf
Chapter -12, Antibiotics (One Page Notes).pdf
Kartik Tiwari
 

Recently uploaded (20)

S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
Language Across the Curriculm LAC B.Ed.
Language Across the  Curriculm LAC B.Ed.Language Across the  Curriculm LAC B.Ed.
Language Across the Curriculm LAC B.Ed.
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
The approach at University of Liverpool.pptx
The approach at University of Liverpool.pptxThe approach at University of Liverpool.pptx
The approach at University of Liverpool.pptx
 
Digital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and ResearchDigital Tools and AI for Teaching Learning and Research
Digital Tools and AI for Teaching Learning and Research
 
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup   New Member Orientation and Q&A (May 2024).pdfWelcome to TechSoup   New Member Orientation and Q&A (May 2024).pdf
Welcome to TechSoup New Member Orientation and Q&A (May 2024).pdf
 
The French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free downloadThe French Revolution Class 9 Study Material pdf free download
The French Revolution Class 9 Study Material pdf free download
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
Operation Blue Star - Saka Neela Tara
Operation Blue Star   -  Saka Neela TaraOperation Blue Star   -  Saka Neela Tara
Operation Blue Star - Saka Neela Tara
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
Chapter -12, Antibiotics (One Page Notes).pdf
Chapter -12, Antibiotics (One Page Notes).pdfChapter -12, Antibiotics (One Page Notes).pdf
Chapter -12, Antibiotics (One Page Notes).pdf
 

Just-in-time Detection of Protection-Impacting Changes on WordPress and MediaWiki

  • 1. Just-in-time Detection of Protection-Impacting Changes on WordPress and MediaWiki SWAT Département de Génie Logiciel École Polytechnique de Montréal Novembre 2018 Mohamed Amine Barrak Director : Foutse Khomh Co-Director : Guiliano Antoniol
  • 2. Outline • Problem statement • Related studies • Introduction and background • Lack of existing work • Case study design • Case study results • Summary and future works 2
  • 5. 5 Problem Statement Source: Open Web Application Security Project (OWASP)
  • 6. 6 Problem Statement Source: Open Web Application Security Project (OWASP)
  • 7. 7 What is Broken Access Control Risk ? Source: Direct Line Development Blog
  • 8. Previous Studies • MA Laverdière and E. Merlo (2018). “Detection of protection-impacting changesduring software evolution”. SANER 2018 • S. Georgios and A. Lefteris and T. Dimitrios (2017). “ Assessment of vul-nerability severity using text mining”. ACM 2017. • An, Le and Khomh, Foutse (2015a). “An empirical study of crash-inducing commits in mozilla“, PROMISE 2015 8
  • 10. Role-Based Access Control (RBAC) 10 Source: https://www.idenhaus.com/how-integrate-role-based-access-control-group-environment/
  • 11. Role-Based Access Control (RBAC) 11 HR Manager Developer Commit- Code View- Sprint Hire Approve- Budget Create-Sprint View-CVs View-Performance = Divides who can do what using groups and privileges Product Manager Commercialise product Access to sales revenue
  • 12. • Access control is implemented in code source • Code changes may affect privilege protection Code change causing protection- impacting change VersionA VersionB Codechange f unction f o o ( ) { / / assumes pr i v i l ege p1 he ld } fo o ( ); if (!current_user_can(’p1’)) die(); foo(); Protected for p1 Application-specificstereotypicalAPI } if (!current_user_can(’p1’)) die(); foo(); Protected for p1 f unction f o o ( ) { / / assumes pr i v i l ege p1 he ld 10
  • 13. How to detect Lines of Protection Impacting Changes (Existing tool)? 13
  • 14. • Compose source code to Abstract Syntax Tree (AST) • Convert AST to inter-procedural Control Flow Graph (CFGs) • Link CFGs to be intra-procedural CFGs (called PTFA) Pattern Traversal Flow Analysis (PTFA) 14 Determine privilege protection on all execution paths
  • 15. • Occurs when definite privilege protection for a statement s that is common to Version A and Version B but differs between versions. Definite Protection Difference (DPD) 15 VersionA VersionB Codechange f unction f o o ( ) { / / assumes pr i v i l ege p1 he ld } + fo o ( ); if (!current_user_can(’p1’)) die(); foo(); Protected for p1 Application-specificstereotypicalAPI } if (!current_user_can(’p1’)) die(); foo(); Protected for p1 f unction f o o ( ) { / / assumes pr i v i l ege p1 he ld
  • 17. Lack of Existing Work and Our Goal 17
  • 18. 18 Cost of Security Defect related to development process? • Cost of a Data Breach $7.2M from law suits, loss of customer trust, damage to brand Find during Development $80 / defect Find during Build $240 / defect Find during QA/Test $960 / defect Find in Production $7,600 / defect Source: Protecting Mission-Critical Source Code from Application Security Vulnerabilities (IBM study) Source: PonemonInstitute Source: National Institute of Standards and Technology
  • 19. • Delay of reporting PICs lines, take almost 10 minutes to generate results of PICs per release pair • Cost of executing the tool at each modification in the source code • Applied after the vulnerability occurrence and already affected a large population of users • Average Cost of a Data Breach $7.2M from law suits, loss of customer trust, damage to brand Lack of Existing Works 19
  • 20. • Automatically identifying protection impacting change vulnerability before introducing it in the system • Implement an automated and just-in-time tool in the coding phase • Usage of existing work to create machine learning algorithm Our Goal: Prevention is better than a cure 20 Source: http://ehealth.eletsonline.com/2016/08/preventive-cure-prevention-is-better-than-cure/ Create automated and Predictive Models of Protection Impacting Change
  • 22. 22 Choice of Projects for PIC analysis (CVE : Common Vulnerabilities and Exposures) WordPress Vulnerabilities MediaWiki Vulnerabilities High percentage High percentage
  • 25. • Manual analysis of Releases tree – Verify the adapted software configuration management – Choose a consecutive versions to minimize the complexity of the analysis – Make sure that the selected pair versions are not in different branches Attention: Several studies are comparing code source in a system without paying attention to the unrelated brunches. How we choose pair releases for PIC detection? 25 3.7.1 3.7.2 3.8.0 3.7.3 3.8.1 3.7.4 3.8.2 3.7.5 3.8.3 3.7.6 3.8.4 3.9.0 3.7.7 3.8.5 3.9.1 WordPress Release Tree
  • 26. • Analysis include – 211 releases pairs of WordPress from (2.0 to 4.7.3) – 193 releases pairs of MediaWiki from (1.5.0 to 1.29.2) • Mature open source systems (WordPress and MediaWiki) – Long release history and available archive – Implement RBAC approach – Important LOC Data Collection 26
  • 27. • Run Protection Impacting Changes tool to report Protection-Impacting Lines • Readable results for end user – V1 V2 gain/ loss filename line_number • Consider vulnerable lines as an Oracle Protection-Impacting Change Lines 27
  • 28. From PIC lines to PIC commits 28 • From protection impacting line to PIC commit – B : Bifurcation point between V1 and V2 – C’ : Last commit that modified line_number between V1 and V2 • Commit that modified privilege protection – “git blame -L line_number B..C’ -- filename “ • Commits that removed privilege protection – “git blame --reverse -L line_number B..C’ -- filename ”
  • 29. From PIC lines to PIC commits 29 • Example: – V1: 2.0.2 V2: 2.0.3 – B : ba8bb5af9e – C’ : e1172126a1 – modified line is: 11 – Deleted line: 213 – Modified file : user-edit.php • Commit that modified privilege protection “git blame -L 11 ba8bb5af9e..e1172126a1 -- user- edit.php“ • Commits that removed privilege protection “git blame --reverse -L 11 ba8bb5af9e..e1172126a1 -- user-edit.php” Bifurcation V2 V1
  • 30. 30
  • 31. • Date (week day, month day, Month) • Author experience • Commit size: – Number of changed files – Number of added and deleted lines • Message size • Is Bug fix ? Commit Log metrics (structure of commit code) 31
  • 32. • Undertand tool (Source Code Analysis & Metrics) – LOC – Cyclomatic complexity McCabe – Maximum nesting – Number of declarative statements – Number of functions – Number of blank lines – Ratio of comment lines over all lines in a file Code Complexity metrics (code quality) 32
  • 33. Research Questions 33 RQ1) What is the proportion of protection-impacting changes in Wordpress and MediaWiki? RQ2) What are the characteristics of protection-impacting changes? RQ3) To which extent can we predict protection-impacting changes? RQ4) Why do automatic machine learning models misclassify some protection-impacting changes?
  • 35. RQ1:What is the proportion of protection-impacting changes in Wordpress and MediaWiki? 35
  • 36. Proportion of Protection-Impacting changes commits in WordPress and MediaWiki 36 PIC commit does not mean that all its changed lines are vulnerable Software developers should strive to catch PIC commits as soon as possible
  • 37. RQ2: What are the characteristics of protection-impacting changes? 37
  • 38. Characteristics of PIC commits 38 Metrics PIC Non-PIC PIC Non-PIC Message size 19 15 27 18 Author experience 1531 1343 1378 1012 Cyclomatic Complexity 9.9 7.9 2.4 2.2 Max Nesting 3.6 3.4 3.3 1.6 Declarative statement 42.1 37.7 57.3 27.8 Is bug fix 20% 21.7% 29.4% 23.4% PN: More results are in the paper
  • 39. RQ3: To which extent can we predict protection-impacting changes? 39
  • 40. Steps of Building the Machine Learning Infrastructure 40 Source: https://www.7wdata.be/big-data/building-the-machine-learning-infrastructure/ • Eliminate Collinearity between variables using Variance Inflation Factor (VIF) • Divide your dataset into training set and test set with 10-cross validation technique • Apply Machine Learning Algorithms to predict the PIC variable. • Evaluate models by reporting (precision, recall, accuracy, etc)
  • 41. Machine Learning Algorithm Results 41 Random Forest algorithm achieve best prediction performance in both projects
  • 42. RQ4: Why do automatic machine learning models misclassify some protection-impacting changes? 42
  • 43. 43 Qualitative Observations Of Wrongly Classified Commits Adding more information to the model will increase the prediction performance
  • 44. Conclusion There is a high proportion of PIC commits that engineers should take care of PICs commits are submitted by experienced developers. They contain longer commit messages and make complex changes in files High accuracy of predicting PIC commits using ML algorithms, then improving research by applying a qualitative analysis to know causes of misclassification 44
  • 45. Future Work Introduce new security metrics to improve our models such as Developer Activity Metrics Improve our actual models by ignoring commits of pushing versions or changing JS, HTML or CSS files. Expand our research not only on PHP software systems, and with more Oracle systems 45
  • 46. 46 Thank you for your attention
  • 47. Related Papers • Paper 1: Searching for a Needle in a Haystack: Predicting Security Vulnerabilities for Windows Vista • empirically evaluate the efficacy of classical metrics like complexity, churn, coverage, dependency measures, and organizational structure of the company to predict vulnerabilities and assess how well these software measures correlate with vulnerabilities 47
  • 48. Paper2: Evaluating Complexity, Code Churn, and Developer Activity Metrics as Indicators of Software Vulnerabilities 48
  • 49. 49 CVE Tickets in WordPress about Access Control WordPress through 4.9.6 allows Author users to execute arbitrary code by leveraging directory traversal in the wp-admin/post.php thumb parameter, which is passed to the PHP unlink function and can delete the wp-config.php file. This is related to missing filename validation in the wp-includes/post.php wp_delete_attachment function. The attacker must have capabilities for files and posts that are normally available only to the Author, Editor, and Administrator roles. The attack methodology is to delete wp-config.php and then launch a new installation process to increase the attacker's privileges.

Editor's Notes

  1. Not robot attack Continuation of existing work Beter look on the problem Minimize false positive and fN
  2. A Broken Access Control term could be used to describe a cyber vulnerability which represents a lack of access rights check to the requested object. Web applications check the access rights before displaying the data to the user. However, the applications should also run an access rights check when any function is requested. For example, let’s pass upon an asynchronous loading. If it’s not performed, a talented hacker can fake a request and inevitably gain access to the private data. Fortunately, it can be avoided by setting the access rights check for all the stages of the receiving the data process. Or by calling us here at Direct Line Development!
  3. Previous studies operate their analysis at the release pairs analysis granularity and reportthe PIC lines and take many minutes to complete. In our paper, we identified responsiblecommits that induced PIC lines and built predictive models for protection-impacting changesthat operate at the commit granularity their modelscan only be applied after the vulnerability occurred and already affected a large population ofusers, which differs with our analysis where we study the apparition of protection impactingchange and predicting them before their merge on the code source in the commit level This study is closely related to ours, theystudied crash-inducing in the commit granularity. Then, they created just-in-time predicting models. After that, they studied the causes of misclassified commits. But, as far as we know,this is the first study that uses just-in-time prediction techniques on the identification ofprotection-impacting changes
  4. current_user_can( $capability ) will aways return true if user is Super Admin, unless specifically denied - see inline source code on 
  5. Add picture to show what is version and what are the difference of protection ! Show ticket code of vulnerability cve-…
  6. Add versions and code source input to the figure
  7. Add the several lack of Average Cost of a Data Breach $7.2M** from law suits, loss of customer trust, damage to brand such study
  8. What is the relation of gain information with broken access control Backup slide to show why we choose these two repositories
  9. . In this conventional model, the code branches when the release engineer delivers a new release. The new branch serves as the baseline for continuing Development while the old branch—the code’s baseline historical reference—is left behind
  10. The release engineer spins off new branches for specific purposes such as alpha and beta testing, but development work remains on the main development line.
  11. Show the figure of releases generation with commits from graph result, and line of code that determine point of biffurcation
  12. Show the figure of releases generation with commits from graph result, and line of code that determine point of biffurcation
  13. Show the figure of releases generation with commits from graph result, and line of code that determine point of biffurcation
  14. Protection impacting could occur in a specific date Show more details about the metrics we choose and why not we didn’t choose other metrics Show metrics that bram mention as a future work Explain each metrics in detail even those related to the code quality
  15. Protection impacting could occur in a specific date Show more details about the metrics we choose and why not we didn’t choose other metrics Show metrics that bram mention as a future work Explain each metrics in detail even those related to the code quality
  16. Change these results on a boxplots Explain why author experience is higher in PIC, because the changes on these commit even in delicate part of the program where they touch Same as Message size In MediaWiki, we see that PIC commits are likely to be more bug fixing, according to the fact that the developer was fixing a bug, then he changed some lines related to protection impacting Commits that have PIC have more nested implemented functionalities and a higher mcCabe cyclomatic which prove that the files where the commit were involved are more complex and more test cases (if, case, for, …) Declarative statement: since these PIC commits are likely to be more complex, they have more declarative statement which is a metrics that reflect number of variable declarative
  17. Change figure to something make me talking
  18. Show only precision and recall Change to box plot
  19. What is modified a version field, give example
  20. Add a future work of the new metrics talk of bram it allows corrections in an earlier stage of the software development process, when the cost of correction is low. M.Sc.
  21. What is modified a version field, give example
  22. Ici on presente une faille securitere ou le de