SlideShare a Scribd company logo
1 of 23
Languages interaction and possible
   effects: an exploratory study




       Antonio Vetrò - Federico Tomassetti
       Marco Torchiano - Maurizio Morisio
No one writes in a single language anymore. Even trivial applications
have a general-purpose language, SQL, JavaScript, CSS, and dozens of
frameworks, each of which includes an external DSL
                                          Wampler 2010
How do those languages interact?

Is that interaction problematic?
Research questions
RQ1 How much interaction is there between the
    languages used in a project?

RQ2 Which language pairs interact more?

RQ3 Are Cross Language Modules more defect-
    prone than Intra Language Modules?
Plan
• Define a measure for the level of interaction
  among languages
• Investigate interaction vs. defect proneness

• Perform a case study
The Case Study
Apache Hadoop, which is a software to support
distributed data storage and processing.




Used in many real applications (e.g., Yahoo, Facebook).
Commit types
Language A (.extA)




                              Cross-Language Commit (CLC)




                                          Intra-Language Commit (ILC)



                     Language B (.extB)
RQ1 How much interaction is there between
    the languages present in a project?
Metric: Percentage of Cross-Language Commits

• All type of commits (RQ1.1)
• Commits divided by activity type (e.g., improvement,
  bug fixing, new feature) (RQ1.2)


  All      Bug    Improv New         Sub    Task   Test
(RQ 1.1)
                   ement Feature     task
 0.53      0.12     0.26  0.30       0.45   0.26   0.05
Cross Language Ratio
Language A (.extA)

                                  3 out of 4 commits involving
                                  m are Cross-Language
                                          Cross Language Ratio of
                                          module m CLRm = 0.75

                        m




Language C (.extC)   Language B (.extB)
Interaction level of a language
• Cross language ratio of an extension (language)
RQ2 Which extensions interact more?
Metric: CLRext

Considering one extension versus all the other
extensions (RQ2.1)

CLRext      Nr files     Extension
0.96        49           c
0.87        114          sh
0.72        75           properties
0.71        320          xml
0.59        4328         java
Focusing on extension pairs
Language A (.extA)
                                  2 out of 3 commits involving
                                  m together with extA are
                                  Cross Language
                                          Cross Language Ratio of
                                          module m w.r.t extA
                                          CLRm,extA = 0.67
                        m




Language C (.extC)   Language B (.extB)
Interaction level of a pair
• Cross language ratio of an extension w.r.t.
  another extension




  – Asymmetrical measure!
RQ2 Which extensions do interact more?
Metric: CLRextA,extB

Considering the most interacting ordered pairs of
extensions (RQ2.2).

extA/extB      C       Java   Properties Sh

C              -       0.51   0.10      0.50
Java           0.01    -      0.28      0.04
Properties     0       0.54   -         0.36
Sh             0.09    0.22   0.24      -
Xml            0.04    0.52   0.43      0.24
Cross vs. Intra Lang Modules

Cross Language Module (CLM): CLR is ≥ t%

Intra Language Modules (ILM): CLR is <
t%

                 t = 50%
RQ3 Are Cross Language Modules more defect-prone?
Metric: Odds ratio of CLM with/without defects , ILM
        with/without defects
- all module regardless of extension (RQ3.1)
- by extension (RQ3.2)

                 ILM      ILM    CLM    CLM p-value        OR
                no def.   def.  no def. def.
             all 1891       225   2875     89 <0.001       0.26

               c      2       0     46          1 1.000     Inf
           java    1692     201   2239         25 <0.001   0.09
      properties     19       1     45          7 0.429    2.92
              sh     10       5     64         13 0.162    0.41
            xml      96      11    184         24 0.851    1.14
RQ3 Are Cross Language Modules more defect-prone?
Metric: Odds ratio of CLM with/without defects , ILM
        with/without defects
Considering interaction between specific ordered
pairs of extensions (RQ3.3).
             C      Java   Properties sh               XML
           C -      Inf    0              0            Inf
        Java 2.79   -      0.32           0.43         0.96
   Properties Inf   1      -              12.08        0.94
          Sh 3.55   4.45   17.17          -            7.44
        Xml 3.83    0.95   3.22           4.73         -



                               In bold significant values
