Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
moclodash
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Environments
Packages & Registries
Packages & Registries
Container Registry
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Erwan BOUSSE
moclodash
Commits
bc5232b9
Commit
bc5232b9
authored
Apr 02, 2014
by
Erwan Bousse
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Cleanup lots of useless/autosave files
parent
49a8853d
Changes
9
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
0 additions
and
680 deletions
+0
-680
fr.inria.diverse.cloning.benchmark.runner/pom.xml~
fr.inria.diverse.cloning.benchmark.runner/pom.xml~
+0
-26
fr.inria.diverse.cloning.benchmark.tool.product/pom.xml~
fr.inria.diverse.cloning.benchmark.tool.product/pom.xml~
+0
-48
fr.inria.diverse.cloning.benchmark.tool/pom.xml~
fr.inria.diverse.cloning.benchmark.tool/pom.xml~
+0
-26
fr.inria.diverse.cloning.external-libs/build.properties~
fr.inria.diverse.cloning.external-libs/build.properties~
+0
-9
fr.inria.diverse.cloning.external-libs/pom.xml~
fr.inria.diverse.cloning.external-libs/pom.xml~
+0
-123
fr.inria.diverse.cloning.materialgenerator.cli/pom.xml~
fr.inria.diverse.cloning.materialgenerator.cli/pom.xml~
+0
-17
plot-all~
plot-all~
+0
-12
pom.xml~
pom.xml~
+0
-90
process-data.R~
process-data.R~
+0
-329
No files found.
fr.inria.diverse.cloning.benchmark.runner/pom.xml~
deleted
100644 → 0
View file @
49a8853d
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2014 Université de Rennes 1.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors:
Erwan Bousse - initial API and implementation
-->
<project
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
fr.inria.diverse.cloning.benchmark
</groupId>
<artifactId>
fr.inria.diverse.cloning.benchmark.tool
</artifactId>
<version>
0.1.0-SNAPSHOT
</version>
<packaging>
eclipse-plugin
</packaging>
<parent>
<groupId>
fr.inria.diverse.cloning
</groupId>
<artifactId>
parent
</artifactId>
<version>
0.1.0-SNAPSHOT
</version>
</parent>
</project>
fr.inria.diverse.cloning.benchmark.tool.product/pom.xml~
deleted
100644 → 0
View file @
49a8853d
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2014 Université de Rennes 1.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors:
Erwan Bousse - initial API and implementation
-->
<project
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
fr.inria.diverse.cloning.benchmark
</groupId>
<artifactId>
fr.inria.diverse.cloning.benchmark.tool.product
</artifactId>
<version>
0.1.0-SNAPSHOT
</version>
<packaging>
eclipse-repository
</packaging>
<parent>
<groupId>
fr.inria.diverse.cloning
</groupId>
<artifactId>
parent
</artifactId>
<version>
0.1.0-SNAPSHOT
</version>
</parent>
<build>
<plugins>
<plugin>
<groupId>
org.eclipse.tycho
</groupId>
<artifactId>
tycho-p2-director-plugin
</artifactId>
<version>
${tycho.version}
</version>
<executions>
<execution>
<id>
create-product-distributions
</id>
<goals>
<goal>
materialize-products
</goal>
<goal>
archive-products
</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
fr.inria.diverse.cloning.benchmark.tool/pom.xml~
deleted
100644 → 0
View file @
49a8853d
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2014 Université de Rennes 1.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors:
Erwan Bousse - initial API and implementation
-->
<project
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
fr.inria.diverse.cloning.benchmark
</groupId>
<artifactId>
fr.inria.diverse.cloning.benchmark.runner
</artifactId>
<version>
0.1.0-SNAPSHOT
</version>
<packaging>
eclipse-plugin
</packaging>
<parent>
<groupId>
fr.inria.diverse.cloning
</groupId>
<artifactId>
parent
</artifactId>
<version>
0.1.0-SNAPSHOT
</version>
</parent>
</project>
fr.inria.diverse.cloning.external-libs/build.properties~
deleted
100644 → 0
View file @
49a8853d
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
lib/commons-io-1.4.jar,\
lib/jopt-simple-4.6.jar,\
lib/slf4j-api-1.6.6.jar,\
lib/slf4j-jdk14-1.6.6.jar,\
lib/zt-zip-1.7.jar
fr.inria.diverse.cloning.external-libs/pom.xml~
deleted
100644 → 0
View file @
49a8853d
<?xml version="1.0" encoding="UTF-8"?>
<!--
Copyright (c) 2014 Université de Rennes 1.
All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License v1.0
which accompanies this distribution, and is available at
http://www.eclipse.org/legal/epl-v10.html
Contributors:
Erwan Bousse - initial API and implementation
-->
<project
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
fr.inria.diverse.cloning
</groupId>
<artifactId>
fr.inria.diverse.cloning.external-libs
</artifactId>
<version>
0.1.0-SNAPSHOT
</version>
<packaging>
eclipse-plugin
</packaging>
<parent>
<groupId>
fr.inria.diverse.cloning
</groupId>
<artifactId>
parent
</artifactId>
<version>
0.1.0-SNAPSHOT
</version>
</parent>
<dependencies>
<dependency>
<groupId>
org.zeroturnaround
</groupId>
<artifactId>
zt-zip
</artifactId>
<version>
1.7
</version>
<type>
jar
</type>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
net.sf.jopt-simple
</groupId>
<artifactId>
jopt-simple
</artifactId>
<version>
4.6
</version>
<type>
jar
</type>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
org.slf4j
</groupId>
<artifactId>
slf4j-jdk14
</artifactId>
<version>
1.6.6
</version>
<type>
jar
</type>
<scope>
compile
</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-dependency-plugin
</artifactId>
<executions>
<execution>
<id>
copy-dependencies
</id>
<phase>
validate
</phase>
<goals>
<goal>
copy-dependencies
</goal>
</goals>
<configuration>
<overWriteIfNewer>
true
</overWriteIfNewer>
<outputDirectory>
${project.basedir}/lib
</outputDirectory>
<markersDirectory>
${project.basedir}/lib
</markersDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-clean-plugin
</artifactId>
<executions>
<execution>
<id>
clean-dependencies
</id>
<phase>
clean
</phase>
<goals>
<goal>
clean
</goal>
</goals>
<configuration>
<filesets>
<fileset>
<directory>
lib
</directory>
<includes>
<include>
**/*
</include>
</includes>
</fileset>
</filesets>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
fr.inria.diverse.cloning.materialgenerator.cli/pom.xml~
deleted
100644 → 0
View file @
49a8853d
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
fr.inria.diverse.cloning
</groupId>
<artifactId>
fr.inria.diverse.cloning.materialgenerator.app
</artifactId>
<version>
0.1.0-SNAPSHOT
</version>
<packaging>
eclipse-plugin
</packaging>
<parent>
<groupId>
fr.inria.diverse.cloning
</groupId>
<artifactId>
parent
</artifactId>
<version>
0.1.0-SNAPSHOT
</version>
</parent>
</project>
plot-all~
deleted
100755 → 0
View file @
49a8853d
#!/bin/bash
RARGS
=
""
for
i
in
"
$@
"
do
RARGS
=
"
$RARGS
$i
"
done
R
--no-save
--args
$RARGS
< ~/Dev/modelCloning/emf/process-data.R
#ls *.pdf | xargs -I '{}' pdfcrop '{}' '{}'
pom.xml~
deleted
100644 → 0
View file @
49a8853d
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation=
"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"
xmlns=
"http://maven.apache.org/POM/4.0.0"
xmlns:xsi=
"http://www.w3.org/2001/XMLSchema-instance"
>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
fr.inria.diverse.cloning
</groupId>
<artifactId>
parent
</artifactId>
<version>
0.1.0-SNAPSHOT
</version>
<packaging>
pom
</packaging>
<modules>
<!-- Cloner plugins -->
<module>
fr.inria.diverse.cloning.external-libs
</module>
<module>
fr.inria.diverse.cloning.runtime
</module>
<module>
fr.inria.diverse.cloning.materialgenerator
</module>
<!-- Benchmark plugins -->
<module>
fr.inria.diverse.cloning.benchmark.common
</module>
<module>
fr.inria.diverse.cloning.benchmark.metamodelsgenerator
</module>
<module>
fr.inria.diverse.cloning.benchmark.materialgenerator
</module>
<module>
fr.inria.diverse.cloning.benchmark.runner
</module>
<module>
fr.inria.diverse.cloning.benchmark.tool
</module>
<module>
fr.inria.diverse.cloning.benchmark.tool.product
</module>
<!-- Disabled plugins (unnecessary eclipse products) -->
<!--
<module>fr.inria.diverse.cloning.materialgenerator.cli</module>
<module>fr.inria.diverse.cloning.materialgenerator.cli.product</module>
<module>fr.inria.diverse.cloning.benchmark.metamodelsgenerator.product</module>
<module>fr.inria.diverse.cloning.benchmark.materialgenerator.product</module>
<module>fr.inria.diverse.cloning.benchmark.runner.product</module>
-->
</modules>
<properties>
<tycho.version>
0.20.0
</tycho.version>
<!--<tycho-extras.version>[0.19.0,)</tycho-extras.version>-->
<kepler-repo.url>
http://download.eclipse.org/releases/kepler
</kepler-repo.url>
</properties>
<repositories>
<repository>
<id>
kepler
</id>
<url>
${kepler-repo.url}
</url>
<layout>
p2
</layout>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>
org.zeroturnaround
</groupId>
<artifactId>
zt-zip
</artifactId>
<version>
1.7
</version>
<type>
jar
</type>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
net.sf.jopt-simple
</groupId>
<artifactId>
jopt-simple
</artifactId>
<version>
4.6
</version>
<type>
jar
</type>
<scope>
compile
</scope>
</dependency>
<dependency>
<groupId>
org.slf4j
</groupId>
<artifactId>
slf4j-jdk14
</artifactId>
<version>
1.6.6
</version>
<type>
jar
</type>
<scope>
compile
</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>
org.eclipse.tycho
</groupId>
<artifactId>
tycho-maven-plugin
</artifactId>
<version>
${tycho.version}
</version>
<extensions>
true
</extensions>
</plugin>
</plugins>
</build>
</project>
process-data.R~
deleted
100644 → 0
View file @
49a8853d
library(reshape2)
library(scales)
###
# To prepare the ploting with a file of a name and a format (svg of pdf)
###
initImage <- function(name, extension) {
#par(mar=c(0,0,0,0), mgp=c(0,0,0,0))
if(extension=="svg")
svg(filename=paste(name,".svg", sep=""))
else
pdf(file=paste(name,".pdf", sep=""))
}
###
# Retrieves in a df the memory used in a given run
###
getValue <- function(data, mmname, cloningname, nbclones, column) {
value = data[data$MetamodelName==mmname & data$CloningTechnique==cloningname & data$NumberOfClones==nbclones, c(column)]
return(value)
}
###
# Computes and return an operation that, for a given row,
# computes memory gain with regards to another cloning technique
###
computeGainCreator <- function(rawdata, cloningName, column) {
numberClonesColumn = which(colnames(rawdata)=="NumberOfClones")
totalMemoryColumn = which(colnames(rawdata)==column)
nameColumn = which(colnames(rawdata)=="MetamodelName")
computeMemoryRatio <- function(row) {
totalMemory <- as.integer(row[totalMemoryColumn])
name <- as.character(row[nameColumn])
nbClones <- as.integer(row[numberClonesColumn])
otherCloningMemory = getValue(rawdata, name, cloningName,nbClones,column)
result = ((otherCloningMemory - totalMemory) / otherCloningMemory)
return(result)
}
# We return the function that can process each row
return(computeMemoryRatio)
}
###
# Preprocessing: new columns, enforce order, etc.
###
preprocessData <- function (rawdata) {
# We merge the columns cloningtechnique and light (to create "LightDeep" for instance)
rawdata$CloningTechnique = paste(rawdata$Light, rawdata$CloningTechnique, sep="")
# For each line, we compute the gain compared to three out of four techniques, and we put it in
# Note that the "1" indicates "compute for each row" as opposed to "2"
rawdata$MemoryGainDeep = apply(rawdata,1,computeGainCreator(rawdata, 'Deep', "MemoryUsed"))
rawdata$MemoryGainLightDeep = apply(rawdata,1,computeGainCreator(rawdata, 'LightDeep',"MemoryUsed"))
rawdata$MemoryGainMutClassOnly = apply(rawdata,1,computeGainCreator(rawdata, 'MutClassOnly',"MemoryUsed"))
rawdata$TimeGainDeep = apply(rawdata,1,computeGainCreator(rawdata, 'Deep', "TimeSpent"))
rawdata$TimeGainLightDeep = apply(rawdata,1,computeGainCreator(rawdata, 'LightDeep',"TimeSpent"))
rawdata$TimeGainMutClassOnly = apply(rawdata,1,computeGainCreator(rawdata, 'MutClassOnly',"TimeSpent"))
# Performance gain as well
rawdata$PerfGain = ((rawdata$OriginalModelPerformance - rawdata$CloneModelPerformance)/rawdata$OriginalModelPerformance)
print ("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa")
thousand = rawdata[rawdata$NumberOfClones==1000 & rawdata$CloningTechnique=="LightDeep",]
print(median(thousand$PerfGain))
print ("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa")
thousand = rawdata[rawdata$NumberOfClones==1000 & rawdata$CloningTechnique=="LightMutClassOnly",]
print(median(thousand$PerfGain))
print ("AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa")
# Getting the list of cloning techniques, in the right order
techniques = unique(rawdata$CloningTechnique)
# Enforcing the order of the cloning techniques column
# https://stackoverflow.com/questions/19710986/how-to-make-acast-preserve-order-of-variable-in-reshape2
rawdata$CloningTechnique = factor(rawdata$CloningTechnique, techniques)
return(rawdata)
}
###
# Creates a barplot that compares a given metamodel on one aspect (memory or time) for numerous "number of clones" values
###
plotNumberOfClones <- function(rawdata, metamodelname, minvalue, maxvalue, measure, title){
prefiltered = rawdata
filtered = prefiltered[prefiltered$MetamodelName==metamodelname & prefiltered$NumberOfClones<=maxvalue & prefiltered$NumberOfClones>=minvalue & prefiltered$CloningTechnique!="Deep",
c(measure,'CloningTechnique', 'NumberOfClones')]
# Transform the table nicely: NumberOfClones becomes lines, and CloningTechniques columns
# Means that we want to compare "cloningtechniques" regarding "measure" for each "numberofclones"
result = dcast(filtered,CloningTechnique~NumberOfClones,value.var=measure)
# We store the column with the name of the cloning techniques, for the legend, and we delete it
legendc = c("ShareFieldsOnly","ShareObjectsOnly","ShareAll")#result$CloningTechnique
colors = gray.colors(length(legendc), start = 0.9, end = 0.3, gamma = 2.2)
result$CloningTechnique = NULL
# We plot with bars, and we put a legend
name = paste(metamodelname,"_",minvalue,"-",maxvalue,"_clones_",measure, sep="")
formats = c("pdf")
myylab=measure
if (measure == "MemoryGainDeep") {
myylab = "memory gain over DeepClone"
}
for (format in formats) {
initImage(name,format)
barplot(as.matrix(result), main=title, xlab= "number of clones", ylab=myylab,beside=TRUE, col=colors, yaxt="n")
axis(2, at=pretty(filtered[,c(measure)]), lab=paste0(pretty(filtered[,c(measure)]) * 100,"%"), las=TRUE,pos=0)
legend("topleft", as.vector(legendc), cex=1, bty="n", fill=colors);
}
return(result)
}
###
# Creates a plot... mostly used for memory
###
plotStuff <- function(rawdata, measure, variable, numberOfClones, cloning, style, maxX, maxY, percentX) {
myxlim = NULL
if (maxX > 0) {
myxlim = c(0,maxX)
}
myylim = NULL
if (maxY > 0) {
myylim = c(0,maxY)
}
myxlab=variable
if (variable == "ObjShareShareableClassesRatio") {
myxlab = "proportion of shareable classes (case ObjShare)"
}
if (variable == "NoObjShareShareablePropertiesInPartShareableClassesDensity") {
myxlab = "density of shareable properties in part shareable classes\n (ShareFieldsOnly strategy)"
}
if (variable == "ObjShareShareablePropertiesInPartShareableClassesDensity") {
myxlab = "density of shareable properties in part shareable classes\n (ShareBoth strategy)"
}
if (variable == "ObjShareShareableClassesRatio") {
myxlab = "proportion of shareable classes (ShareObjectsOnly strategy)"
}
if (variable == "NoObjShareShareablePropertiesInPartShareableClassesDensity") {
myxlab = "density of shareable properties in part shareable classes\n (ShareFieldsOnly strategy)"
}
if (variable == "ObjShareShareablePropertiesInPartShareableClassesDensity") {
myxlab = "density of shareable properties in part shareable classes\n (ShareBoth strategy)"
}
myylab=measure
if (measure == "MemoryGainDeep") {
myylab = "memory gain over DeepClone"
}
if (measure == "MemoryGainLightDeep") {
myylab = "memory gain over ShareFieldsOnly"
}
if (measure == "MemoryGainMutClassOnly") {
myylab = "memory gain over ShareObjectsOnly"
}
if (measure == "PerfGain") {
myylab = "Model manipulation efficiency gain over the original model"
}
data = rawdata
mutclassonly = data[data$CloningTechnique==cloning & data$NumberOfClones==numberOfClones,]
initImage(paste(cloning,measure,variable,sep=""),'pdf')
# Type=h pour mettre des petits batons, lwd pour l'épaisseur des traits
plot(mutclassonly[,c(variable)], mutclassonly[,c(measure)], pch=style, xlab=myxlab, ylab=myylab, yaxt="n", xaxt="n",frame=F)#, xlim=myxlim, ylim=myylim)#, type="h", lwd="3")#, main=title)
#text(mutclassonly[,c(variable)], mutclassonly[,c(measure)], mutclassonly[,c("MetamodelName")], cex=0.6, pos=1, col="red")
axis(2, at=pretty(mutclassonly[,c(measure)]), lab=paste0(pretty(mutclassonly[,c(measure)]) * 100,"%"), las=TRUE,pos=0)
if (percentX) {
axis(1, at=pretty(mutclassonly[,c(measure)]), lab=paste0(pretty(mutclassonly[,c(measure)]) * 100,"%"), las=TRUE,pos=0)
} else {
axis(1, at=pretty(mutclassonly[,c(variable)]), pos=0)
}
}
###
# Adds points to a plot created with "plotStuff"
###
addPointsPlotStuff <- function(rawdata, measure,variable, numberOfClones, cloning, style) {
data = rawdata
mutclassonly = data[data$CloningTechnique==cloning & data$NumberOfClones==numberOfClones,]
points(mutclassonly[,c(variable)], mutclassonly[,c(measure)], pch=style)
}
###################################################################################################################################
###################################################################################################################################
###################################################################################################################################
args = commandArgs(TRUE)
myrawdata = c()
if (length(args)==1) {
myrawdata = read.csv(args)
} else {
for (arg in args) {
# Parsing CSV file
newdata = read.csv(arg)
if (length(myrawdata) == 0) {
myrawdata = newdata
} else {
myrawdata = rbind(myrawdata,newdata)
}
}
}
fig
data = preprocessData(myrawdata)
# 1:ShareObjects, 2:ShareFields, 3:ShareAll, 4:NoShare
pointsStyles=c(15,4,2,1)
#
# Plotting performance /!\ FILTERING + ONLY PROXY TECHNIQUES
#
perfdata=data[(data$CloneModelPerformance>-1.0) & data$NoObjShareShareablePropertiesInPartShareableClassesDensity<30,]
plotStuff (perfdata,'PerfGain','NoObjShareShareablePropertiesInPartShareableClassesDensity', 1, 'LightDeep', pointsStyles[2], -1, -1,FALSE)
addPointsPlotStuff(perfdata,'PerfGain','NoObjShareShareablePropertiesInPartShareableClassesDensity', 1, 'LightMutClassOnly',pointsStyles[3])
legend("topright", c("ShareFieldsOnly","ShareAll"), cex=1, bty="n", pch=pointsStyles[2:3])
#
# Plotting the memory gain graph (all metamodels) for shareobjects
#
plotStuff (data, 'MemoryGainDeep', 'ObjShareShareableClassesRatio', 1000, 'LightMutClassOnly', pointsStyles[3], 1, 1, TRUE)
#addPointsPlotStuff(data, 'MemoryGainDeep', 'ObjShareShareableClassesRatio', 1000, 'LightDeep', pointsStyles[2])
addPointsPlotStuff(data, 'MemoryGainDeep', 'ObjShareShareableClassesRatio', 1000, 'MutClassOnly', pointsStyles[1])
legend("right", c("ShareObjectsOnly","ShareAll"), cex=1, bty="n", pch=c(pointsStyles[1],pointsStyles[3]))
#
# Plotting the memory gain (sharefields)
#
sharefieldsdata=data[data$NoObjShareShareablePropertiesInPartShareableClassesDensity<30,]
plotStuff(sharefieldsdata, 'MemoryGainDeep', 'NoObjShareShareablePropertiesInPartShareableClassesDensity', 1000, 'LightDeep', pointsStyles[2], -1, 1, FALSE)
legend("topleft", c("ShareFieldsOnly"), cex=1, bty="n", pch=c(pointsStyles[2]))
#
# Plotting the Time gain graph (all metamodels) for shareobjects
#
#plotStuff (data, 'TimeGainDeep', 'ObjShareShareableClassesRatio', 100, 'LightMutClassOnly', pointsStyles[3], 1, 1, "")
#addPointsPlotStuff(data, 'TimeGainDeep', 'ObjShareShareableClassesRatio', 1000, 'LightDeep', pointsStyles[2])
#addPointsPlotStuff(data, 'TimeGainDeep', 'ObjShareShareableClassesRatio', 100, 'MutClassOnly', pointsStyles[1])
#legend("topleft", c("ShareObjectsOnly","ShareAll"), cex=1, bty="n", pch=c(pointsStyles[1],pointsStyles[3]))
#
# Plotting the time gain (sharefields)
#
#plotStuff(sharefieldsdata, 'TimeGainDeep', 'NoObjShareShareablePropertiesInPartShareableClassesDensity', 100, 'LightDeep', pointsStyles[2], -1, 1, "")
#
# Plotting the nbclones-not-relevant graph (note : RANDOMLY CHOSEN METAMODEL)
#
plotNumberOfClones(data, "bundle1-mm9", 0, 10000, 'MemoryGainDeep', "")
############################################################ tests