SlideShare una empresa de Scribd logo
1 de 20
User-Perceived Source Code Quality Estimation based on
Static Analysis Metrics
1
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
Electrical and Computer Engineering Dept., Aristotle University of Thessaloniki
Intelligent Systems & Software Engineering Labgroup, Information Processing Laboratory
Thessaloniki, Greece
Email: {mpapamic, thdiaman}@issel.ee.auth.gr, asymeon@eng.auth.gr
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
2 Outline
 The concept of user-perceived quality.
 Research objectives.
 Key implementation points.
 The designed system.
 Evaluation.
 Conclusion and Future work.
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
3 Why to evaluate code quality?
 Various open source software projects.
 Numerous online software repositories.
Source Code Quality Evaluation
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
Code Reuse
Is a software component
suitable for reuse?
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
4 User-Perceived source code quality
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
Idea:
 Use of software components popularity as a quality indicator.
But:
 Popularity cannot be used as a sole quality criterion.
- Is based on current trends.
- Depends on the programming language.
Popularity
Static Analysis
Metrics
Recommended
Coding Practices
+ +
Measure of
quality
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
5 The idea
User-Perceived Quality Estimation
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
Idea Tools Used Proposed System
 Use of software components
popularity as ground truth –
GitHub number of stars
 Use of static analysis metrics
and violations of “good”
coding practices
 Apply machine learning
techniques for estimating
user-perceived source code
quality
Static
Analysis
Quality
Evaluation
Models
Quality
Score
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
6 Key implementation points
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
 Qualitative evaluation of the selected repositories.
 Training set formation.
 Target set formation.
 Quality estimation models.
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
7 Training dataset
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
Top 100
Repositories
GitHub
24930
files
Training Dataset
Qualitative Evaluation
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
8 Selected repositories qualitative evaluation
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
PMD Ruleset Percentage (%) of files
containing severe violations
PMD Ruleset Percentage (%) of files
containing severe violations
Priority 1 Priority2 Priority 1 Priority2
Unused Code 0.0% 0.0% Coupling 0.0% 0.0%
Basic 0.015% 0.337% Design 3.37% 3.9%
Braces 0.0% 0.0% Empty 0.0% 0.0%
Comments 0.0% 0.0% Finalizers 0.0% 0.0%
Naming 14.11% 0.45% Optimizations 0.0% 0.0%
Clone 0.0% 0.0% Strict
Exception
4.99% 0.0%
CodeSize 0.0% 0.0% Strings 0.0% 0.06%
Controversial 1.75% 1.58% Unnecessary 0.0% 0.0%
Very small
percentage of
files contain
severe
violations
9
Target set formation
 Use of GitHub stars as ground truth.
But:
 GitHub stars per repository (NOT per file)
 Every source code file is of different importance
 Big differences in the number of files between
repositories
10000
x stars y stars z stars
Dependency
Analysis
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
10
Target set formation
For the i-th file of the j-th repository, the target if formulated as follows:
𝐹𝑠𝑐𝑜𝑟𝑒 𝑖, 𝑗 = log
𝑅 𝑠𝑡𝑎𝑟𝑠 𝑗
𝑛 𝑓𝑖𝑙𝑒𝑠 𝑗
+
𝑑𝑒𝑝 𝑖
𝑛 𝑓𝑖𝑙𝑒𝑠 𝑗
∗ 𝑅 𝑠𝑡𝑎𝑟𝑠 𝑗
Smoothing
factor A base score to all
files in the same
repository
Added value
according to the
significance of the
source code file
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
11 Quality Evaluation Models
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
ANNs Model
 Input: The values of 73 static analysis metrics.
 Output: User-Perceived source code quality estimation
 Applicable only for source code files that exceed minimum
quality threshold
SVMs - One Class Classifier
 Used to rule out low quality code.
One Class
Classifier
ANNs Model
Accepted
Static
Analysis Quality
Estimation
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
12 ANNs Model
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
 Two-layer feedforward network.
 Levenberg-Marquardt algorithm (LMA) for
adjusting the weights and the biases.
 (Training, Validation, Test) = (70%, 15%,
15%).
 Applicable only for source code files that
