diff --git a/.DS_Store b/.DS_Store index 4dba99e..6de1c95 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/data/labels/.DS_Store b/data/labels/.DS_Store index 67626c7..932c44f 100644 Binary files a/data/labels/.DS_Store and b/data/labels/.DS_Store differ diff --git a/data/labels/Feature_envy/.DS_Store b/data/labels/Feature_envy/.DS_Store index d1018fb..5008ddf 100644 Binary files a/data/labels/Feature_envy/.DS_Store and b/data/labels/Feature_envy/.DS_Store differ diff --git a/data/labels/Feature_envy/test/android-frameworks-opt-telephony.csv b/data/labels/Feature_envy/test/android-frameworks-opt-telephony.csv deleted file mode 100644 index e69de29..0000000 diff --git a/data/labels/Feature_envy/test/android-platform-support.csv b/data/labels/Feature_envy/test/android-platform-support.csv deleted file mode 100644 index e69de29..0000000 diff --git a/data/labels/Feature_envy/test/apache-ant.csv b/data/labels/Feature_envy/test/apache-ant.csv deleted file mode 100644 index edbdc8b..0000000 --- a/data/labels/Feature_envy/test/apache-ant.csv +++ /dev/null @@ -1,8 +0,0 @@ -org.apache.tools.ant.taskdefs.Available.checkFile();org.apache.tools.ant.types.Path -org.apache.tools.ant.taskdefs.Available.execute();org.apache.tools.ant.taskdefs.optional.junit.JUnitTask -org.apache.tools.ant.taskdefs.Available.eval();org.apache.tools.ant.types.Path -org.apache.tools.ant.taskdefs.Java.execute();org.apache.tools.ant.types.Path -org.apache.tools.ant.taskdefs.Zip.execute();org.apache.tools.ant.taskdefs.optional.junit.JUnitTask -org.apache.tools.ant.taskdefs.Jar.initZipOutputStream(ZipOutputStream);org.apache.tools.ant.taskdefs.Zip -org.apache.tools.ant.taskdefs.optional.sitraka.XMLReport.createClassElement(org.apache.tools.ant.taskdefs.optional.sitraka.bytecode.ClassFile);org.apache.tools.ant.taskdefs.optional.sitraka.bytecode.ClassFile -org.apache.tools.ant.filters.ReplaceTokens.addConfiguredToken(org.apache.tools.ant.filters.ReplaceTokens.Token);org.apache.tools.ant.filters.ReplaceTokens.Token \ No newline at end of file diff --git a/data/labels/Feature_envy/test/apache-tomcat.csv b/data/labels/Feature_envy/test/apache-tomcat.csv deleted file mode 100644 index 849aad9..0000000 --- a/data/labels/Feature_envy/test/apache-tomcat.csv +++ /dev/null @@ -1,3 +0,0 @@ -org.apache.catalina.startup.WebRuleSet.addRuleInstances(Digester);org.apache.tomcat.util.digester.Digester -org.apache.catalina.startup.WebRuleSet.configureNamingRules(Digester);org.apache.tomcat.util.digester.Digester -org.apache.coyote.http11.Http11Processor.process(SocketWrapper);org.apache.coyote.http11.Http11NioProcessor \ No newline at end of file diff --git a/data/labels/Feature_envy/test/jedit.csv b/data/labels/Feature_envy/test/jedit.csv deleted file mode 100644 index 6bf337c..0000000 --- a/data/labels/Feature_envy/test/jedit.csv +++ /dev/null @@ -1,10 +0,0 @@ -org.gjt.sp.jedit.JARClassLoader.loadPluginClass(String);org.gjt.sp.jedit.browser.MouseHandler -org.gjt.sp.jedit.buffer.UndoManager.contentRemoved(int, int, String, boolean);org.gjt.sp.jedit.browser.MouseHandler -org.gjt.sp.jedit.textarea.MouseHandler.mouseReleased(MouseEvent);org.gjt.sp.jedit.textarea.JEditTextArea -org.gjt.sp.jedit.PluginJAR.generateCache();org.gjt.sp.jedit.browser.MouseHandler -org.gjt.sp.jedit.textarea.JEditTextArea.xToOffset(int, int, boolean);org.gjt.sp.jedit.textarea.TextAreaPainter -org.gjt.sp.jedit.search.SearchAndReplace.replace(View, Buffer, int, int);org.gjt.sp.jedit.textarea.JEditTextArea -org.gjt.sp.jedit.PluginJAR.activatePlugin();org.gjt.sp.jedit.browser.MouseHandler -org.gjt.sp.jedit.syntax.XModeHandler.endElement(String);org.gjt.sp.jedit.browser.MouseHandler -org.gjt.sp.jedit.Buffer.recoverAutosave(org.gjt.sp.jedit.View);org.gjt.sp.jedit.io.VFS -org.gjt.sp.jedit.gui.OptionsDialog.addOptionPane(org.gjt.sp.jedit.OptionPane, org.gjt.sp.jedit.OptionGroup);org.gjt.sp.jedit.OptionGroup \ No newline at end of file diff --git a/data/labels/feature_envy/android-frameworks-opt-telephony.csv b/data/labels/feature_envy/android-frameworks-opt-telephony.csv new file mode 100644 index 0000000..3939b83 --- /dev/null +++ b/data/labels/feature_envy/android-frameworks-opt-telephony.csv @@ -0,0 +1,15 @@ +com.android.internal.telephony.cdma.CdmaSMSDispatcher.sendNewSubmitPdu(boolean, int, pendingintent, pendingintent, smsheader, string, string, string);com.android.internal.telephony.cdma.sms.UserData +com.android.internal.telephony.SMSDispatcher.dispatchNormalMessage(smsmessagebase);com.android.internal.telephony.SmsHeader +com.android.internal.telephony.SMSDispatcher.checkDestination(smstracker);com.android.internal.telephony.SmsUsageMonitor +android.telephony.CellBroadcastMessage.getCmasMessageClass();android.telephony.SmsCbMessage +android.telephony.CellBroadcastMessage.isEmergencyAlertMessage();android.telephony.SmsCbMessage +com.android.internal.telephony.cat.ValueParser.retrieveCommandDetails(comprehensiontlv);com.android.internal.telephony.cat.CommandDetails +com.android.internal.telephony.RIL.getDataCallState(int, parcel);com.android.internal.telephony.DataCallState +com.android.internal.telephony.RIL.setGsmBroadcastConfig(message, smsbroadcastconfiginfo);com.android.internal.telephony.gsm.SmsBroadcastConfigInfo +com.android.internal.telephony.RIL.responseCallForward(parcel);com.android.internal.telephony.CallForwardInfo +com.android.internal.telephony.RIL.responseCdmaCallWaiting(parcel);com.android.internal.telephony.cdma.CdmaCallWaitingNotification +com.android.internal.telephony.RIL.responseSuppServiceNotification(parcel);com.android.internal.telephony.gsm.SuppServiceNotification +com.android.internal.telephony.RIL.responseIccCardStatus(parcel);com.android.internal.telephony.uicc.IccCardApplicationStatus +com.android.internal.telephony.cdma.SmsMessage.getIncomingSmsFingerprint();com.android.internal.telephony.cdma.sms.SmsEnvelope +com.android.internal.telephony.DataConnection.setLinkProperties(datacallstate, linkproperties);com.android.internal.telephony.DataCallState +com.android.internal.telephony.gsm.GsmDataConnectionTracker.applyNewState(apncontext, boolean, boolean);com.android.internal.telephony.ApnContext diff --git a/data/labels/feature_envy/android-platform-support.csv b/data/labels/feature_envy/android-platform-support.csv new file mode 100644 index 0000000..6687d01 --- /dev/null +++ b/data/labels/feature_envy/android-platform-support.csv @@ -0,0 +1 @@ +android.support.v4.app.BackStackRecord.doAddOp(fragment, int, int, string);android.support.v4.app.Fragment diff --git a/data/labels/feature_envy/apache-ant.csv b/data/labels/feature_envy/apache-ant.csv new file mode 100644 index 0000000..a36c3fa --- /dev/null +++ b/data/labels/feature_envy/apache-ant.csv @@ -0,0 +1,16 @@ +org.apache.tools.ant.util.JAXPUtils.getSystemId(file);org.apache.tools.ant.util.FileUtils +org.apache.tools.ant.taskdefs.Java.setJar(file);org.apache.tools.ant.types.CommandlineJava +org.apache.tools.ant.taskdefs.optional.Cab.appendFiles(directoryscanner, vector);org.apache.tools.ant.DirectoryScanner +org.apache.tools.ant.taskdefs.optional.javah.Kaffeh.setupKaffehCommand(javah);org.apache.tools.ant.taskdefs.optional.Javah +org.apache.tools.ant.ComponentHelper.addTaskDefinition(class, string);org.apache.tools.ant.AntTypeDefinition +org.apache.tools.ant.taskdefs.optional.extension.ExtensionUtil.addExtension(boolean, boolean, extension, list);org.apache.tools.ant.taskdefs.optional.extension.Extension +org.apache.tools.ant.taskdefs.AbstractCvsTask.executeToString(execute);org.apache.tools.ant.taskdefs.Execute +org.apache.tools.ant.taskdefs.Tar.asTarFileSet(archivefileset);org.apache.tools.ant.types.TarFileSet +org.apache.tools.ant.taskdefs.Tar.asTarFileSet(archivefileset);org.apache.tools.ant.types.ArchiveFileSet +org.apache.tools.ant.taskdefs.cvslib.CvsTagDiff.writeTagEntry(cvstagentry, document, printwriter);org.apache.tools.ant.taskdefs.cvslib.CvsTagEntry +org.apache.tools.ant.taskdefs.optional.ejb.GenericDeploymentTool.getJarBaseName(string);org.apache.tools.ant.taskdefs.optional.ejb.EjbJar +org.apache.tools.ant.taskdefs.optional.ejb.GenericDeploymentTool.getVendorDDPrefix(string, string);org.apache.tools.ant.taskdefs.optional.ejb.EjbJar +org.apache.tools.ant.taskdefs.SubAnt.copyProperty(property, property);org.apache.tools.ant.taskdefs.Property +org.apache.tools.ant.types.mappers.FilterMapper.mapFileName(string);org.apache.tools.ant.filters.util.ChainReaderHelper +org.apache.tools.ant.taskdefs.optional.net.FTPConfigurator.configure(ftp, ftpclient);org.apache.tools.ant.taskdefs.optional.net.FTP +org.apache.tools.ant.Diagnostics.doReportProxy(printstream);org.apache.tools.ant.util.ProxySetup diff --git a/data/labels/feature_envy/apache-tomcat.csv b/data/labels/feature_envy/apache-tomcat.csv new file mode 100644 index 0000000..b933ef1 --- /dev/null +++ b/data/labels/feature_envy/apache-tomcat.csv @@ -0,0 +1,45 @@ +org.apache.catalina.ssi.SSIFsize.process(printwriter, ssimediator, string, string, string);org.apache.catalina.ssi.SSIMediator +org.apache.coyote.http11.AbstractHttp11Processor.findBytes(byte, bytechunk);org.apache.tomcat.util.buf.ByteChunk +org.apache.jasper.compiler.ParserController.hasJspRoot(jspreader);org.apache.jasper.compiler.JspReader +org.apache.catalina.ssi.SSIMediator.formatDate(date, timezone);org.apache.catalina.util.Strftime +org.apache.catalina.authenticator.FormAuthenticator.matchRequest(request);org.apache.catalina.connector.Request +org.apache.catalina.connector.CoyoteAdapter.parseSessionSslId(request);org.apache.catalina.connector.Request +org.apache.catalina.connector.CoyoteAdapter.convertMB(messagebytes);org.apache.tomcat.util.buf.MessageBytes +org.apache.catalina.deploy.WebXml.mergeMultipartDef(boolean, multipartdef, multipartdef);org.apache.catalina.deploy.MultipartDef +org.apache.catalina.deploy.WebXml.mergeServlet(boolean, servletdef, servletdef);org.apache.catalina.deploy.ServletDef +org.apache.catalina.core.StandardContext.buildInjectionMap(namingresources);org.apache.catalina.deploy.NamingResources +org.apache.coyote.http11.Http11NioProtocol.createProcessor();org.apache.coyote.http11.AbstractHttp11Protocol +org.apache.catalina.tribes.group.interceptors.NonBlockingCoordinator.createData(coordinationmessage, memberimpl);org.apache.catalina.tribes.io.ChannelData +org.apache.tomcat.util.net.NioBlockingSelector.write(bytebuffer, long, mutableinteger, niochannel);org.apache.tomcat.util.net.NioChannel +org.apache.tomcat.util.net.NioBlockingSelector.read(bytebuffer, long, niochannel);org.apache.tomcat.util.net.NioChannel +org.apache.catalina.ha.authenticator.ClusterSingleSignOnListener.messageReceived(clustermessage);org.apache.catalina.ha.authenticator.SingleSignOnMessage +org.apache.catalina.startup.DigesterFactory.newDigester(boolean, boolean, ruleset);org.apache.tomcat.util.digester.Digester +org.apache.catalina.mbeans.MBeanFactory.createJDBCRealm(string, string, string, string, string);org.apache.catalina.realm.JDBCRealm +org.apache.catalina.mbeans.MBeanFactory.createDataSourceRealm(string, string, string, string, string, string, string);org.apache.catalina.realm.DataSourceRealm +org.apache.catalina.mbeans.MBeanFactory.createStandardHost(boolean, boolean, boolean, boolean, string, string, string);org.apache.catalina.core.StandardHost +org.apache.catalina.mbeans.MBeanFactory.createConnector(boolean, boolean, int, string, string);org.apache.catalina.connector.Connector +org.apache.tomcat.util.http.Cookies.unescapeDoubleQuotes(bytechunk);org.apache.tomcat.util.buf.ByteChunk +org.apache.tomcat.util.http.Cookies.getTokenEndPosition(boolean, byte, int, int, int);org.apache.tomcat.util.http.CookieSupport +org.apache.catalina.core.ApplicationFilterFactory.matchFiltersURL(filtermap, string);org.apache.catalina.deploy.FilterMap +org.apache.catalina.core.ApplicationFilterFactory.matchFiltersServlet(filtermap, string);org.apache.catalina.deploy.FilterMap +org.apache.jasper.compiler.Compiler.isOutDated(boolean);org.apache.jasper.JspCompilationContext +org.apache.el.parser.AstIdentifier.setValue(evaluationcontext, object);org.apache.el.lang.EvaluationContext +org.apache.el.parser.AstIdentifier.getType(evaluationcontext);org.apache.el.lang.EvaluationContext +org.apache.el.parser.AstIdentifier.isReadOnly(evaluationcontext);org.apache.el.lang.EvaluationContext +org.apache.el.parser.AstIdentifier.getValue(evaluationcontext);org.apache.el.lang.EvaluationContext +org.apache.catalina.connector.Request.isSSLAttribute(string);org.apache.catalina.Globals +org.apache.tomcat.util.http.mapper.Mapper.map(mappingdata, messagebytes, messagebytes);org.apache.tomcat.util.buf.MessageBytes +org.apache.tomcat.util.http.mapper.Mapper.internalMapExtensionWrapper(charchunk, mappingdata, wrapper);org.apache.tomcat.util.buf.CharChunk +org.apache.tomcat.util.buf.UDecoder.convert(boolean, messagebytes);org.apache.tomcat.util.buf.MessageBytes +org.apache.tomcat.util.buf.UDecoder.convert(boolean, charchunk);org.apache.tomcat.util.buf.CharChunk +org.apache.tomcat.util.buf.UDecoder.convert(boolean, bytechunk);org.apache.tomcat.util.buf.ByteChunk +org.apache.catalina.util.ManifestResource.getRequiredExtensions(manifest);org.apache.catalina.util.Extension +org.apache.catalina.util.ManifestResource.getAvailableExtensions(manifest);org.apache.catalina.util.Extension +org.apache.catalina.loader.WebappLoader.setPermissions();org.apache.catalina.loader.WebappClassLoader +org.apache.naming.resources.ProxyDirContext.validate(cacheentry);org.apache.naming.resources.CacheEntry +org.apache.naming.resources.ProxyDirContext.revalidate(cacheentry);org.apache.naming.resources.CacheEntry +org.apache.naming.resources.ProxyDirContext.lookupCache(string);org.apache.naming.resources.CacheEntry +org.apache.jasper.compiler.JspConfig.getVersion(treenode);org.apache.jasper.xmlparser.TreeNode +org.apache.coyote.http11.Http11Protocol.createProcessor();org.apache.coyote.http11.AbstractHttp11Protocol +org.apache.catalina.ha.session.SerializablePrincipal.createPrincipal(genericprincipal);org.apache.catalina.realm.GenericPrincipal +org.apache.catalina.ha.session.SerializablePrincipal.writePrincipal(genericprincipal, objectoutput);org.apache.catalina.realm.GenericPrincipal diff --git a/data/labels/feature_envy/argouml.csv b/data/labels/feature_envy/argouml.csv new file mode 100644 index 0000000..529ae1c --- /dev/null +++ b/data/labels/feature_envy/argouml.csv @@ -0,0 +1,13 @@ +org.argouml.cognitive.Designer.isConsidering(decision);org.argouml.cognitive.Decision +org.argouml.uml.cognitive.critics.CrReservedName.initWizard(wizard);org.argouml.uml.cognitive.critics.WizMEName +org.argouml.uml.notation.uml.InitNotationUml.init();org.argouml.notation.NotationProviderFactory2 +org.argouml.uml.cognitive.critics.CrDisambigClassName.initWizard(wizard);org.argouml.uml.cognitive.critics.WizMEName +org.argouml.uml.reveng.java.Modeller.getAttribute(object, string, string);org.argouml.uml.reveng.java.ParseState +org.argouml.uml.ui.ActionSaveAllGraphics.getFileChooser(project);org.argouml.kernel.Project +org.argouml.persistence.XmiFilePersister.doLoad(file);org.argouml.persistence.XMIParser +org.argouml.uml.cognitive.critics.CrNameConflict.initWizard(wizard);org.argouml.uml.cognitive.critics.WizMEName +org.argouml.model.uml.NSUMLEventListener.fire(propertychangeevent);org.argouml.model.uml.NSUMLModelEventPump +org.argouml.model.uml.EventListenerList.getListenerCount(eventkey, object);org.argouml.model.uml.EventKey +org.argouml.uml.diagram.sequence.ui.FigClassifierRole.setFromActionNode(int, int);org.argouml.uml.diagram.sequence.MessageNode +org.argouml.uml.notation.java.InitNotationJava.init();org.argouml.notation.NotationProviderFactory2 +org.argouml.language.java.generator.ClassifierEndCodePiece.write(bufferedreader, bufferedwriter, stack);org.argouml.language.java.generator.ParseState diff --git a/data/labels/feature_envy/jedit.csv b/data/labels/feature_envy/jedit.csv new file mode 100644 index 0000000..32655bd --- /dev/null +++ b/data/labels/feature_envy/jedit.csv @@ -0,0 +1,19 @@ +org.gjt.sp.jedit.textarea.JEditTextArea.setText(string);org.gjt.sp.jedit.buffer.JEditBuffer +org.gjt.sp.jedit.textarea.JEditTextArea.addExplicitFold(int, int, int, int);org.gjt.sp.jedit.buffer.JEditBuffer +org.gjt.sp.jedit.browser.VFSFileNameField.goToParent();org.gjt.sp.jedit.browser.VFSBrowser +org.gjt.sp.jedit.search.HyperSearchResults.handleMessage(ebmessage);org.gjt.sp.jedit.msg.BufferUpdate +org.gjt.sp.jedit.textarea.SelectionManager.insideSelection(int, int);org.gjt.sp.jedit.textarea.JEditTextArea +org.gjt.sp.jedit.textarea.SelectionManager.getSelectionStartAndEnd(int, int, selection);org.gjt.sp.jedit.textarea.JEditTextArea +org.gjt.sp.jedit.help.HelpViewer.handleMessage(ebmessage);org.gjt.sp.jedit.msg.PluginUpdate +org.gjt.sp.jedit.search.SearchAndReplace.replaceInSelection(boolean, buffer, jedittextarea, searchmatcher, selection, view);org.gjt.sp.jedit.textarea.Selection +org.gjt.sp.jedit.Buffer.checkFileForSave(string, vfs, view);org.gjt.sp.jedit.io.VFS +org.gjt.sp.jedit.Buffer.checkFileForLoad(string, vfs, view);org.gjt.sp.jedit.io.VFS +bsh.ClassGeneratorImpl.getDeclaredMethods(bshblock, callstack, interpreter, string);bsh.BSHMethodDeclaration +org.gjt.sp.jedit.options.PluginManagerOptionPane.getElementAt(int);org.gjt.sp.jedit.pluginmgr.MirrorList +org.gjt.sp.jedit.TextUtilities.getTokenAtOffset(int, token);org.gjt.sp.jedit.syntax.Token +org.gjt.sp.jedit.EditServer.handleClient(boolean, boolean, boolean, string, string);org.gjt.sp.jedit.jEdit +org.gjt.sp.jedit.Registers.paste(boolean, char, jedittextarea);org.gjt.sp.jedit.textarea.JEditTextArea +installer.TarEntry.writeEntryHeader(byte);installer.TarHeader +installer.TarEntry.nameTarHeader(string, tarheader);installer.TarHeader +installer.TarEntry.getFileTarHeader(file, tarheader);installer.TarHeader +installer.TarEntry.parseTarHeader(byte, tarheader);installer.TarHeader diff --git a/data/labels/feature_envy/lucene.csv b/data/labels/feature_envy/lucene.csv new file mode 100644 index 0000000..5039655 --- /dev/null +++ b/data/labels/feature_envy/lucene.csv @@ -0,0 +1,4 @@ +org.apache.lucene.index.IndexWriter.deleteFiles(directory, vector);org.apache.lucene.store.Directory +org.apache.lucene.index.IndexWriter.writeDeleteableFiles(vector);org.apache.lucene.store.Directory +org.apache.lucene.index.IndexWriter.readDeleteableFiles();org.apache.lucene.store.Directory +org.apache.lucene.search.PhrasePrefixQuery.createWeight(searcher);org.apache.lucene.search.BooleanQuery diff --git a/data/labels/feature_envy/xerces-2_7_0.csv b/data/labels/feature_envy/xerces-2_7_0.csv new file mode 100644 index 0000000..fb57639 --- /dev/null +++ b/data/labels/feature_envy/xerces-2_7_0.csv @@ -0,0 +1,30 @@ +org.apache.xerces.impl.xs.traversers.XSDComplexTypeTraverser.getErrorContent();org.apache.xerces.impl.xs.XSParticleDecl +org.apache.xerces.impl.dtd.XMLDTDProcessor.normalizeDefaultAttrValue(xmlstring);org.apache.xerces.xni.XMLString +org.apache.xerces.impl.dtd.DTDGrammar.appendContentSpec(boolean, int, stringbuffer, xmlcontentspec);org.apache.xerces.impl.dtd.XMLContentSpec +org.apache.xerces.xpointer.XPointerErrorHandler.printError(string, xmlparseexception);org.apache.xerces.xni.parser.XMLParseException +org.apache.xerces.impl.xs.SchemaGrammar.createAnnotationElementDecl(string);org.apache.xerces.impl.xs.XSElementDecl +org.apache.xerces.impl.xs.SchemaGrammar.createChoiceElementParticle(xselementdecl);org.apache.xerces.impl.xs.XSParticleDecl +org.apache.xerces.impl.xs.SchemaGrammar.createAnyLaxWildcardParticle();org.apache.xerces.impl.xs.XSParticleDecl +org.apache.xerces.jaxp.validation.ValidatorHandlerImpl.fillXMLAttributes2(attributes2);org.apache.xerces.util.XMLAttributesImpl +org.apache.xerces.dom.DocumentImpl.dispatchAggregateEvents(attrimpl, nodeimpl, short, string);org.apache.xerces.dom.AttrImpl +org.apache.xerces.dom.DeferredElementNSImpl.synchronizeData();org.apache.xerces.dom.DeferredDocumentImpl +org.apache.xerces.impl.XMLEntityScanner.getCharacterOffset();org.apache.xerces.impl.XMLEntityManager +org.apache.xerces.impl.XMLEntityScanner.skipSpaces();org.apache.xerces.impl.XMLEntityManager +org.apache.xerces.impl.XMLEntityScanner.scanData(string, xmlstringbuffer);org.apache.xerces.impl.XMLEntityManager +org.apache.xerces.impl.XMLEntityScanner.skipDeclSpaces();org.apache.xerces.impl.XMLEntityManager +org.apache.xerces.impl.XMLEntityScanner.setEncoding(string);org.apache.xerces.impl.XMLEntityManager +org.apache.xerces.impl.xs.models.CMBuilder.createAllCM(xsparticledecl);org.apache.xerces.impl.xs.XSParticleDecl +org.apache.xerces.impl.xs.traversers.XSDAbstractParticleTraverser.hasAllContent(xsparticledecl);org.apache.xerces.impl.xs.XSParticleDecl +org.apache.xml.serialize.BaseMarkupSerializer.modifyDOMError(node, short, string, string);org.apache.xerces.dom.DOMErrorImpl +org.apache.xml.serialize.BaseMarkupSerializer.enterElementState(boolean, string, string, string);org.apache.xml.serialize.ElementState +org.apache.xerces.dom.DOMNormalizer.reportDOMError(domerrorhandler, domerrorimpl, domlocatorimpl, short, string, string);org.apache.xerces.dom.DOMErrorImpl +org.apache.xerces.dom.DOMNormalizer.updateQName(node, qname);org.apache.xerces.xni.QName +org.apache.xerces.impl.XMLVersionDetector.fixupCurrentEntity(char, int, xmlentitymanager);org.apache.xerces.impl.XMLEntityManager +org.apache.xerces.xinclude.XIncludeHandler.checkWhitespace(xmlstring);org.apache.xerces.xni.XMLString +org.apache.xerces.impl.xs.XSConstraints.gatherChildren(int, vector, xsparticledecl);org.apache.xerces.impl.xs.XSParticleDecl +org.apache.xerces.impl.xs.XSConstraints.getNonUnaryGroup(xsparticledecl);org.apache.xerces.impl.xs.XSParticleDecl +org.apache.xerces.impl.XMLScanner.normalizeWhitespace(int, xmlstring);org.apache.xerces.xni.XMLString +org.apache.xerces.impl.XMLScanner.normalizeWhitespace(xmlstring);org.apache.xerces.xni.XMLString +org.apache.xerces.impl.XMLScanner.isUnchangedByNormalization(xmlstring);org.apache.xerces.xni.XMLString +org.apache.xerces.impl.xs.traversers.XSDHandler.findQName(string, xsdocumentinfo);org.apache.xerces.impl.xs.traversers.XSDocumentInfo +org.apache.xerces.impl.xs.traversers.XSDHandler.removeParticle(xsmodelgroupimpl, xsparticledecl);org.apache.xerces.impl.xs.XSModelGroupImpl diff --git a/data/labels/Blob/.DS_Store b/data/labels/god_class/.DS_Store similarity index 100% rename from data/labels/Blob/.DS_Store rename to data/labels/god_class/.DS_Store diff --git a/data/labels/Blob/generated/.DS_Store b/data/labels/god_class/generated/.DS_Store similarity index 100% rename from data/labels/Blob/generated/.DS_Store rename to data/labels/god_class/generated/.DS_Store diff --git a/data/labels/Blob/generated/apache-derby.csv b/data/labels/god_class/generated/apache-derby.csv similarity index 100% rename from data/labels/Blob/generated/apache-derby.csv rename to data/labels/god_class/generated/apache-derby.csv diff --git a/data/labels/Blob/generated/apache-log4j1.csv b/data/labels/god_class/generated/apache-log4j1.csv similarity index 100% rename from data/labels/Blob/generated/apache-log4j1.csv rename to data/labels/god_class/generated/apache-log4j1.csv diff --git a/data/labels/Blob/generated/apache-log4j2.csv b/data/labels/god_class/generated/apache-log4j2.csv similarity index 100% rename from data/labels/Blob/generated/apache-log4j2.csv rename to data/labels/god_class/generated/apache-log4j2.csv diff --git a/data/labels/Blob/generated/apache-velocity.csv b/data/labels/god_class/generated/apache-velocity.csv similarity index 100% rename from data/labels/Blob/generated/apache-velocity.csv rename to data/labels/god_class/generated/apache-velocity.csv diff --git a/data/labels/Blob/generated/javacc.csv b/data/labels/god_class/generated/javacc.csv similarity index 100% rename from data/labels/Blob/generated/javacc.csv rename to data/labels/god_class/generated/javacc.csv diff --git a/data/labels/Blob/generated/jena.csv b/data/labels/god_class/generated/jena.csv similarity index 100% rename from data/labels/Blob/generated/jena.csv rename to data/labels/god_class/generated/jena.csv diff --git a/data/labels/Blob/generated/jgraphx.csv b/data/labels/god_class/generated/jgraphx.csv similarity index 100% rename from data/labels/Blob/generated/jgraphx.csv rename to data/labels/god_class/generated/jgraphx.csv diff --git a/data/labels/Blob/generated/jgroups.csv b/data/labels/god_class/generated/jgroups.csv similarity index 100% rename from data/labels/Blob/generated/jgroups.csv rename to data/labels/god_class/generated/jgroups.csv diff --git a/data/labels/Blob/generated/jhotdraw.csv b/data/labels/god_class/generated/jhotdraw.csv similarity index 100% rename from data/labels/Blob/generated/jhotdraw.csv rename to data/labels/god_class/generated/jhotdraw.csv diff --git a/data/labels/Blob/generated/jspwiki.csv b/data/labels/god_class/generated/jspwiki.csv similarity index 100% rename from data/labels/Blob/generated/jspwiki.csv rename to data/labels/god_class/generated/jspwiki.csv diff --git a/data/labels/Blob/generated/junit.csv b/data/labels/god_class/generated/junit.csv similarity index 100% rename from data/labels/Blob/generated/junit.csv rename to data/labels/god_class/generated/junit.csv diff --git a/data/labels/Blob/generated/mongodb.csv b/data/labels/god_class/generated/mongodb.csv similarity index 100% rename from data/labels/Blob/generated/mongodb.csv rename to data/labels/god_class/generated/mongodb.csv diff --git a/data/labels/Blob/generated/pmd.csv b/data/labels/god_class/generated/pmd.csv similarity index 100% rename from data/labels/Blob/generated/pmd.csv rename to data/labels/god_class/generated/pmd.csv diff --git a/data/labels/Blob/hand_validated/.DS_Store b/data/labels/god_class/hand_validated/.DS_Store similarity index 100% rename from data/labels/Blob/hand_validated/.DS_Store rename to data/labels/god_class/hand_validated/.DS_Store diff --git a/data/labels/Blob/hand_validated/android-frameworks-opt-telephony.csv b/data/labels/god_class/hand_validated/android-frameworks-opt-telephony.csv similarity index 100% rename from data/labels/Blob/hand_validated/android-frameworks-opt-telephony.csv rename to data/labels/god_class/hand_validated/android-frameworks-opt-telephony.csv diff --git a/data/labels/Blob/hand_validated/android-platform-support.csv b/data/labels/god_class/hand_validated/android-platform-support.csv similarity index 100% rename from data/labels/Blob/hand_validated/android-platform-support.csv rename to data/labels/god_class/hand_validated/android-platform-support.csv diff --git a/data/labels/Blob/hand_validated/apache-ant.csv b/data/labels/god_class/hand_validated/apache-ant.csv similarity index 100% rename from data/labels/Blob/hand_validated/apache-ant.csv rename to data/labels/god_class/hand_validated/apache-ant.csv diff --git a/data/labels/Blob/hand_validated/apache-tomcat.csv b/data/labels/god_class/hand_validated/apache-tomcat.csv similarity index 100% rename from data/labels/Blob/hand_validated/apache-tomcat.csv rename to data/labels/god_class/hand_validated/apache-tomcat.csv diff --git a/data/labels/Blob/hand_validated/argouml.csv b/data/labels/god_class/hand_validated/argouml.csv similarity index 100% rename from data/labels/Blob/hand_validated/argouml.csv rename to data/labels/god_class/hand_validated/argouml.csv diff --git a/data/labels/Blob/hand_validated/jedit.csv b/data/labels/god_class/hand_validated/jedit.csv similarity index 100% rename from data/labels/Blob/hand_validated/jedit.csv rename to data/labels/god_class/hand_validated/jedit.csv diff --git a/data/labels/Blob/hand_validated/lucene.csv b/data/labels/god_class/hand_validated/lucene.csv similarity index 100% rename from data/labels/Blob/hand_validated/lucene.csv rename to data/labels/god_class/hand_validated/lucene.csv diff --git a/data/labels/Blob/hand_validated/xerces-2_7_0.csv b/data/labels/god_class/hand_validated/xerces-2_7_0.csv similarity index 100% rename from data/labels/Blob/hand_validated/xerces-2_7_0.csv rename to data/labels/god_class/hand_validated/xerces-2_7_0.csv diff --git a/dataConstruction/.DS_Store b/data_construction/.DS_Store similarity index 100% rename from dataConstruction/.DS_Store rename to data_construction/.DS_Store diff --git a/dataConstruction/__init__.py b/data_construction/__init__.py similarity index 100% rename from dataConstruction/__init__.py rename to data_construction/__init__.py diff --git a/dataConstruction/oracle_feature_envy/.DS_Store b/data_construction/oracle_feature_envy/.DS_Store similarity index 100% rename from dataConstruction/oracle_feature_envy/.DS_Store rename to data_construction/oracle_feature_envy/.DS_Store diff --git a/dataConstruction/oracle_feature_envy/candidate_set/README.txt b/data_construction/oracle_feature_envy/candidate_set/README.txt similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/README.txt rename to data_construction/oracle_feature_envy/candidate_set/README.txt diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_1.csv b/data_construction/oracle_feature_envy/candidate_set/smells_01.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_1.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_01.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_2.csv b/data_construction/oracle_feature_envy/candidate_set/smells_02.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_2.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_02.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_3.csv b/data_construction/oracle_feature_envy/candidate_set/smells_03.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_3.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_03.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_4.csv b/data_construction/oracle_feature_envy/candidate_set/smells_04.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_4.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_04.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_5.csv b/data_construction/oracle_feature_envy/candidate_set/smells_05.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_5.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_05.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_6.csv b/data_construction/oracle_feature_envy/candidate_set/smells_06.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_6.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_06.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_7.csv b/data_construction/oracle_feature_envy/candidate_set/smells_07.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_7.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_07.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_8.csv b/data_construction/oracle_feature_envy/candidate_set/smells_08.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_8.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_08.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_9.csv b/data_construction/oracle_feature_envy/candidate_set/smells_09.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_9.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_09.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_10.csv b/data_construction/oracle_feature_envy/candidate_set/smells_10.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_10.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_10.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_11.csv b/data_construction/oracle_feature_envy/candidate_set/smells_11.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_11.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_11.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_12.csv b/data_construction/oracle_feature_envy/candidate_set/smells_12.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_12.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_12.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_13.csv b/data_construction/oracle_feature_envy/candidate_set/smells_13.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_13.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_13.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_14.csv b/data_construction/oracle_feature_envy/candidate_set/smells_14.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_14.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_14.csv diff --git a/dataConstruction/oracle_feature_envy/candidate_set/smells_15.csv b/data_construction/oracle_feature_envy/candidate_set/smells_15.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/candidate_set/smells_15.csv rename to data_construction/oracle_feature_envy/candidate_set/smells_15.csv diff --git a/dataConstruction/oracle_feature_envy/context.py b/data_construction/oracle_feature_envy/context.py similarity index 91% rename from dataConstruction/oracle_feature_envy/context.py rename to data_construction/oracle_feature_envy/context.py index 3f60968..589acb4 100644 --- a/dataConstruction/oracle_feature_envy/context.py +++ b/data_construction/oracle_feature_envy/context.py @@ -5,7 +5,6 @@ sys.path.insert(0, ROOT_DIR) import utils.entityUtils as entityUtils -import utils.reader as reader import detection_tools.replication.feature_envy.hist as hist import detection_tools.replication.feature_envy.incode as incode diff --git a/dataConstruction/oracle_feature_envy/createCandidateSet.py b/data_construction/oracle_feature_envy/createCandidateSet.py similarity index 81% rename from dataConstruction/oracle_feature_envy/createCandidateSet.py rename to data_construction/oracle_feature_envy/createCandidateSet.py index dd84454..43889d4 100644 --- a/dataConstruction/oracle_feature_envy/createCandidateSet.py +++ b/data_construction/oracle_feature_envy/createCandidateSet.py @@ -1,4 +1,4 @@ -from context import ROOT_DIR, reader, entityUtils, hist, incode, jdeodorant +from context import ROOT_DIR, entityUtils, hist, incode, jdeodorant import numpy as np @@ -15,42 +15,42 @@ { 'name' : 'android-frameworks-opt-telephony', 'hist_params' : 1.3, - 'incode_params': [3.0, 4.0, 2.0] + 'incode_params': (3.0, 4.0, 2.0) }, { 'name' : 'android-platform-support', 'hist_params' : 1.0, - 'incode_params': [2.0, 2.5, 4.0] + 'incode_params': (2.0, 2.5, 4.0) }, { 'name' : 'apache-ant', 'hist_params' : 2.5, - 'incode_params': [3.0, 3.0, 3.0] + 'incode_params': (3.0, 3.0, 3.0) }, { 'name' : 'apache-tomcat', 'hist_params' : 2.0, - 'incode_params': [3.0, 3.0, 3.0] + 'incode_params': (3.0, 3.0, 3.0) }, { 'name' : 'lucene', 'hist_params' : 1.3, - 'incode_params': [2.0, 2.0, 3.0] + 'incode_params': (2.0, 2.0, 3.0) }, { 'name' : 'argouml', 'hist_params' : 2.5, - 'incode_params': [2.0, 3.0, 3.0] + 'incode_params': (2.0, 3.0, 3.0) }, { 'name' : 'jedit', 'hist_params' : 2.0, - 'incode_params': [3.0, 3.0, 3.0] + 'incode_params': (3.0, 3.0, 3.0) }, { 'name' : 'xerces-2_7_0', 'hist_params' : 2.0, - 'incode_params': [4.0, 3.0, 3.0] + 'incode_params': (4.0, 3.0, 3.0) } ] @@ -62,7 +62,7 @@ def getSmells(system): smells = [] smells += jdeodorant.getSmells(system['name']) smells += hist.getSmells(system['name'], system['hist_params']) - smells += incode.getSmells(system['name'], system['incode_params'][0], system['incode_params'][1], system['incode_params'][2]) + smells += incode.getSmells(system['name'], *system['incode_params']) #Shuffle and remove duplicates random.shuffle(smells) @@ -96,15 +96,15 @@ def getMethodToNameMap(systemName): methodToNameMap = {} with open(metFile, 'rb') as csvfile: - rdr = csv.DictReader(csvfile, delimiter=';') - for row in rdr: + reader = csv.DictReader(csvfile, delimiter=';') + for row in reader: methodToNameMap[row['NORM_NAME']] = row['NAME'] return methodToNameMap if __name__ == "__main__": - + ''' # Must create a directory TEMP/ containing all the systems repositories # at the considered snapshots before using this script @@ -122,8 +122,8 @@ def getMethodToNameMap(systemName): classPathFile = ROOT_DIR + '/data/entities/classes_all/' + system['name'] + '.csv' classToPathMap = {} with open(classPathFile, 'rb') as csvfile: - rdr = csv.DictReader(csvfile, delimiter=';') - for row in rdr: + reader = csv.DictReader(csvfile, delimiter=';') + for row in reader: classToPathMap[row['Entity']] = row['Path'] startURL = "https://github.com/antoineBarbez/feature_envy/blob/master/" + system['name'] + "/" @@ -166,4 +166,16 @@ def getMethodToNameMap(systemName): f.write(',') f.write('"' + startURL + enviedClassFileName + '"') f.write('\n') +''' + + nb = 0 + for system in systems: + smells = [] + smells += jdeodorant.getSmells(system['name']) + smells += hist.getSmells(system['name'], system['hist_params']) + smells += incode.getSmells(system['name'], *system['incode_params']) + + nb += len(set(smells)) + + print(system['name'] + ': ' + str(nb)) diff --git a/data_construction/oracle_feature_envy/createLabels.py b/data_construction/oracle_feature_envy/createLabels.py new file mode 100644 index 0000000..d8970fc --- /dev/null +++ b/data_construction/oracle_feature_envy/createLabels.py @@ -0,0 +1,92 @@ +from context import ROOT_DIR, entityUtils + +import csv +import fnmatch +import os + +systems = [ + { + 'name' : 'android-frameworks-opt-telephony', + 'end_index': 62, + }, + { + 'name' : 'android-platform-support', + 'end_index': 83, + }, + { + 'name' : 'apache-ant', + 'end_index': 193, + }, + { + 'name' : 'apache-tomcat', + 'end_index': 366, + }, + { + 'name' : 'lucene', + 'end_index': 408, + }, + { + 'name': 'argouml', + 'end_index': 552, + }, + { + 'name' : 'jedit', + 'end_index': 650, + }, + { + 'name' : 'xerces-2_7_0', + 'end_index': 779, + } + ] + +def getScore(answer): + if answer == 'Strongly approve': + return 1.0 + elif answer == 'Weakly approve': + return 0.66 + elif answer == 'Weakly disapprove': + return 0.33 + else: + return 0.0 + +def getAnswers(): + answerDir = os.path.join(ROOT_DIR, 'data_construction/oracle_feature_envy/forms_answers') + + answers = [] + for path, dirs, files in os.walk(answerDir): + for file in fnmatch.filter(sorted(files), '*.csv'): + with open(os.path.join(path, file), 'r') as csvFile: + reader = csv.DictReader(csvFile, delimiter=';') + answers += [row['ANSWER'] for row in reader] + + return answers + +def getCandidates(): + candidateDir = os.path.join(ROOT_DIR, 'data_construction/oracle_feature_envy/candidate_set/') + + candidates = [] + for path, dirs, files in os.walk(candidateDir): + for file in fnmatch.filter(sorted(files), '*.csv'): + with open(os.path.join(path, file), 'r') as csvFile: + reader = csv.DictReader(csvFile) + candidates += [row['EMBED_CLASS'] + '.' + entityUtils.normalizeMethodName(row['METHOD']) + ';' + row['ENVIED_CLASS'] for row in reader] + + return candidates + + +startIndex = 0 +answers = getAnswers() +candidates = getCandidates() +for system in systems: + endIndex = system['end_index'] + smells = [candidates[i] for i in range(startIndex, endIndex) if getScore(answers[i]) >= 0.5] + startIndex = endIndex + + labelFile = os.path.join(ROOT_DIR, 'data/labels/feature_envy/' + system['name'] + '.csv') + + with open(labelFile, 'w') as file: + for smell in smells: + file.write(smell + '\n') + + + diff --git a/dataConstruction/oracle_feature_envy/forms_answers/README.txt b/data_construction/oracle_feature_envy/forms_answers/README.txt similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/README.txt rename to data_construction/oracle_feature_envy/forms_answers/README.txt diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_1.csv b/data_construction/oracle_feature_envy/forms_answers/form_01.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_1.csv rename to data_construction/oracle_feature_envy/forms_answers/form_01.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_2.csv b/data_construction/oracle_feature_envy/forms_answers/form_02.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_2.csv rename to data_construction/oracle_feature_envy/forms_answers/form_02.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_3.csv b/data_construction/oracle_feature_envy/forms_answers/form_03.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_3.csv rename to data_construction/oracle_feature_envy/forms_answers/form_03.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_4.csv b/data_construction/oracle_feature_envy/forms_answers/form_04.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_4.csv rename to data_construction/oracle_feature_envy/forms_answers/form_04.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_5.csv b/data_construction/oracle_feature_envy/forms_answers/form_05.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_5.csv rename to data_construction/oracle_feature_envy/forms_answers/form_05.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_6.csv b/data_construction/oracle_feature_envy/forms_answers/form_06.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_6.csv rename to data_construction/oracle_feature_envy/forms_answers/form_06.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_7.csv b/data_construction/oracle_feature_envy/forms_answers/form_07.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_7.csv rename to data_construction/oracle_feature_envy/forms_answers/form_07.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_8.csv b/data_construction/oracle_feature_envy/forms_answers/form_08.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_8.csv rename to data_construction/oracle_feature_envy/forms_answers/form_08.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_9.csv b/data_construction/oracle_feature_envy/forms_answers/form_09.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_9.csv rename to data_construction/oracle_feature_envy/forms_answers/form_09.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_10.csv b/data_construction/oracle_feature_envy/forms_answers/form_10.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_10.csv rename to data_construction/oracle_feature_envy/forms_answers/form_10.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_11.csv b/data_construction/oracle_feature_envy/forms_answers/form_11.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_11.csv rename to data_construction/oracle_feature_envy/forms_answers/form_11.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_12.csv b/data_construction/oracle_feature_envy/forms_answers/form_12.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_12.csv rename to data_construction/oracle_feature_envy/forms_answers/form_12.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_13.csv b/data_construction/oracle_feature_envy/forms_answers/form_13.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_13.csv rename to data_construction/oracle_feature_envy/forms_answers/form_13.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_14.csv b/data_construction/oracle_feature_envy/forms_answers/form_14.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_14.csv rename to data_construction/oracle_feature_envy/forms_answers/form_14.csv diff --git a/dataConstruction/oracle_feature_envy/forms_answers/form_15.csv b/data_construction/oracle_feature_envy/forms_answers/form_15.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/forms_answers/form_15.csv rename to data_construction/oracle_feature_envy/forms_answers/form_15.csv diff --git a/dataConstruction/oracle_feature_envy/methodFiles/android-frameworks-opt-telephony.csv b/data_construction/oracle_feature_envy/methodFiles/android-frameworks-opt-telephony.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/methodFiles/android-frameworks-opt-telephony.csv rename to data_construction/oracle_feature_envy/methodFiles/android-frameworks-opt-telephony.csv diff --git a/dataConstruction/oracle_feature_envy/methodFiles/android-platform-support.csv b/data_construction/oracle_feature_envy/methodFiles/android-platform-support.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/methodFiles/android-platform-support.csv rename to data_construction/oracle_feature_envy/methodFiles/android-platform-support.csv diff --git a/dataConstruction/oracle_feature_envy/methodFiles/apache-ant.csv b/data_construction/oracle_feature_envy/methodFiles/apache-ant.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/methodFiles/apache-ant.csv rename to data_construction/oracle_feature_envy/methodFiles/apache-ant.csv diff --git a/dataConstruction/oracle_feature_envy/methodFiles/apache-tomcat.csv b/data_construction/oracle_feature_envy/methodFiles/apache-tomcat.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/methodFiles/apache-tomcat.csv rename to data_construction/oracle_feature_envy/methodFiles/apache-tomcat.csv diff --git a/dataConstruction/oracle_feature_envy/methodFiles/argouml.csv b/data_construction/oracle_feature_envy/methodFiles/argouml.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/methodFiles/argouml.csv rename to data_construction/oracle_feature_envy/methodFiles/argouml.csv diff --git a/dataConstruction/oracle_feature_envy/methodFiles/jedit.csv b/data_construction/oracle_feature_envy/methodFiles/jedit.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/methodFiles/jedit.csv rename to data_construction/oracle_feature_envy/methodFiles/jedit.csv diff --git a/dataConstruction/oracle_feature_envy/methodFiles/lucene.csv b/data_construction/oracle_feature_envy/methodFiles/lucene.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/methodFiles/lucene.csv rename to data_construction/oracle_feature_envy/methodFiles/lucene.csv diff --git a/dataConstruction/oracle_feature_envy/methodFiles/xerces-2_7_0.csv b/data_construction/oracle_feature_envy/methodFiles/xerces-2_7_0.csv similarity index 100% rename from dataConstruction/oracle_feature_envy/methodFiles/xerces-2_7_0.csv rename to data_construction/oracle_feature_envy/methodFiles/xerces-2_7_0.csv diff --git a/data/labels/Feature_envy/test/.DS_Store b/data_construction/repository_miner/.DS_Store similarity index 100% rename from data/labels/Feature_envy/test/.DS_Store rename to data_construction/repository_miner/.DS_Store diff --git a/dataConstruction/repository_miner/context.py b/data_construction/repository_miner/context.py similarity index 100% rename from dataConstruction/repository_miner/context.py rename to data_construction/repository_miner/context.py diff --git a/dataConstruction/repository_miner/history_extractor.py b/data_construction/repository_miner/history_extractor.py similarity index 100% rename from dataConstruction/repository_miner/history_extractor.py rename to data_construction/repository_miner/history_extractor.py diff --git a/dataConstruction/repository_miner/repository_miner.py b/data_construction/repository_miner/repository_miner.py similarity index 100% rename from dataConstruction/repository_miner/repository_miner.py rename to data_construction/repository_miner/repository_miner.py diff --git a/dataConstruction/repository_miner/systems.py b/data_construction/repository_miner/systems.py similarity index 100% rename from dataConstruction/repository_miner/systems.py rename to data_construction/repository_miner/systems.py diff --git a/detection_tools/.DS_Store b/detection_tools/.DS_Store index 6b0a177..b1d282a 100644 Binary files a/detection_tools/.DS_Store and b/detection_tools/.DS_Store differ diff --git a/detection_tools/confidence_metrics.py b/detection_tools/confidence_metrics.py index 627272e..2df3cdf 100644 --- a/detection_tools/confidence_metrics.py +++ b/detection_tools/confidence_metrics.py @@ -1,4 +1,4 @@ -from context import ROOT_DIR, reader +from context import ROOT_DIR, dataUtils import csv import os @@ -20,14 +20,14 @@ def computeDecorGCCM(nmdNad, nmdNadBound, lcom5, lcom5Bound, cc, nbDataClass): def getDecorGCCM(systemName): DecorBlobFile = os.path.join(ROOT_DIR, 'detection_tools/metrics_files/god_class/Decor/' + systemName + '.csv') - classes = reader.getClasses(systemName) + classes = dataUtils.getClasses(systemName) dictionnary = {classes[i]: 0 for i in range(len(classes))} with open(DecorBlobFile, 'rb') as csvfile: - rdr = csv.DictReader(csvfile, delimiter=';') + reader = csv.DictReader(csvfile, delimiter=';') - for row in rdr: + for row in reader: if row['ClassName'] in classes: dictionnary[row['ClassName']] = computeDecorGCCM( row['NMD+NAD'], row['nmdNadBound'], @@ -42,7 +42,7 @@ def getDecorGCCM(systemName): def getJDeodorantGCCM(systemName): JDBlobFile = os.path.join(ROOT_DIR, 'detection_tools/metrics_files/god_class/JDeodorant/' + systemName + '.txt') - classes = reader.getClasses(systemName) + classes = dataUtils.getClasses(systemName) dictionnary = {classes[i]: 0 for i in range(len(classes))} @@ -57,7 +57,7 @@ def getJDeodorantGCCM(systemName): def getHistGCCM(systemName): - classes = reader.getClasses(systemName) + classes = dataUtils.getClasses(systemName) classToIndexMap = {klass: i for i, klass in enumerate(classes)} # Create an history list containing the names of the classes that changed in each commit. @@ -65,7 +65,7 @@ def getHistGCCM(systemName): # and class1, class2, class3 changed in the second commit, etc ... # The history list will be [[class1, Class3], [class1, class2, class3], ...] - history_dict = reader.getHistory(systemName, "C") + history_dict = dataUtils.getHistory(systemName, "C") history = [] commit = [] diff --git a/detection_tools/context.py b/detection_tools/context.py index bf5e0d4..283d4c8 100644 --- a/detection_tools/context.py +++ b/detection_tools/context.py @@ -5,4 +5,4 @@ sys.path.insert(0, ROOT_DIR) import utils.entityUtils as entityUtils -import utils.reader as reader \ No newline at end of file +import utils.dataUtils as dataUtils \ No newline at end of file diff --git a/detection_tools/replication/feature_envy/context.py b/detection_tools/replication/feature_envy/context.py index c990233..36e1251 100644 --- a/detection_tools/replication/feature_envy/context.py +++ b/detection_tools/replication/feature_envy/context.py @@ -5,4 +5,4 @@ sys.path.insert(0, ROOT_DIR) import utils.entityUtils as entityUtils -import utils.reader as reader \ No newline at end of file +import utils.dataUtils as dataUtils \ No newline at end of file diff --git a/detection_tools/replication/feature_envy/hist.py b/detection_tools/replication/feature_envy/hist.py index 3fe8975..78517b3 100644 --- a/detection_tools/replication/feature_envy/hist.py +++ b/detection_tools/replication/feature_envy/hist.py @@ -1,5 +1,5 @@ from __future__ import division -from context import reader, entityUtils +from context import dataUtils, entityUtils import numpy as np @@ -8,13 +8,13 @@ def getSmells(systemName, alpha): - methods = reader.getMethods(systemName) + methods = dataUtils.getMethods(systemName) methodsReverseDictionnary = {methods[i]: i for i in range(len(methods))} - classes = reader.getAllClasses(systemName) + classes = dataUtils.getAllClasses(systemName) classesReverseDictionnary = {classes[i]: i for i in range(len(classes))} - history_dict = reader.getHistory(systemName, "M") + history_dict = dataUtils.getHistory(systemName, "M") history = [] commit = [] diff --git a/detection_tools/replication/feature_envy/incode.py b/detection_tools/replication/feature_envy/incode.py index 060a8fe..936d833 100644 --- a/detection_tools/replication/feature_envy/incode.py +++ b/detection_tools/replication/feature_envy/incode.py @@ -1,5 +1,5 @@ from __future__ import division -from context import ROOT_DIR, reader, entityUtils +from context import ROOT_DIR, dataUtils, entityUtils import csv @@ -7,8 +7,8 @@ def getSmells(systemName, atfd, laa, fdp): incodeMetricsFile = ROOT_DIR + '/detection_tools/metrics_files/feature_envy/InCode/' + systemName + '.csv' - classes = reader.getAllClasses(systemName) - methods = reader.getMethods(systemName) + classes = dataUtils.getAllClasses(systemName) + methods = dataUtils.getMethods(systemName) smells = [] currentMethodName = '' @@ -18,8 +18,8 @@ def getSmells(systemName, atfd, laa, fdp): nbLines = len(csvfile.readlines()) - 2 csvfile.seek(0) - rdr = csv.DictReader(csvfile, delimiter=';') - for row in rdr: + reader = csv.DictReader(csvfile, delimiter=';') + for row in reader: className = row['Class'] methodName = className + '.' + row['Method'] diff --git a/detection_tools/replication/feature_envy/jdeodorant.py b/detection_tools/replication/feature_envy/jdeodorant.py index a6530bf..7d1b17f 100644 --- a/detection_tools/replication/feature_envy/jdeodorant.py +++ b/detection_tools/replication/feature_envy/jdeodorant.py @@ -1,12 +1,12 @@ from __future__ import division -from context import ROOT_DIR, reader, entityUtils +from context import ROOT_DIR, dataUtils, entityUtils def getSmells(systemName): JDFEFile = ROOT_DIR + '/detection_tools/metrics_files/feature_envy/JDeodorant/' + systemName + '.txt' - methods = reader.getMethods(systemName) + methods = dataUtils.getMethods(systemName) smells = [] with open(JDFEFile, 'r') as file: i = 0 diff --git a/neural-networks/.DS_Store b/neural_networks/.DS_Store similarity index 100% rename from neural-networks/.DS_Store rename to neural_networks/.DS_Store diff --git a/neural-networks/convHIST/.DS_Store b/neural_networks/convHIST/.DS_Store similarity index 100% rename from neural-networks/convHIST/.DS_Store rename to neural_networks/convHIST/.DS_Store diff --git a/neural-networks/convHIST/convHIST.py b/neural_networks/convHIST/convHIST.py similarity index 100% rename from neural-networks/convHIST/convHIST.py rename to neural_networks/convHIST/convHIST.py diff --git a/neural-networks/convHIST/test.py b/neural_networks/convHIST/test.py similarity index 100% rename from neural-networks/convHIST/test.py rename to neural_networks/convHIST/test.py diff --git a/neural-networks/convHIST/train.py b/neural_networks/convHIST/train.py similarity index 100% rename from neural-networks/convHIST/train.py rename to neural_networks/convHIST/train.py diff --git a/neural-networks/convHIST/trained_models/.DS_Store b/neural_networks/convHIST/trained_models/.DS_Store similarity index 100% rename from neural-networks/convHIST/trained_models/.DS_Store rename to neural_networks/convHIST/trained_models/.DS_Store diff --git a/dataConstruction/repository_miner/.DS_Store b/neural_networks/convHIST/trained_models/final/.DS_Store similarity index 100% rename from dataConstruction/repository_miner/.DS_Store rename to neural_networks/convHIST/trained_models/final/.DS_Store diff --git a/neural-networks/convHIST/trained_models/final/checkpoint b/neural_networks/convHIST/trained_models/final/checkpoint similarity index 100% rename from neural-networks/convHIST/trained_models/final/checkpoint rename to neural_networks/convHIST/trained_models/final/checkpoint diff --git a/neural-networks/convHIST/trained_models/final/network0.data-00000-of-00001 b/neural_networks/convHIST/trained_models/final/network0.data-00000-of-00001 similarity index 100% rename from neural-networks/convHIST/trained_models/final/network0.data-00000-of-00001 rename to neural_networks/convHIST/trained_models/final/network0.data-00000-of-00001 diff --git a/neural-networks/convHIST/trained_models/final/network0.index b/neural_networks/convHIST/trained_models/final/network0.index similarity index 100% rename from neural-networks/convHIST/trained_models/final/network0.index rename to neural_networks/convHIST/trained_models/final/network0.index diff --git a/neural-networks/convHIST/trained_models/final/network0.meta b/neural_networks/convHIST/trained_models/final/network0.meta similarity index 100% rename from neural-networks/convHIST/trained_models/final/network0.meta rename to neural_networks/convHIST/trained_models/final/network0.meta diff --git a/neural-networks/customLoss.py b/neural_networks/customLoss.py similarity index 100% rename from neural-networks/customLoss.py rename to neural_networks/customLoss.py diff --git a/neural-networks/evaluateModel.py b/neural_networks/evaluateModel.py similarity index 100% rename from neural-networks/evaluateModel.py rename to neural_networks/evaluateModel.py diff --git a/neural-networks/fullyConnectedLayer.py b/neural_networks/fullyConnectedLayer.py similarity index 100% rename from neural-networks/fullyConnectedLayer.py rename to neural_networks/fullyConnectedLayer.py diff --git a/neural-networks/mergedDetection/.DS_Store b/neural_networks/mergedDetection/.DS_Store similarity index 100% rename from neural-networks/mergedDetection/.DS_Store rename to neural_networks/mergedDetection/.DS_Store diff --git a/neural-networks/mergedDetection/createBlobLabels.py b/neural_networks/mergedDetection/createBlobLabels.py similarity index 100% rename from neural-networks/mergedDetection/createBlobLabels.py rename to neural_networks/mergedDetection/createBlobLabels.py diff --git a/neural-networks/mergedDetection/mergedDetection.py b/neural_networks/mergedDetection/mergedDetection.py similarity index 100% rename from neural-networks/mergedDetection/mergedDetection.py rename to neural_networks/mergedDetection/mergedDetection.py diff --git a/neural-networks/mergedDetection/train.py b/neural_networks/mergedDetection/train.py similarity index 100% rename from neural-networks/mergedDetection/train.py rename to neural_networks/mergedDetection/train.py diff --git a/neural-networks/mergedDetection/trained_models/.DS_Store b/neural_networks/mergedDetection/trained_models/.DS_Store similarity index 100% rename from neural-networks/mergedDetection/trained_models/.DS_Store rename to neural_networks/mergedDetection/trained_models/.DS_Store diff --git a/neural-networks/convHIST/trained_models/final/.DS_Store b/neural_networks/mergedDetection/trained_models/final/.DS_Store similarity index 100% rename from neural-networks/convHIST/trained_models/final/.DS_Store rename to neural_networks/mergedDetection/trained_models/final/.DS_Store diff --git a/neural-networks/mergedDetection/trained_models/final/checkpoint b/neural_networks/mergedDetection/trained_models/final/checkpoint similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/checkpoint rename to neural_networks/mergedDetection/trained_models/final/checkpoint diff --git a/neural-networks/mergedDetection/trained_models/final/network0.data-00000-of-00001 b/neural_networks/mergedDetection/trained_models/final/network0.data-00000-of-00001 similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network0.data-00000-of-00001 rename to neural_networks/mergedDetection/trained_models/final/network0.data-00000-of-00001 diff --git a/neural-networks/mergedDetection/trained_models/final/network0.index b/neural_networks/mergedDetection/trained_models/final/network0.index similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network0.index rename to neural_networks/mergedDetection/trained_models/final/network0.index diff --git a/neural-networks/mergedDetection/trained_models/final/network0.meta b/neural_networks/mergedDetection/trained_models/final/network0.meta similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network0.meta rename to neural_networks/mergedDetection/trained_models/final/network0.meta diff --git a/neural-networks/mergedDetection/trained_models/final/network1.data-00000-of-00001 b/neural_networks/mergedDetection/trained_models/final/network1.data-00000-of-00001 similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network1.data-00000-of-00001 rename to neural_networks/mergedDetection/trained_models/final/network1.data-00000-of-00001 diff --git a/neural-networks/mergedDetection/trained_models/final/network1.index b/neural_networks/mergedDetection/trained_models/final/network1.index similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network1.index rename to neural_networks/mergedDetection/trained_models/final/network1.index diff --git a/neural-networks/mergedDetection/trained_models/final/network1.meta b/neural_networks/mergedDetection/trained_models/final/network1.meta similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network1.meta rename to neural_networks/mergedDetection/trained_models/final/network1.meta diff --git a/neural-networks/mergedDetection/trained_models/final/network2.data-00000-of-00001 b/neural_networks/mergedDetection/trained_models/final/network2.data-00000-of-00001 similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network2.data-00000-of-00001 rename to neural_networks/mergedDetection/trained_models/final/network2.data-00000-of-00001 diff --git a/neural-networks/mergedDetection/trained_models/final/network2.index b/neural_networks/mergedDetection/trained_models/final/network2.index similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network2.index rename to neural_networks/mergedDetection/trained_models/final/network2.index diff --git a/neural-networks/mergedDetection/trained_models/final/network2.meta b/neural_networks/mergedDetection/trained_models/final/network2.meta similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network2.meta rename to neural_networks/mergedDetection/trained_models/final/network2.meta diff --git a/neural-networks/mergedDetection/trained_models/final/network3.data-00000-of-00001 b/neural_networks/mergedDetection/trained_models/final/network3.data-00000-of-00001 similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network3.data-00000-of-00001 rename to neural_networks/mergedDetection/trained_models/final/network3.data-00000-of-00001 diff --git a/neural-networks/mergedDetection/trained_models/final/network3.index b/neural_networks/mergedDetection/trained_models/final/network3.index similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network3.index rename to neural_networks/mergedDetection/trained_models/final/network3.index diff --git a/neural-networks/mergedDetection/trained_models/final/network3.meta b/neural_networks/mergedDetection/trained_models/final/network3.meta similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network3.meta rename to neural_networks/mergedDetection/trained_models/final/network3.meta diff --git a/neural-networks/mergedDetection/trained_models/final/network4.data-00000-of-00001 b/neural_networks/mergedDetection/trained_models/final/network4.data-00000-of-00001 similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network4.data-00000-of-00001 rename to neural_networks/mergedDetection/trained_models/final/network4.data-00000-of-00001 diff --git a/neural-networks/mergedDetection/trained_models/final/network4.index b/neural_networks/mergedDetection/trained_models/final/network4.index similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network4.index rename to neural_networks/mergedDetection/trained_models/final/network4.index diff --git a/neural-networks/mergedDetection/trained_models/final/network4.meta b/neural_networks/mergedDetection/trained_models/final/network4.meta similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/network4.meta rename to neural_networks/mergedDetection/trained_models/final/network4.meta diff --git a/neural-networks/mergedDetection/trained_models/final/.DS_Store b/neural_networks/mergedDetection/trained_models/train/.DS_Store similarity index 100% rename from neural-networks/mergedDetection/trained_models/final/.DS_Store rename to neural_networks/mergedDetection/trained_models/train/.DS_Store diff --git a/neural-networks/transformData.py b/neural_networks/transformData.py similarity index 100% rename from neural-networks/transformData.py rename to neural_networks/transformData.py diff --git a/tests/context.py b/tests/context.py index 4f970ca..c4d2061 100644 --- a/tests/context.py +++ b/tests/context.py @@ -4,7 +4,7 @@ ROOT_DIR = os.path.abspath(os.path.join(os.path.dirname(__file__), '..')) sys.path.insert(0, ROOT_DIR) -import utils.reader as reader +import utils.dataUtils as dataUtils import detection_tools.confidence_metrics as cm diff --git a/tests/test_confidence_metrics.py b/tests/test_confidence_metrics.py index 018e75b..dfd71c9 100644 --- a/tests/test_confidence_metrics.py +++ b/tests/test_confidence_metrics.py @@ -1,4 +1,4 @@ -from context import cm, reader +from context import cm, dataUtils import unittest diff --git a/neural-networks/mergedDetection/trained_models/train/.DS_Store b/utils/.DS_Store similarity index 100% rename from neural-networks/mergedDetection/trained_models/train/.DS_Store rename to utils/.DS_Store diff --git a/utils/reader.py b/utils/dataUtils.py similarity index 100% rename from utils/reader.py rename to utils/dataUtils.py