Threats
•   Confounding factors: age and size of modules
•   Usage of proxy for interaction between artifacts
•   Apache Hadoop representativeness
•   Renaming of modules
Conclusions
Language interaction depends on the type of activity
Frequent interactions are
generally not symmetric




                       Many of them involve XML
In general language interaction is not related to
higher defect proneness, see Java
Though several language pairs have CLMs
significantly more defect prone then ILMs, see C
Questions?

Languages interaction and possible
   effects: an exploratory study
       Antonio Vetrò - Federico Tomassetti
       Marco Torchiano - Maurizio Morisio

More Related Content

What's hot

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingYoung Seok Kim
 
Deep learning for NLP and Transformer
 Deep learning for NLP  and Transformer Deep learning for NLP  and Transformer
Deep learning for NLP and TransformerArvind Devaraj
 
PL Lecture 02 - Binding and Scope
PL Lecture 02 - Binding and ScopePL Lecture 02 - Binding and Scope
PL Lecture 02 - Binding and ScopeSchwannden Kuo
 
Named Entity Recognition using Hidden Markov Model (HMM)
Named Entity Recognition using Hidden Markov Model (HMM)Named Entity Recognition using Hidden Markov Model (HMM)
Named Entity Recognition using Hidden Markov Model (HMM)kevig
 
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...ayaha osaki
 
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...Minh Pham
 
Notes on attention mechanism
Notes on attention mechanismNotes on attention mechanism
Notes on attention mechanismKhang Pham
 
BERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from TransformersBERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from TransformersLiangqun Lu
 
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)Universitat Politècnica de Catalunya
 
Enriching Word Vectors with Subword Information
Enriching Word Vectors with Subword InformationEnriching Word Vectors with Subword Information
Enriching Word Vectors with Subword InformationSeonghyun Kim
 
C# Common Type System & Common Language Specification
C# Common Type System & Common Language Specification C# Common Type System & Common Language Specification
C# Common Type System & Common Language Specification Prem Kumar Badri
 
Tiancheng Zhao - 2017 - Learning Discourse-level Diversity for Neural Dialog...
Tiancheng Zhao - 2017 -  Learning Discourse-level Diversity for Neural Dialog...Tiancheng Zhao - 2017 -  Learning Discourse-level Diversity for Neural Dialog...
Tiancheng Zhao - 2017 - Learning Discourse-level Diversity for Neural Dialog...Association for Computational Linguistics
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingSeonghyun Kim
 
Seq2seq Model to Tokenize the Chinese Language
Seq2seq Model to Tokenize the Chinese LanguageSeq2seq Model to Tokenize the Chinese Language
Seq2seq Model to Tokenize the Chinese LanguageJinho Choi
 
Transformers to Learn Hierarchical Contexts in Multiparty Dialogue
Transformers to Learn Hierarchical Contexts in Multiparty DialogueTransformers to Learn Hierarchical Contexts in Multiparty Dialogue
Transformers to Learn Hierarchical Contexts in Multiparty DialogueJinho Choi
 

What's hot (20)

BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
 
Deep learning for NLP and Transformer
 Deep learning for NLP  and Transformer Deep learning for NLP  and Transformer
Deep learning for NLP and Transformer
 
PL Lecture 02 - Binding and Scope
PL Lecture 02 - Binding and ScopePL Lecture 02 - Binding and Scope
PL Lecture 02 - Binding and Scope
 
Named Entity Recognition using Hidden Markov Model (HMM)
Named Entity Recognition using Hidden Markov Model (HMM)Named Entity Recognition using Hidden Markov Model (HMM)
Named Entity Recognition using Hidden Markov Model (HMM)
 
Introduction to Transformer Model
Introduction to Transformer ModelIntroduction to Transformer Model
Introduction to Transformer Model
 
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
2017:12:06 acl読み会"Learning attention for historical text normalization by lea...
 
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...
A Feature-Based Model for Nested Named-Entity Recognition at VLSP-2018 NER Ev...
 
Notes on attention mechanism
Notes on attention mechanismNotes on attention mechanism
Notes on attention mechanism
 
BERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from TransformersBERT: Bidirectional Encoder Representations from Transformers
BERT: Bidirectional Encoder Representations from Transformers
 
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
Neural Machine Translation (D3L4 Deep Learning for Speech and Language UPC 2017)
 
[Paper review] BERT
[Paper review] BERT[Paper review] BERT
[Paper review] BERT
 
Enriching Word Vectors with Subword Information
Enriching Word Vectors with Subword InformationEnriching Word Vectors with Subword Information
Enriching Word Vectors with Subword Information
 
Deep Learning for Machine Translation
Deep Learning for Machine TranslationDeep Learning for Machine Translation
Deep Learning for Machine Translation
 
C# Common Type System & Common Language Specification
C# Common Type System & Common Language Specification C# Common Type System & Common Language Specification
C# Common Type System & Common Language Specification
 
Tiancheng Zhao - 2017 - Learning Discourse-level Diversity for Neural Dialog...
Tiancheng Zhao - 2017 -  Learning Discourse-level Diversity for Neural Dialog...Tiancheng Zhao - 2017 -  Learning Discourse-level Diversity for Neural Dialog...
Tiancheng Zhao - 2017 - Learning Discourse-level Diversity for Neural Dialog...
 
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language UnderstandingBERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
 
Probabilistic content models,
Probabilistic content models,Probabilistic content models,
Probabilistic content models,
 
Seq2seq Model to Tokenize the Chinese Language
Seq2seq Model to Tokenize the Chinese LanguageSeq2seq Model to Tokenize the Chinese Language
Seq2seq Model to Tokenize the Chinese Language
 
Transformers to Learn Hierarchical Contexts in Multiparty Dialogue
Transformers to Learn Hierarchical Contexts in Multiparty DialogueTransformers to Learn Hierarchical Contexts in Multiparty Dialogue
Transformers to Learn Hierarchical Contexts in Multiparty Dialogue
 
Bert
BertBert
Bert
 

Similar to Languages interaction study explores defect relationships

MLE_keynote.pdf
MLE_keynote.pdfMLE_keynote.pdf
MLE_keynote.pdfmiso_uam
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clrSanSan149
 
Architecting Domain-Specific Languages
Architecting Domain-Specific LanguagesArchitecting Domain-Specific Languages
Architecting Domain-Specific LanguagesMarkus Voelter
 
Keynote joearmstrong
Keynote joearmstrongKeynote joearmstrong
Keynote joearmstrongSentifi
 
Hate speech detection
Hate speech detectionHate speech detection
Hate speech detectionNASIM ALAM
 
Re-implementing Thrift using MDE
Re-implementing Thrift using MDERe-implementing Thrift using MDE
Re-implementing Thrift using MDESina Madani
 
Future Programming Language
Future Programming LanguageFuture Programming Language
Future Programming LanguageYLTO
 
.Net framework components by naveen kumar veligeti
.Net framework components by naveen kumar veligeti.Net framework components by naveen kumar veligeti
.Net framework components by naveen kumar veligetiNaveen Kumar Veligeti
 
C#_01_CLROverview.ppt
C#_01_CLROverview.pptC#_01_CLROverview.ppt
C#_01_CLROverview.pptMarcEdwards35
 
Semantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalabilitySemantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalabilitynvitucci
 
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...siouxhotornot
 
Reflective and Refractive Variables: A Model for Effective and Maintainable A...
Reflective and Refractive Variables: A Model for Effective and Maintainable A...Reflective and Refractive Variables: A Model for Effective and Maintainable A...
Reflective and Refractive Variables: A Model for Effective and Maintainable A...Vincenzo De Florio
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)DrUjwala1
 
Distributed Reactive Services with Reactor & Spring - Stéphane Maldini
Distributed Reactive Services with Reactor & Spring - Stéphane MaldiniDistributed Reactive Services with Reactor & Spring - Stéphane Maldini
Distributed Reactive Services with Reactor & Spring - Stéphane MaldiniVMware Tanzu
 

Similar to Languages interaction study explores defect relationships (20)

MLE_keynote.pdf
MLE_keynote.pdfMLE_keynote.pdf
MLE_keynote.pdf
 
Common language runtime clr
Common language runtime clrCommon language runtime clr
Common language runtime clr
 