exceed minimum quality threshold.
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
13 SVMs One Class Classifier
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
 Used to rule out low quality code.
 Gaussian radial basis kernel function.
 Training involved the use of 7 metrics:
 Average Block Depth,
 Average Cyclomatic Complexity
 Average Depth of Inheritance Hierarchy
 Average Line of Codes Per Method
 Comments Ratio
 Distance
 Lines Of Code
 (nu, gamma, tolerance) = (0.1, 0.01, 0.01)
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
1124 false-
positives
14 System Evaluation
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
Results validation:
 Quantitative: Using PMD
 Qualitative: Examination of a representative sample of files and their
metrics
Evaluation on three main axes:
1. The system's ability to distinguish high quality source code files.
2. The effectiveness of the model for estimating the quality of files
exceeding a quality threshold.
3. The accuracy of predicting the popularity of Java repositories given
their source code files.
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
15 System Evaluation
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
Repositories selected:
 8 random typical GitHub projects chosen independently.
 lines-of-code-per-file ratio around 100, including also several extreme
cases.
 Both human and auto-generated code.
 The auto-generated projects are expected to be of high quality.
 Follow all coding conventions.
 Are architecturally and functionally complete.
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
16 Evaluation – One Class Classifier
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
The percentage of the
rejected files that
contained severe
violations is very high
17 Evaluation – ANNs Model
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
The quality score reflects
the characteristics of the
repositories
18 Evaluation – Popularity Prediction
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
𝑅 𝑠𝑡𝑎𝑟𝑠 𝑖, 𝑗 =
𝑒 𝐹𝑠𝑐𝑜𝑟𝑒(𝑖,𝑗)
∙ 𝑛 𝑓𝑖𝑙𝑒𝑠(𝑗)
1 + 𝑑𝑒𝑝(𝑖)
𝑅 𝑠𝑡𝑎𝑟𝑠 𝑗 =
𝑖=1
𝑛 𝑓𝑖𝑙𝑒𝑠(𝑗)
𝑑𝑒𝑝(𝑖)
𝑑𝑒𝑝𝑡𝑜𝑡𝑎𝑙(𝑗)
∙ 𝑅 𝑠𝑡𝑎𝑟𝑠 𝑖, 𝑗
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
19 Conclusions and future work
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
Conclusions:
 Reliable determination of the area of high quality source code based
on static analysis metrics.
 Effective user-perceived source code quality estimation.
Future Work:
 Further investigation of the response of our model in different
scenarios.
 Expansion of the ground truth coverage by using more metrics.
 Application of feature selection techniques in order to drop
overlapping metrics.
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
20
Thank you!
IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis

Más contenido relacionado

La actualidad más candente

Biting into the Jawbreaker: Pushing the Boundaries of Threat Hunting Automation
Biting into the Jawbreaker: Pushing the Boundaries of Threat Hunting AutomationBiting into the Jawbreaker: Pushing the Boundaries of Threat Hunting Automation
Biting into the Jawbreaker: Pushing the Boundaries of Threat Hunting AutomationAlex Pinto
 
Intrusion Detection Systems By Anamoly-Based Using Neural Network
Intrusion Detection Systems By Anamoly-Based Using Neural NetworkIntrusion Detection Systems By Anamoly-Based Using Neural Network
Intrusion Detection Systems By Anamoly-Based Using Neural NetworkIOSR Journals
 
Assessing Effect Sizes of Influence Factors Towards a QoE Model for HTTP Adap...
Assessing Effect Sizes of Influence Factors Towards a QoE Model for HTTP Adap...Assessing Effect Sizes of Influence Factors Towards a QoE Model for HTTP Adap...
Assessing Effect Sizes of Influence Factors Towards a QoE Model for HTTP Adap...SmartenIT
 
Integrated Feature Extraction Approach Towards Detection of Polymorphic Malwa...
Integrated Feature Extraction Approach Towards Detection of Polymorphic Malwa...Integrated Feature Extraction Approach Towards Detection of Polymorphic Malwa...
Integrated Feature Extraction Approach Towards Detection of Polymorphic Malwa...CSCJournals
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...SBGC
 
A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...
A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...
A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...Mahmoud Hammad
 
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT TestingImplement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT TestingJosiah Renaudin
 
Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...
Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...
Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...IJCSIS Research Publications
 

La actualidad más candente (9)

Biting into the Jawbreaker: Pushing the Boundaries of Threat Hunting Automation
Biting into the Jawbreaker: Pushing the Boundaries of Threat Hunting AutomationBiting into the Jawbreaker: Pushing the Boundaries of Threat Hunting Automation
Biting into the Jawbreaker: Pushing the Boundaries of Threat Hunting Automation
 
