classification of languages interactions
DESCRIPTION
Context: the presence of several languages interacting each other within the same project is an almost universal feature in software development. Earlier work shows that this interaction might be source of problems. Goal: we aim at identifying and characterizing the crosslanguage interactions at semantic level. Method: we took the commits of an open source project and analyzed the cross-language pairs of files occurring in the same commit to identify possible semantic interactions. We both defined a taxonomy and applied it. Result: we identify 6 categories of semantic interactions. The most common category is the one based on shared ids, the next is when an artifact provides a description of another artifact. Conclusions: the deeper knowledge of cross-language interactions represents the basis for implementing a tool supporting the management of this kind of interactions and the detection of related problems at compile time.TRANSCRIPT
Technische Universität München
Languages interaction classification
Joint work withFederico Tomassetti, Marco TorchianoPolitecnico di Torino, Italy
Antonio Vetro’Technische Universität
MünchenGermany
ESEM 2013 Baltimore, MD, USA 11 October 2013
@phisaz
Technische Universität München
ESEM 2012
MISE 2013
ESEM 2013
A proposal to handle languages integration
Can language interaction be source of problems ?
What type of language interactions we need to detect ?
Technische Universität München
Problem
Technische Universität München
Problem
Technische Universität München
Problem
Technische Universität München
Language A (.extA)
Language B (.extB)
Cross-Language Commit (CLC)
Intra-Language Commit (ILC)
Commit types
Technische Universität München
Cross-Language Fix Commit
1. Screening
2. Selection
Technische Universität München
Technische Universität München
3. Manual verification
Technische Universität München
4. Semantic interaction manual confirmation and classification
Technische Universität München
Classification
Technische Universität München
Share ID
src/java/core-default.xml
src/java/or/apache/hadoop/fs/s3/S3FileSystem.java
The same ID is used among the artifacts involved in the interaction.
Commit 1058343
Technische Universität München
Shared dataA piece of data have to hold exactly the same value among the different artifacts involved.
ivy/hadoop-common-template.xml
ivy/libraries.properties
Commit 1134857
Technische Universität München
Data loading
src/test/test-fake-default
src/test/core/org/apache/hadoop/conf/Test/ConfigurationDeprecation.java
A data from one of the file involved is loaded by the code in another file involved.
Commit 1126719
Technische Universität München
Generation
Commit 1190035
src/main/packages/hadoop-setup-conf.sh
One or more files are completely or partially generated by the execution of one file. Also the modification of part of a file is accepted.
.../mapred-site.xml
Technische Universität München
Description
Commit 998001
One of the file involved contained a description of the content of another file (a part or the whole file).
src/docs/src/documentation/content/xdocs/cluster_setup.xml
src/java/org/apache/hadoop/security/authorize/AccessControlList.java
Technische Universität München
Execution
Commit 1195817
One file executes the code contained in another file
pom.xml
src/java/org/apache/hadoop/classification/tools/IncludePublicAnnotationsStandardDoclet.java
Technische Universität München
Classification
Shared ID
Shared data
Data loading
Generation
Description
Execution
Technische Universität München
Technische Universität München
Technische Universität München
ESEM 2012
MISE 2013
ESEM 2013
A proposal to handle languages integration
Can language interaction be source of problems ?
What type of language interaction we need to detect ?
Automatic interaction detection
Tool support for developers
Technische Universität München
Languages interaction classification
Joint work withFederico Tomassetti, Marco TorchianoPolitecnico di Torino, Italy
Antonio Vetro’Technische Universität
MünchenGermany
ESEM 2013 Baltimore, MD, USA 11 October 2013
@phisaz
Questions?
Technische Universität München
Thank you