Architecting Domain-Specific Languages
Architecting Domain-Specific LanguagesArchitecting Domain-Specific Languages
Architecting Domain-Specific Languages
 
Keynote joearmstrong
Keynote joearmstrongKeynote joearmstrong
Keynote joearmstrong
 
Hate speech detection
Hate speech detectionHate speech detection
Hate speech detection
 
Seeking Clojure
Seeking ClojureSeeking Clojure
Seeking Clojure
 
Re-implementing Thrift using MDE
Re-implementing Thrift using MDERe-implementing Thrift using MDE
Re-implementing Thrift using MDE
 
Future Programming Language
Future Programming LanguageFuture Programming Language
Future Programming Language
 
.Net framework components by naveen kumar veligeti
.Net framework components by naveen kumar veligeti.Net framework components by naveen kumar veligeti
.Net framework components by naveen kumar veligeti
 
Microsoft.Net
Microsoft.NetMicrosoft.Net
Microsoft.Net
 
Net framework
Net frameworkNet framework
Net framework
 
CNN for modeling sentence
CNN for modeling sentenceCNN for modeling sentence
CNN for modeling sentence
 
C#_01_CLROverview.ppt
C#_01_CLROverview.pptC#_01_CLROverview.ppt
C#_01_CLROverview.ppt
 
Semantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalabilitySemantic Web languages: Expressivity vs scalability
Semantic Web languages: Expressivity vs scalability
 
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...
Sioux Hot-or-Not: Functional programming: unlocking the real power of multi-c...
 
Asp.net main
Asp.net mainAsp.net main
Asp.net main
 
Reflective and Refractive Variables: A Model for Effective and Maintainable A...
Reflective and Refractive Variables: A Model for Effective and Maintainable A...Reflective and Refractive Variables: A Model for Effective and Maintainable A...
Reflective and Refractive Variables: A Model for Effective and Maintainable A...
 
Session2 (3)
Session2 (3)Session2 (3)
Session2 (3)
 
Transformers AI PPT.pptx
Transformers AI PPT.pptxTransformers AI PPT.pptx
Transformers AI PPT.pptx
 
Distributed Reactive Services with Reactor & Spring - Stéphane Maldini
Distributed Reactive Services with Reactor & Spring - Stéphane MaldiniDistributed Reactive Services with Reactor & Spring - Stéphane Maldini
Distributed Reactive Services with Reactor & Spring - Stéphane Maldini
 

More from Marco Torchiano

Testing the UI of Mobile Applications
Testing the UI of Mobile ApplicationsTesting the UI of Mobile Applications
Testing the UI of Mobile ApplicationsMarco Torchiano
 
Software Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di TorinoSoftware Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di TorinoMarco Torchiano
 
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing toolsEspresso vs. EyeAutomate: comparing two generations of Android GUI testing tools
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing toolsMarco Torchiano
 
Research Activities: past, present, and future.
Research Activities: past, present, and future.Research Activities: past, present, and future.
Research Activities: past, present, and future.Marco Torchiano
 
Data Quality - Standards e Applicazioni
Data Quality - Standards e ApplicazioniData Quality - Standards e Applicazioni
Data Quality - Standards e ApplicazioniMarco Torchiano
 
Data Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open DataData Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open DataMarco Torchiano
 
Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Riflessioni su Riforma Costituzionale "Renzi-Boschi"Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Riflessioni su Riforma Costituzionale "Renzi-Boschi"Marco Torchiano
 
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...Marco Torchiano
 
Energy Consumption Analysis
 of Image Encoding and Decoding Algorithms
Energy Consumption Analysis
 of Image Encoding and Decoding AlgorithmsEnergy Consumption Analysis
 of Image Encoding and Decoding Algorithms
Energy Consumption Analysis
 of Image Encoding and Decoding AlgorithmsMarco Torchiano
 
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...Marco Torchiano
 
A Model-Based Approach to Language Integration
A Model-Based Approach to Language Integration A Model-Based Approach to Language Integration
A Model-Based Approach to Language Integration Marco Torchiano
 
On the computation of Truck Factor
On the computation of Truck FactorOn the computation of Truck Factor
On the computation of Truck FactorMarco Torchiano
 