Intrusion Detection Systems By Anamoly-Based Using Neural Network
Intrusion Detection Systems By Anamoly-Based Using Neural NetworkIntrusion Detection Systems By Anamoly-Based Using Neural Network
Intrusion Detection Systems By Anamoly-Based Using Neural Network
 
Assessing Effect Sizes of Influence Factors Towards a QoE Model for HTTP Adap...
Assessing Effect Sizes of Influence Factors Towards a QoE Model for HTTP Adap...Assessing Effect Sizes of Influence Factors Towards a QoE Model for HTTP Adap...
Assessing Effect Sizes of Influence Factors Towards a QoE Model for HTTP Adap...
 
Integrated Feature Extraction Approach Towards Detection of Polymorphic Malwa...
Integrated Feature Extraction Approach Towards Detection of Polymorphic Malwa...Integrated Feature Extraction Approach Towards Detection of Polymorphic Malwa...
Integrated Feature Extraction Approach Towards Detection of Polymorphic Malwa...
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
 
A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...
A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...
A Large-Scale Empirical Study on the Effects of Code Obfuscations on Android ...
 
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT TestingImplement Combinatorial Test Patterns for Better Mobile and IoT Testing
Implement Combinatorial Test Patterns for Better Mobile and IoT Testing
 
Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...
Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...
Selecting Prominent API Calls and Labeling Malicious Samples for Effective Ma...
 
Dnasec
DnasecDnasec
Dnasec
 

Destacado

παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013
παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013
παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013ISSEL
 
Towards an MDA Mechanism for RESTful Services Development
Towards an MDA Mechanism for RESTful Services DevelopmentTowards an MDA Mechanism for RESTful Services Development
Towards an MDA Mechanism for RESTful Services DevelopmentISSEL
 
Ελευθέριος Χατζηπέτρου
Ελευθέριος ΧατζηπέτρουΕλευθέριος Χατζηπέτρου
Ελευθέριος ΧατζηπέτρουISSEL
 
Lelis Αthanasios
Lelis ΑthanasiosLelis Αthanasios
Lelis ΑthanasiosISSEL
 
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...ISSEL
 
Bagia Rousopoulou
Bagia RousopoulouBagia Rousopoulou
Bagia RousopoulouISSEL
 
Dontsios Dimitris
Dontsios DimitrisDontsios Dimitris
Dontsios DimitrisISSEL
 
Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419ISSEL
 
Code Quality Learn, Measure And Organize Awareness
Code Quality   Learn, Measure And Organize AwarenessCode Quality   Learn, Measure And Organize Awareness
Code Quality Learn, Measure And Organize AwarenessJaibeer Malik
 
Measuring Code Quality in WTF/min.
Measuring Code Quality in WTF/min. Measuring Code Quality in WTF/min.
Measuring Code Quality in WTF/min. David Gómez García
 
Πάρης Λαγάκης 7200
Πάρης Λαγάκης 7200Πάρης Λαγάκης 7200
Πάρης Λαγάκης 7200ISSEL
 
Code Quality Assurance v4 (2013)
Code Quality Assurance v4 (2013)Code Quality Assurance v4 (2013)
Code Quality Assurance v4 (2013)Peter Kofler
 
Managing code quality with SonarQube - Radu Vunvulea
Managing code quality with SonarQube - Radu VunvuleaManaging code quality with SonarQube - Radu Vunvulea
Managing code quality with SonarQube - Radu VunvuleaITSpark Community
 
Code quality as a built-in process
Code quality as a built-in processCode quality as a built-in process
Code quality as a built-in processElad Maimon
 
Understanding, measuring and improving code quality in JavaScript
Understanding, measuring and improving code quality in JavaScriptUnderstanding, measuring and improving code quality in JavaScript
Understanding, measuring and improving code quality in JavaScriptMark Daggett
 
Measuring the Code Quality Using Software Metrics
Measuring the Code Quality Using Software MetricsMeasuring the Code Quality Using Software Metrics
Measuring the Code Quality Using Software MetricsGeetha Anjali
 
Agile code quality metrics
Agile code quality metricsAgile code quality metrics
Agile code quality metricsGil Nahmias
 
Software estimation
Software estimationSoftware estimation
Software estimationMd Shakir
 
SonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualitySonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualityLarry Nung
 

Destacado (20)

παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013
παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013
παρουσίαση θεμάτων διπλωματικών επυ οκτώβριος 2013
 
Towards an MDA Mechanism for RESTful Services Development
Towards an MDA Mechanism for RESTful Services DevelopmentTowards an MDA Mechanism for RESTful Services Development
Towards an MDA Mechanism for RESTful Services Development
 
Ελευθέριος Χατζηπέτρου
Ελευθέριος ΧατζηπέτρουΕλευθέριος Χατζηπέτρου
Ελευθέριος Χατζηπέτρου
 
Lelis Αthanasios
Lelis ΑthanasiosLelis Αthanasios
Lelis Αthanasios
 
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
Σχεδίαση και ανάπτυξη συστήματος αξιολόγησης της αισθητικής διαδικτυακών εφαρ...
 
Bagia Rousopoulou
Bagia RousopoulouBagia Rousopoulou
Bagia Rousopoulou
 
Dontsios Dimitris
Dontsios DimitrisDontsios Dimitris
Dontsios Dimitris
 
Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419Γκιλίρης Ιωάννης 7419
Γκιλίρης Ιωάννης 7419
 
Code Quality Analysis
Code Quality AnalysisCode Quality Analysis
Code Quality Analysis
 
Code Quality Learn, Measure And Organize Awareness
Code Quality   Learn, Measure And Organize AwarenessCode Quality   Learn, Measure And Organize Awareness
Code Quality Learn, Measure And Organize Awareness
 
Measuring Code Quality in WTF/min.
Measuring Code Quality in WTF/min. Measuring Code Quality in WTF/min.
Measuring Code Quality in WTF/min.
 
Πάρης Λαγάκης 7200
Πάρης Λαγάκης 7200Πάρης Λαγάκης 7200
Πάρης Λαγάκης 7200
 
Code Quality Assurance v4 (2013)
Code Quality Assurance v4 (2013)Code Quality Assurance v4 (2013)
Code Quality Assurance v4 (2013)
 
Managing code quality with SonarQube - Radu Vunvulea
Managing code quality with SonarQube - Radu VunvuleaManaging code quality with SonarQube - Radu Vunvulea
Managing code quality with SonarQube - Radu Vunvulea
 
Code quality as a built-in process
Code quality as a built-in processCode quality as a built-in process
Code quality as a built-in process
 
Understanding, measuring and improving code quality in JavaScript
Understanding, measuring and improving code quality in JavaScriptUnderstanding, measuring and improving code quality in JavaScript
Understanding, measuring and improving code quality in JavaScript
 
Measuring the Code Quality Using Software Metrics
Measuring the Code Quality Using Software MetricsMeasuring the Code Quality Using Software Metrics
Measuring the Code Quality Using Software Metrics
 
Agile code quality metrics
Agile code quality metricsAgile code quality metrics
Agile code quality metrics
 
Software estimation
Software estimationSoftware estimation
Software estimation
 
SonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code QualitySonarQube - The leading platform for Continuous Code Quality
SonarQube - The leading platform for Continuous Code Quality
 

Similar a User-Perceived Source Code Quality Estimation based on Static Analysis Metrics

Towards Modeling the User-perceived Quality of Source Code using Static Analy...
Towards Modeling the User-perceived Quality of Source Code using Static Analy...Towards Modeling the User-perceived Quality of Source Code using Static Analy...
Towards Modeling the User-perceived Quality of Source Code using Static Analy...ISSEL
 
Predicting Android Application Security and Privacy Risk With Static Code Met...
Predicting Android Application Security and Privacy Risk With Static Code Met...Predicting Android Application Security and Privacy Risk With Static Code Met...
Predicting Android Application Security and Privacy Risk With Static Code Met...MobileSoft
 
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...Chakkrit (Kla) Tantithamthavorn
 
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
 
Mining Software Repositories for Security: Data Quality Issues Lessons from T...
Mining Software Repositories for Security: Data Quality Issues Lessons from T...Mining Software Repositories for Security: Data Quality Issues Lessons from T...
Mining Software Repositories for Security: Data Quality Issues Lessons from T...CREST @ University of Adelaide
 
QuaP2P Kickoff Slides 2006
QuaP2P Kickoff Slides 2006QuaP2P Kickoff Slides 2006
QuaP2P Kickoff Slides 2006Kalman Graffi
 