The impact of process maturity on defect density
The impact of process maturity on defect densityThe impact of process maturity on defect density
The impact of process maturity on defect densityMarco Torchiano
 

More from Marco Torchiano (14)

Testing the UI of Mobile Applications
Testing the UI of Mobile ApplicationsTesting the UI of Mobile Applications
Testing the UI of Mobile Applications
 
Software Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di TorinoSoftware Engineering II Course at Politecnico di Torino
Software Engineering II Course at Politecnico di Torino
 
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing toolsEspresso vs. EyeAutomate: comparing two generations of Android GUI testing tools
Espresso vs. EyeAutomate: comparing two generations of Android GUI testing tools
 
Research Activities: past, present, and future.
Research Activities: past, present, and future.Research Activities: past, present, and future.
Research Activities: past, present, and future.
 
Data Quality - Standards e Applicazioni
Data Quality - Standards e ApplicazioniData Quality - Standards e Applicazioni
Data Quality - Standards e Applicazioni
 
Data Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open DataData Quality - Standards and Application to Open Data
Data Quality - Standards and Application to Open Data
 
Data Visualization
Data VisualizationData Visualization
Data Visualization
 
Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Riflessioni su Riforma Costituzionale "Renzi-Boschi"Riflessioni su Riforma Costituzionale "Renzi-Boschi"
Riflessioni su Riforma Costituzionale "Renzi-Boschi"
 
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...
Relevance, Benefits, and Barriers of Software Modelling and Model Driven Tech...
 
Energy Consumption Analysis
 of Image Encoding and Decoding Algorithms
Energy Consumption Analysis
 of Image Encoding and Decoding AlgorithmsEnergy Consumption Analysis
 of Image Encoding and Decoding Algorithms
Energy Consumption Analysis
 of Image Encoding and Decoding Algorithms
 
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
Relevance, Benefits, and Problems of Software Modelling and Model-Driven Tech...
 
A Model-Based Approach to Language Integration
A Model-Based Approach to Language Integration A Model-Based Approach to Language Integration
A Model-Based Approach to Language Integration
 
On the computation of Truck Factor
On the computation of Truck FactorOn the computation of Truck Factor
On the computation of Truck Factor
 
The impact of process maturity on defect density
The impact of process maturity on defect densityThe impact of process maturity on defect density
The impact of process maturity on defect density
 

Recently uploaded

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 

Recently uploaded (20)

Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 