Systems Biology Software Infrastructure overview
Systems Biology Software Infrastructure overviewSystems Biology Software Infrastructure overview
Systems Biology Software Infrastructure overviewRichard Adams
 
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXKeep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXNGINX, Inc.
 
Using Cognitive Dimensions Questionnaire to Evaluate the Usability of Securit...
Using Cognitive Dimensions Questionnaire to Evaluate the Usability of Securit...Using Cognitive Dimensions Questionnaire to Evaluate the Usability of Securit...
Using Cognitive Dimensions Questionnaire to Evaluate the Usability of Securit...Chamila Wijayarathna
 
Tool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringTool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringHeiko Koziolek
 
(English) XSCAN 브로슈어_Redpensfot 엑스스캔.pdf
(English) XSCAN 브로슈어_Redpensfot 엑스스캔.pdf(English) XSCAN 브로슈어_Redpensfot 엑스스캔.pdf
(English) XSCAN 브로슈어_Redpensfot 엑스스캔.pdfredpensoft
 
Software Security Initiatives
Software Security InitiativesSoftware Security Initiatives
Software Security InitiativesMarco Morana
 
An Empirical Study on the Adequacy of Testing in Open Source Projects
An Empirical Study on the Adequacy of Testing in Open Source ProjectsAn Empirical Study on the Adequacy of Testing in Open Source Projects
An Empirical Study on the Adequacy of Testing in Open Source ProjectsPavneet Singh Kochhar
 
IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...
IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...
IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...Kalman Graffi
 
Eclipse Meets Systems Biology
Eclipse Meets Systems BiologyEclipse Meets Systems Biology
Eclipse Meets Systems BiologyRichard Adams
 
Omkar+revankar+resume
Omkar+revankar+resume Omkar+revankar+resume
Omkar+revankar+resume OmkarRevankar1
 
Splunk for Enterprise Security featuring UBA Breakout Session
Splunk for Enterprise Security featuring UBA Breakout SessionSplunk for Enterprise Security featuring UBA Breakout Session
Splunk for Enterprise Security featuring UBA Breakout SessionSplunk
 

Similar a User-Perceived Source Code Quality Estimation based on Static Analysis Metrics (20)

Towards Modeling the User-perceived Quality of Source Code using Static Analy...
Towards Modeling the User-perceived Quality of Source Code using Static Analy...Towards Modeling the User-perceived Quality of Source Code using Static Analy...
Towards Modeling the User-perceived Quality of Source Code using Static Analy...
 
Predicting Android Application Security and Privacy Risk With Static Code Met...
Predicting Android Application Security and Privacy Risk With Static Code Met...Predicting Android Application Security and Privacy Risk With Static Code Met...
Predicting Android Application Security and Privacy Risk With Static Code Met...
 
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
 
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...
 
Principles and risk assessment of managing distributed ontologies hosted by e...
Principles and risk assessment of managing distributed ontologies hosted by e...Principles and risk assessment of managing distributed ontologies hosted by e...
Principles and risk assessment of managing distributed ontologies hosted by e...
 
Security Data Quality Challenges
Security Data Quality ChallengesSecurity Data Quality Challenges
Security Data Quality Challenges
 
NECST @ Microsoft
NECST @ Microsoft NECST @ Microsoft
NECST @ Microsoft
 
Mining Software Repositories for Security: Data Quality Issues Lessons from T...
Mining Software Repositories for Security: Data Quality Issues Lessons from T...Mining Software Repositories for Security: Data Quality Issues Lessons from T...
Mining Software Repositories for Security: Data Quality Issues Lessons from T...
 
QuaP2P Kickoff Slides 2006
QuaP2P Kickoff Slides 2006QuaP2P Kickoff Slides 2006
QuaP2P Kickoff Slides 2006
 
Systems Biology Software Infrastructure overview
Systems Biology Software Infrastructure overviewSystems Biology Software Infrastructure overview
Systems Biology Software Infrastructure overview
 
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINXKeep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
Keep Ahead of Evolving Cyberattacks with OPSWAT and F5 NGINX
 
Using Cognitive Dimensions Questionnaire to Evaluate the Usability of Securit...
Using Cognitive Dimensions Questionnaire to Evaluate the Usability of Securit...Using Cognitive Dimensions Questionnaire to Evaluate the Usability of Securit...
Using Cognitive Dimensions Questionnaire to Evaluate the Usability of Securit...
 
Tool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software EngineeringTool-Driven Technology Transfer in Software Engineering
Tool-Driven Technology Transfer in Software Engineering
 
(English) XSCAN 브로슈어_Redpensfot 엑스스캔.pdf
(English) XSCAN 브로슈어_Redpensfot 엑스스캔.pdf(English) XSCAN 브로슈어_Redpensfot 엑스스캔.pdf
(English) XSCAN 브로슈어_Redpensfot 엑스스캔.pdf
 
Software Security Initiatives
Software Security InitiativesSoftware Security Initiatives
Software Security Initiatives
 
An Empirical Study on the Adequacy of Testing in Open Source Projects
An Empirical Study on the Adequacy of Testing in Open Source ProjectsAn Empirical Study on the Adequacy of Testing in Open Source Projects
An Empirical Study on the Adequacy of Testing in Open Source Projects
 
IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...
IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...
IEEE CCNC 2011: Kalman Graffi - LifeSocial.KOM: A Secure and P2P-based Soluti...
 
Eclipse Meets Systems Biology
Eclipse Meets Systems BiologyEclipse Meets Systems Biology
Eclipse Meets Systems Biology
 
Omkar+revankar+resume
Omkar+revankar+resume Omkar+revankar+resume
Omkar+revankar+resume
 
Splunk for Enterprise Security featuring UBA Breakout Session
Splunk for Enterprise Security featuring UBA Breakout SessionSplunk for Enterprise Security featuring UBA Breakout Session
Splunk for Enterprise Security featuring UBA Breakout Session
 

Más de ISSEL

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...ISSEL
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...ISSEL
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...ISSEL
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...ISSEL
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...ISSEL
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςISSEL
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxISSEL
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...ISSEL
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...ISSEL
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...ISSEL
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...ISSEL
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνISSEL
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταISSEL
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...ISSEL
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ISSEL
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...ISSEL
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούISSEL
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςISSEL
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsISSEL
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...ISSEL
 

Más de ISSEL (20)

Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...Implementation of a platform for assessing indoor spaces regarding their frie...
Implementation of a platform for assessing indoor spaces regarding their frie...
 
Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...Autonomous car position calculation with particle filters using traffic data ...
Autonomous car position calculation with particle filters using traffic data ...
 
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
Ανίχνευση αντικειµένων από λίγα δείγµατα µε χρήση γραφηµάτων και τεχνικών ΜΕΤ...
 
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
Ανάπτυξη Εφαρµογής Προφίλ Μηχανικών Λογισµικού από ∆εδοµένα Αποθετηρίων Λογισ...
 
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
Ανάπτυξη ∆υναµικού και Προσωποποιηµένου Συστήµατος Ερωταπαντήσεων µε Πηγή το ...
 
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής ΝοημοσύνηςΑνάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
Ανάπτυξη Φίλτρων Ανεπιθύμητων Μηνυμάτων με Χρήση Τεχνικών Τεχνητής Νοημοσύνης
 
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptxΑνάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
Ανάπτυξη Ελληνικών Μοντέλων Εντοπισμού Ρητορικής Μίσους.pptx
 
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
Σχεδιασμός και υλοποίηση πλήρους και αυτοματοποιημένου εργαλείου ελέγχων ασφά...
 
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
Εφαρµογή Τεχνικών Μηχανικής Μάθησης για την Ανάλυση Αλλαγών Κώδικα µε στόχο τ...
 
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
Ανάπτυξη συστήματος ιεραρχικής ομαδοποίησης και διαχείρισης κειμένων για αποκ...
 
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
Ανάπτυξη γραφικής διεπαφής σε σύστημα προσομοίωσης ηλεκτρονικών αγορών με στό...
 
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας ΙσχυρισμώνΔημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
Δημιουργία Ολοκληρωμένου Συστήματος Επαλήθευσης Ορθότητας Ισχυρισμών
 
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµαταΕξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
Εξόρυξη δεδοµένων για τη δυναµική ενσωµάτωση γνώσης σε πολυπρακτορικά συστήµατα
 
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...Ανάπτυξη Μηχανισμών Αυτοματοποίησης των  διαδικασιών κατασκευής συστημάτων λο...
Ανάπτυξη Μηχανισμών Αυτοματοποίησης των διαδικασιών κατασκευής συστημάτων λο...
 
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
ΕΥΦΥΗΣ ΜΕΘΟΔΟΛΟΓΙΑ ΑΠΟΤΙΜΗΣΗΣ ΤΟΥ ΒΑΘΜΟΥ ΔΙΑΤΗΡΗΣΙΜΟΤΗΤΑΣ ΕΡΓΩΝ ΛΟΓΙΣΜΙΚΟΥ ΜΕ...
 
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
Μηχανισμοί αυτοματοποίησης διαδικασιών σχεδίασης, υλοποίησης και ανάπτυξης λο...
 
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικούΕξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
Εξόρυξη δεδομένων τεχνολογίας λογισμικού για επαναχρησιμοποίηση λογισμικού
 
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία ΕφαρµογήςΑνάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
Ανάλυση ∆εδοµένων ΄Εργων Λογισµικού για Ανάπτυξη σε Νέα Πεδία Εφαρµογής
 