Languages interaction study explores defect relationships

  • 1. Languages interaction and possible effects: an exploratory study Antonio Vetrò - Federico Tomassetti Marco Torchiano - Maurizio Morisio
  • 2. No one writes in a single language anymore. Even trivial applications have a general-purpose language, SQL, JavaScript, CSS, and dozens of frameworks, each of which includes an external DSL Wampler 2010
  • 3. How do those languages interact? Is that interaction problematic?
  • 4. Research questions RQ1 How much interaction is there between the languages used in a project? RQ2 Which language pairs interact more? RQ3 Are Cross Language Modules more defect- prone than Intra Language Modules?
  • 5. Plan • Define a measure for the level of interaction among languages • Investigate interaction vs. defect proneness • Perform a case study
  • 6. The Case Study Apache Hadoop, which is a software to support distributed data storage and processing. Used in many real applications (e.g., Yahoo, Facebook).
  • 7. Commit types Language A (.extA) Cross-Language Commit (CLC) Intra-Language Commit (ILC) Language B (.extB)
  • 8. RQ1 How much interaction is there between the languages present in a project? Metric: Percentage of Cross-Language Commits • All type of commits (RQ1.1) • Commits divided by activity type (e.g., improvement, bug fixing, new feature) (RQ1.2) All Bug Improv New Sub Task Test (RQ 1.1) ement Feature task 0.53 0.12 0.26 0.30 0.45 0.26 0.05
  • 9. Cross Language Ratio Language A (.extA) 3 out of 4 commits involving m are Cross-Language Cross Language Ratio of module m CLRm = 0.75 m Language C (.extC) Language B (.extB)
  • 10. Interaction level of a language • Cross language ratio of an extension (language)
  • 11. RQ2 Which extensions interact more? Metric: CLRext Considering one extension versus all the other extensions (RQ2.1) CLRext Nr files Extension 0.96 49 c 0.87 114 sh 0.72 75 properties 0.71 320 xml 0.59 4328 java
  • 12. Focusing on extension pairs Language A (.extA) 2 out of 3 commits involving m together with extA are Cross Language Cross Language Ratio of module m w.r.t extA CLRm,extA = 0.67 m Language C (.extC) Language B (.extB)
  • 13. Interaction level of a pair • Cross language ratio of an extension w.r.t. another extension – Asymmetrical measure!
  • 14. RQ2 Which extensions do interact more? Metric: CLRextA,extB Considering the most interacting ordered pairs of extensions (RQ2.2). extA/extB C Java Properties Sh C - 0.51 0.10 0.50 Java 0.01 - 0.28 0.04 Properties 0 0.54 - 0.36 Sh 0.09 0.22 0.24 - Xml 0.04 0.52 0.43 0.24
  • 15. Cross vs. Intra Lang Modules Cross Language Module (CLM): CLR is ≥ t% Intra Language Modules (ILM): CLR is < t% t = 50%
  • 16. RQ3 Are Cross Language Modules more defect-prone? Metric: Odds ratio of CLM with/without defects , ILM with/without defects - all module regardless of extension (RQ3.1) - by extension (RQ3.2) ILM ILM CLM CLM p-value OR no def. def. no def. def. all 1891 225 2875 89 <0.001 0.26 c 2 0 46 1 1.000 Inf java 1692 201 2239 25 <0.001 0.09 properties 19 1 45 7 0.429 2.92 sh 10 5 64 13 0.162 0.41 xml 96 11 184 24 0.851 1.14
  • 17. RQ3 Are Cross Language Modules more defect-prone? Metric: Odds ratio of CLM with/without defects , ILM with/without defects Considering interaction between specific ordered pairs of extensions (RQ3.3). C Java Properties sh XML C - Inf 0 0 Inf Java 2.79 - 0.32 0.43 0.96 Properties Inf 1 - 12.08 0.94 Sh 3.55 4.45 17.17 - 7.44 Xml 3.83 0.95 3.22 4.73 - In bold significant values
  • 18. Threats • Confounding factors: age and size of modules • Usage of proxy for interaction between artifacts • Apache Hadoop representativeness • Renaming of modules
  • 20. Language interaction depends on the type of activity
  • 21. Frequent interactions are generally not symmetric Many of them involve XML
  • 22. In general language interaction is not related to higher defect proneness, see Java Though several language pairs have CLMs significantly more defect prone then ILMs, see C
  • 23. Questions? Languages interaction and possible effects: an exploratory study Antonio Vetrò - Federico Tomassetti Marco Torchiano - Maurizio Morisio

Editor's Notes

  1. NB: file type = extension!!
  2. CLR_{m,ext} = \\frac{\\# CLC_{m,ext}}{\\# CLC_{m,ext} + \\# ILC_{m,ext}} CLR_{ext} = \\frac{\\displaystyle\\sum_{m \\in ext}{CLR_{m,ext}}}{\\# m \\in ext} CLR_{extA,extB} = \\frac{\\displaystyle\\sum_{m \\in extA}{CLR_{m,extB}}}{\\# m \\in extA}
  3. CLR_{m,ext} = \\frac{\\# CLC_{m,ext}}{\\# CLC_{m,ext} + \\# ILC_{m,ext}} CLR_{ext} = \\frac{\\displaystyle\\sum_{m \\in ext}{CLR_{m,ext}}}{\\# m \\in ext} CLR_{extA,extB} = \\frac{\\displaystyle\\sum_{m \\in extA}{CLR_{m,extB}}}{\\# m \\in extA}
  4. CLR_{m,ext} = \\frac{\\# CLC_{m,ext}}{\\# CLC_{m,ext} + \\# ILC_{m,ext}} CLR_{ext} = \\frac{\\displaystyle\\sum_{m \\in ext}{CLR_{m,ext}}}{\\# m \\in ext} CLR_{extA,extB} = \\frac{\\displaystyle\\sum_{m \\in extA}{CLR_{m,extB}}}{\\# m \\in extA}