Camera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environmentsCamera-based localization of annotated objects in indoor environments
Camera-based localization of annotated objects in indoor environments
 
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
Εντοπισμός θέσης επισημασμένου αντικειμένου σε εσωτερικό χώρο με χρήση πολλαπ...
 

Último

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...masabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdfPearlKirahMaeRagusta1
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburgmasabamasaba
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfproinshot.com
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfkalichargn70th171
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...Nitya salvi
 

Último (20)

%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Vancouver Psychic Readings, Attraction spells,Br...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
%in Lydenburg+277-882-255-28 abortion pills for sale in Lydenburg
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 

User-Perceived Source Code Quality Estimation based on Static Analysis Metrics

  • 1. User-Perceived Source Code Quality Estimation based on Static Analysis Metrics 1 Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis Electrical and Computer Engineering Dept., Aristotle University of Thessaloniki Intelligent Systems & Software Engineering Labgroup, Information Processing Laboratory Thessaloniki, Greece Email: {mpapamic, thdiaman}@issel.ee.auth.gr, asymeon@eng.auth.gr User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis IEEE International Conference on Software Quality, Reliability & Security – QRS 2016
  • 2. 2 Outline  The concept of user-perceived quality.  Research objectives.  Key implementation points.  The designed system.  Evaluation.  Conclusion and Future work. IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 3. 3 Why to evaluate code quality?  Various open source software projects.  Numerous online software repositories. Source Code Quality Evaluation IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 Code Reuse Is a software component suitable for reuse? User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 4. 4 User-Perceived source code quality IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 Idea:  Use of software components popularity as a quality indicator. But:  Popularity cannot be used as a sole quality criterion. - Is based on current trends. - Depends on the programming language. Popularity Static Analysis Metrics Recommended Coding Practices + + Measure of quality User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 5. 5 The idea User-Perceived Quality Estimation IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 Idea Tools Used Proposed System  Use of software components popularity as ground truth – GitHub number of stars  Use of static analysis metrics and violations of “good” coding practices  Apply machine learning techniques for estimating user-perceived source code quality Static Analysis Quality Evaluation Models Quality Score User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 6. 6 Key implementation points IEEE International Conference on Software Quality, Reliability & Security – QRS 2016  Qualitative evaluation of the selected repositories.  Training set formation.  Target set formation.  Quality estimation models. User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 7. 7 Training dataset IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 Top 100 Repositories GitHub 24930 files Training Dataset Qualitative Evaluation User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 8. 8 Selected repositories qualitative evaluation IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis PMD Ruleset Percentage (%) of files containing severe violations PMD Ruleset Percentage (%) of files containing severe violations Priority 1 Priority2 Priority 1 Priority2 Unused Code 0.0% 0.0% Coupling 0.0% 0.0% Basic 0.015% 0.337% Design 3.37% 3.9% Braces 0.0% 0.0% Empty 0.0% 0.0% Comments 0.0% 0.0% Finalizers 0.0% 0.0% Naming 14.11% 0.45% Optimizations 0.0% 0.0% Clone 0.0% 0.0% Strict Exception 4.99% 0.0% CodeSize 0.0% 0.0% Strings 0.0% 0.06% Controversial 1.75% 1.58% Unnecessary 0.0% 0.0% Very small percentage of files contain severe violations
  • 9. 9 Target set formation  Use of GitHub stars as ground truth. But:  GitHub stars per repository (NOT per file)  Every source code file is of different importance  Big differences in the number of files between repositories 10000 x stars y stars z stars Dependency Analysis IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 10. 10 Target set formation For the i-th file of the j-th repository, the target if formulated as follows: 𝐹𝑠𝑐𝑜𝑟𝑒 𝑖, 𝑗 = log 𝑅 𝑠𝑡𝑎𝑟𝑠 𝑗 𝑛 𝑓𝑖𝑙𝑒𝑠 𝑗 + 𝑑𝑒𝑝 𝑖 𝑛 𝑓𝑖𝑙𝑒𝑠 𝑗 ∗ 𝑅 𝑠𝑡𝑎𝑟𝑠 𝑗 Smoothing factor A base score to all files in the same repository Added value according to the significance of the source code file IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 11. 11 Quality Evaluation Models IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 ANNs Model  Input: The values of 73 static analysis metrics.  Output: User-Perceived source code quality estimation  Applicable only for source code files that exceed minimum quality threshold SVMs - One Class Classifier  Used to rule out low quality code. One Class Classifier ANNs Model Accepted Static Analysis Quality Estimation User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 12. 12 ANNs Model IEEE International Conference on Software Quality, Reliability & Security – QRS 2016  Two-layer feedforward network.  Levenberg-Marquardt algorithm (LMA) for adjusting the weights and the biases.  (Training, Validation, Test) = (70%, 15%, 15%).  Applicable only for source code files that exceed minimum quality threshold. User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 13. 13 SVMs One Class Classifier IEEE International Conference on Software Quality, Reliability & Security – QRS 2016  Used to rule out low quality code.  Gaussian radial basis kernel function.  Training involved the use of 7 metrics:  Average Block Depth,  Average Cyclomatic Complexity  Average Depth of Inheritance Hierarchy  Average Line of Codes Per Method  Comments Ratio  Distance  Lines Of Code  (nu, gamma, tolerance) = (0.1, 0.01, 0.01) User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis 1124 false- positives
  • 14. 14 System Evaluation IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 Results validation:  Quantitative: Using PMD  Qualitative: Examination of a representative sample of files and their metrics Evaluation on three main axes: 1. The system's ability to distinguish high quality source code files. 2. The effectiveness of the model for estimating the quality of files exceeding a quality threshold. 3. The accuracy of predicting the popularity of Java repositories given their source code files. User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 15. 15 System Evaluation IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 Repositories selected:  8 random typical GitHub projects chosen independently.  lines-of-code-per-file ratio around 100, including also several extreme cases.  Both human and auto-generated code.  The auto-generated projects are expected to be of high quality.  Follow all coding conventions.  Are architecturally and functionally complete. User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 16. 16 Evaluation – One Class Classifier IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis The percentage of the rejected files that contained severe violations is very high
  • 17. 17 Evaluation – ANNs Model IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis The quality score reflects the characteristics of the repositories
  • 18. 18 Evaluation – Popularity Prediction IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 𝑅 𝑠𝑡𝑎𝑟𝑠 𝑖, 𝑗 = 𝑒 𝐹𝑠𝑐𝑜𝑟𝑒(𝑖,𝑗) ∙ 𝑛 𝑓𝑖𝑙𝑒𝑠(𝑗) 1 + 𝑑𝑒𝑝(𝑖) 𝑅 𝑠𝑡𝑎𝑟𝑠 𝑗 = 𝑖=1 𝑛 𝑓𝑖𝑙𝑒𝑠(𝑗) 𝑑𝑒𝑝(𝑖) 𝑑𝑒𝑝𝑡𝑜𝑡𝑎𝑙(𝑗) ∙ 𝑅 𝑠𝑡𝑎𝑟𝑠 𝑖, 𝑗 User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 19. 19 Conclusions and future work IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 Conclusions:  Reliable determination of the area of high quality source code based on static analysis metrics.  Effective user-perceived source code quality estimation. Future Work:  Further investigation of the response of our model in different scenarios.  Expansion of the ground truth coverage by using more metrics.  Application of feature selection techniques in order to drop overlapping metrics. User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis
  • 20. 20 Thank you! IEEE International Conference on Software Quality, Reliability & Security – QRS 2016 User-Perceived Source Code Quality Estimation based on Static Analysis Metrics Michail Papamichail, Themistoklis Diamantopoulos and Andreas Symeonidis