Skip to content

jose/non-trivial-java-classes-to-study-search-based-software-testing-approaches

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 

Repository files navigation

Non-trivial Java Classes to Study the Performance of Search-based Software Testing Approaches

A key factor of studying Evolutionary Algorithms (EA) on automatic test generation is the selection of classes under test. As many open source classes, for example contained in the SF110 corpus, are trivially simple and would not reveal differences between algorithms, a selection of non-trivial classes has been proposed in the DynaMOSA study. This is a corpus of 117 open-source Java projects and 346 classes, selected from four different benchmarks. The complexity of classes ranges from 14 statements and 2 branches to 16,624 statements and 7,938 branches. The average number of statements is 1,109, and the average number of branches is 259.

Java projects/classes and their dependencies are in the subjects directory and here is the set of non-trivial Java classes organized by project:

Java Project Java Class
1_tullibee com.ib.client.ExecutionFilter
1_tullibee com.ib.client.ComboLeg
10_water-simulator simulator.CA.gui.ConsumerGUI
10_water-simulator simulator.CA.ConsumerAgent
100_jgaap jgaapGUI
101_netweaver com.sap.managementconsole.soap.axis.sapcontrol.HeapInfo
101_netweaver com.sap.managementconsole.soap.axis.sapcontrol.J2EEApplicationAlias
102_squirrel-sql net.sourceforge.squirrel_sql.client.preferences.GlobalPreferencesSheet
102_squirrel-sql net.sourceforge.squirrel_sql.fw.gui.CascadeInternalFramePositioner
103_sweethome3d com.eteks.sweethome3d.viewcontroller.HomeController
103_sweethome3d com.eteks.sweethome3d.viewcontroller.RoomController
103_sweethome3d com.eteks.sweethome3d.SweetHome3D
103_sweethome3d com.eteks.sweethome3d.j3d.Room3D
104_vuze com.aelitis.azureus.ui.swt.skin.SWTSkinObjectContainer
104_vuze com.aelitis.azureus.ui.swt.feature.FeatureManagerUIListener
105_freemind freemind.extensions.ExportHook
105_freemind accessories.plugins.time.JDayChooser
107_weka weka.core.Memory
107_weka weka.classifiers.Evaluation
107_weka weka.classifiers.bayes.net.search.ci.ICSSearchAlgorithm
107_weka weka.core.FindWithCapabilities
108_liferay com.liferay.portal.kernel.servlet.filters.invoker.FilterMapping
108_liferay com.liferay.portlet.documentlibrary.model.DLSyncWrapper
109_pdfsam jcmdline.HelpCmdLineHandler
109_pdfsam org.pdfsam.guiclient.business.thumbnails.callables.JPodThmbnailCallable
11_imsmart com.imsmart.servlet.HTMLFilter
110_firebird org.firebirdsql.gds.impl.wire.AbstractJavaGDSImpl
110_firebird org.firebirdsql.jdbc.FBProcedureCall
110_firebird org.firebirdsql.encodings.EncodingFactory
12_dsachat dsachat.server.Handler
12_dsachat dsachat.client.gui.InternalChatFrame
13_jdbacl org.databene.jdbacl.SQLUtil
13_jdbacl org.databene.jdbacl.DBUtil
14_omjstate uk.me.jockmacmad.jstate.state.Transition
15_beanbin net.sourceforge.beanbin.reflect.MethodReflectionCriteria
15_beanbin net.sourceforge.beanbin.reflect.ReflectionSearch
17_inspirento com.allenstudio.ir.util.XmlElement
17_inspirento com.allenstudio.ir.ui.MainMenu
18_jsecurity org.jsecurity.web.filter.authc.BasicHttpAuthenticationFilter
18_jsecurity org.jsecurity.web.DefaultWebSecurityManager
18_jsecurity org.jsecurity.util.AntPathMatcher
19_jmca com.soops.CEN4010.JMCA.JParser.JavaCharStream
19_jmca com.soops.CEN4010.JMCA.JParser.JavaParserTokenManager
19_jmca com.soops.CEN4010.JMCA.JParser.JavaParser
19_jmca com.soops.CEN4010.JMCA.JMCAAnalyzer
2_a4j net.kencochrane.a4j.DAO.Product
2_a4j net.kencochrane.a4j.file.FileUtil
21_geo-google geo.google.datamodel.GeoStatusCode
21_geo-google geo.google.mapping.AddressToUsAddressFunctor
22_byuic com.yahoo.platform.yui.compressor.ScriptOrFnScope
22_byuic com.yahoo.platform.yui.compressor.YUICompressor
22_byuic com.yahoo.platform.yui.compressor.JavaScriptCompressor
22_byuic org.mozilla.javascript.Parser
23_jwbf net.sourceforge.jwbf.mediawiki.actions.editing.MovePage
23_jwbf net.sourceforge.jwbf.mediawiki.actions.queries.TemplateUserTitles
24_saxpath org.saxpath.Axis
24_saxpath com.werken.saxpath.XPathLexer
26_jipa jipa.Main
26_jipa jipa.Variable
27_gangup gui.AudioManager
29_apbsmem apbs_mem_gui.Main
29_apbsmem jahuwaldt.plot.PlotAxis
30_bpmail ch.bluepenguin.email.client.tapestry.MessageList
31_xisemele net.sf.xisemele.impl.OperationsHelperImpl
32_httpanalyzer httpanalyzer.HttpAnalyzerView
32_httpanalyzer httpanalyzer.Password
33_javaviewcontrol com.pmdesigns.jvc.tools.TokenMgrError
33_javaviewcontrol com.pmdesigns.jvc.tools.JVCParser
33_javaviewcontrol com.pmdesigns.jvc.tools.JVCParserTokenManager
35_corina corina.formats.TucsonSimple
36_schemaspy net.sourceforge.schemaspy.model.xml.TableMeta
36_schemaspy net.sourceforge.schemaspy.model.Table
37_petsoar org.petsoar.order.CreditCardInfo
37_petsoar org.petsoar.search.lucene.DefaultLuceneDocumentFactory
38_javabullboard framework.util.StringUtils
38_javabullboard framework.util.jdbc.JDBCUtils
39_diffi de.beiri22.stringincrementor.helper.IndexedString
39_diffi de.beiri22.stringincrementor.StringIncrementor
4_rif com.densebrain.rif.server.transport.WebServiceDescriptor
40_glengineer glengineer.blocks.Block
40_glengineer glengineer.agents.GroupAgent
41_follow ghm.follow.gui.TabbedPane
41_follow ghm.follow.search.SearchableTextPane
42_asphodel org.asphodel.DefaultRepositoryManager
43_lilith de.huxhorn.lilith.data.access.AccessEvent
44_summa org.apache.lucene.search.exposed.compare.NamedCollatorComparator
44_summa org.apache.lucene.search.exposed.ExposedTimSort
44_summa dk.statsbiblioteket.summa.storage.database.StatementHandler
44_summa dk.statsbiblioteket.summa.support.harmonise.InteractionAdjuster
45_lotus lotus.core.phases.Phase
45_lotus lotus.core.Game
46_nutzenportfolio ch.bfh.egov.nutzenportfolio.common.AuswertungGrafik
46_nutzenportfolio ch.bfh.egov.nutzenportfolio.service.fragebogen.NaOpNuDaoService
47_dvd-homevideo Capture
47_dvd-homevideo Convert
47_dvd-homevideo Menu
48_resources4j com.mytdev.resources4j.impl.AbstractResources
49_diebierse bierse.model.Drink
49_diebierse bierse.controller.DefaultSettingsController
5_templateit org.templateit.Region
5_templateit org.templateit.WorkbookParser
50_biff Scanner
51_jiprof com.mentorgen.tools.profile.runtime.Profile
51_jiprof org.objectweb.asm.jip.commons.LocalVariablesSorter
51_jiprof org.objectweb.asm.jip.MethodWriter
51_jiprof org.objectweb.asm.jip.ClassReader
52_lagoon nu.staldal.lagoon.LagoonGUI
52_lagoon nu.staldal.lagoon.LagoonCLI
54_db-everywhere com.gbshape.dbe.utils.DBEHelper
54_db-everywhere com.gbshape.dbe.sapdb.SapdbTableList
55_lavalamp net.sf.lavalamp.device.TimeOfDay
56_jhandballmoves visu.handball.moves.actions.CreateMovePdfAction
56_jhandballmoves visu.handball.moves.xml.HandballModelReader
57_hft-bomberman client.network.ForwardingObserver
57_hft-bomberman server.ServerGameModel
58_fps370 fps370.Fps370Panel
58_fps370 teder.TederFrame
59_mygrid mygrid.web._Fail
59_mygrid mygrid.web._AvailableJobsResponse
60_sugar net.sf.sugar.fspath.FSPathResult
60_sugar net.sf.sugar.fspath.cli.FSPathExplorer
61_noen fi.vtt.noen.testgen.observations.formatter.DaikonFormatter
61_noen fi.vtt.noen.mfw.bundle.probe.shared.ProbeInformation
63_objectexplorer de.paragon.explorer.event.ExplorerFrameEventConverter
63_objectexplorer de.paragon.explorer.model.AttributeModelComparator
64_jtailgui fr.pingtimeout.jtail.gui.action.IndexFileAction
64_jtailgui fr.pingtimeout.jtail.gui.view.JTailPanel
65_gsftp com.gotoservers.ftp.FtpApplet
65_gsftp mindbright.ssh.SSHSCPGUIThread
66_openjms org.exolab.jms.net.connector.DefaultConnectionPool
66_openjms org.exolab.jms.net.socket.SocketRequestInfo
68_biblestudy bible.obj.Verse
68_biblestudy bible.util.Queue
69_lhamacaw macaw.util.DisplayableListPanel
69_lhamacaw macaw.presentationLayer.MacawWorkBench
7_sfmis com.hf.sfm.crypt.Base64
71_ext4j net.sourceforge.ext4j.log.log4j.ExtrasPatternParser
71_ext4j net.sourceforge.ext4j.taglib.bo.Request
72_battlecry bcry.bcGenerator
72_battlecry bcry.battlecryGUI
73_fim1 osa.ora.server.admin.ui.UpdateUserPanel
73_fim1 osa.ora.server.client.ui.utils.FontChooserDialog
74_fixsuite org.fixsuite.message.Library
74_fixsuite org.fixsuite.message.view.TreeView
75_openhre com.browsersoft.aacs.User
75_openhre com.browsersoft.openhre.hl7.impl.regular.ExpressionImpl
77_io-project ioproject.server.network.ClientGroup
78_caloriecount com.lts.event.SimpleKeyListenerHelper
78_caloriecount com.lts.swing.combobox.SimpleComboBox
78_caloriecount com.lts.io.DirectoryScanner
79_twfbplayer de.outstare.fortbattleplayer.statistics.BattleStatistics
79_twfbplayer de.outstare.fortbattleplayer.model.impl.SimpleSector
8_gfarcegestionfa fr.unice.gfarce.dao.OracleIdentiteDao
8_gfarcegestionfa fr.unice.gfarce.interGraph.ModifTableStockage
80_wheelwebtool wheel.util.DynamicSelectModel
80_wheelwebtool wheel.asm.FieldWriter
80_wheelwebtool wheel.asm.ClassReader
80_wheelwebtool wheel.asm.ClassWriter
81_javathena org.javathena.login.parse.FromClient
81_javathena org.javathena.login.UserManagement
81_javathena org.javathena.login.Login
81_javathena org.javathena.utiles.ConfigurationManagement
82_ipcalculator ipac.BinaryCalculate
82_ipcalculator ipac.WhoIS
83_xbus net.sf.xbus.base.core.MessageHandler
83_xbus net.sf.xbus.base.core.reflection.XBUSClassLoader
84_ifx-framework org.sourceforge.ifx.basetypes.IFXObject
85_shop umd.cs.shop.JSState
85_shop umd.cs.shop.JSPredicateForm
85_shop umd.cs.shop.JSTerm
85_shop umd.cs.shop.JSJshop
86_at-robots2-j net.virtualinfinity.atrobots.gui.renderers.RobotRenderer
86_at-robots2-j net.virtualinfinity.atrobots.robot.Robot
87_jaw-br jaw.entrada.Salvar
87_jaw-br jaw.entrada.Abrir
88_jopenchart de.progra.charting.DefaultChart
88_jopenchart de.progra.charting.CoordSystemUtilities
89_jiggler jigl.image.ops.levelOps.Clip
89_jiggler jigl.image.ops.Shift
89_jiggler jigl.image.ops.ConnectedComponents
89_jiggler jigl.image.levelSetTool.LevelSetNudge
90_dcparseargs de.devcity.parseargs.ArgsParser
91_classviewer com.jstevh.viewer.ClassViewer
91_classviewer com.jstevh.viewer.SAXDirParser
91_classviewer com.jstevh.viewer.ClassInfo
92_jcvi-javacommon org.jcvi.jillion.assembly.consed.phd.DefaultPhdReadTag
92_jcvi-javacommon org.jcvi.jillion.assembly.ca.frg.Distance
93_quickserver org.quickserver.net.server.impl.BlockingClientHandler
93_quickserver org.quickserver.net.server.impl.NonBlockingClientHandler
93_quickserver org.quickserver.util.xmlreader.QuickServerConfig
93_quickserver org.quickserver.net.client.monitoring.HostMonitoringService
94_jclo edu.mscd.cs.jclo.JCLO
95_celwars2009 MP3
95_celwars2009 Client
96_heal org.heal.util.InterfaceUtilitiesBean
96_heal org.heal.module.search.AdvSearchDAO
97_feudalismgame src.VassalRebellion
97_feudalismgame src.Purchase
97_feudalismgame src.Battle
98_trans-locator Joshua.FoxHunt.FoxHuntFrame
98_trans-locator Joshua.FoxHunt.HuntDisplay
99_newzgrabber Newzgrabber.BatchDriver
99_newzgrabber Newzgrabber.Newzgrabber
99_newzgrabber Newzgrabber.Downloader
checkstyle com.puppycrawl.tools.checkstyle.api.AbstractLoader
checkstyle com.puppycrawl.tools.checkstyle.api.AutomaticBean
checkstyle com.puppycrawl.tools.checkstyle.api.FileContents
checkstyle com.puppycrawl.tools.checkstyle.api.FileText
checkstyle com.puppycrawl.tools.checkstyle.utils.AnnotationUtility
checkstyle com.puppycrawl.tools.checkstyle.utils.ScopeUtils
commons-cli org.apache.commons.cli.HelpFormatter
commons-cli org.apache.commons.cli.Option
commons-codec org.apache.commons.codec.language.DoubleMetaphone
commons-collections org.apache.commons.collections.primitives.ArrayByteList
commons-collections org.apache.commons.collections4.list.TreeList
commons-collections org.apache.commons.collections4.sequence.SequencesComparator
commons-lang org.apache.commons.lang3.text.translate.NumericEntityUnescaper
commons-lang org.apache.commons.lang3.ClassUtils
commons-lang org.apache.commons.lang3.ArrayUtils
commons-lang org.apache.commons.lang3.text.ExtendedMessageFormat
commons-lang org.apache.commons.lang3.text.StrBuilder
commons-lang org.apache.commons.lang3.time.FastDateFormat
commons-lang org.apache.commons.lang3.LocaleUtils
commons-lang org.apache.commons.lang3.time.DurationFormatUtils
commons-lang org.apache.commons.lang3.time.DateUtils
commons-lang org.apache.commons.lang3.BooleanUtils
commons-lang org.apache.commons.lang3.builder.CompareToBuilder
commons-lang org.apache.commons.lang3.Validate
commons-lang org.apache.commons.lang3.Conversion
commons-lang org.apache.commons.lang3.builder.HashCodeBuilder
commons-math org.apache.commons.math3.fraction.ProperFractionFormat
commons-math org.apache.commons.math3.optimization.direct.CMAESOptimizer
commons-math org.apache.commons.math3.distribution.HypergeometricDistribution
commons-math org.apache.commons.math3.linear.RectangularCholeskyDecomposition
commons-math org.apache.commons.math3.ode.nonstiff.EmbeddedRungeKuttaIntegrator
commons-math org.apache.commons.math3.ode.AbstractIntegrator
commons-math org.apache.commons.math3.geometry.euclidean.threed.Rotation
commons-math org.apache.commons.math3.util.MultidimensionalCounter
commons-math org.apache.commons.math3.optimization.general.LevenbergMarquardtOptimizer
commons-math org.apache.commons.math3.optimization.linear.SimplexTableau
commons-math org.apache.commons.math3.fraction.Fraction
commons-math org.apache.commons.math3.util.MathUtils
commons-math org.apache.commons.math3.analysis.interpolation.TricubicSplineInterpolatingFunction
commons-math org.apache.commons.math3.optim.nonlinear.scalar.noderiv.AbstractSimplex
commons-math org.apache.commons.math3.linear.MatrixUtils
commons-math org.apache.commons.math3.geometry.euclidean.oned.IntervalsSet
commons-math org.apache.commons.math3.dfp.DfpDec
commons-math org.apache.commons.math3.distribution.fitting.MultivariateNormalMixtureExpectationMaximization
commons-math org.apache.commons.math3.analysis.FunctionUtils
commons-math org.apache.commons.math3.optim.univariate.BrentOptimizer
commons-math org.apache.commons.math3.linear.SchurTransformer
compiler com.google.javascript.jscomp.CheckGlobalThis
compiler com.google.javascript.jscomp.ExploitAssigns
compiler com.google.javascript.jscomp.CollapseProperties
compiler com.google.javascript.jscomp.PeepholeSubstituteAlternateSyntax
compiler com.google.javascript.jscomp.ControlFlowAnalysis
compiler com.google.javascript.jscomp.ScopedAliases
compiler com.google.javascript.rhino.jstype.RecordType
compiler com.google.javascript.jscomp.parsing.JsDocInfoParser
compiler com.google.javascript.jscomp.ReferenceCollectingCallback
guava com.google.common.math.BigIntegerMath
guava com.google.common.cache.CacheBuilderSpec
guava com.google.common.util.concurrent.Monitor
guava com.google.common.base.Joiner
guava com.google.common.base.Predicates
guava com.google.common.base.SmallCharMatcher
guava com.google.common.base.Splitter
guava com.google.common.base.Suppliers
guava com.google.common.base.Utf8
guava com.google.common.base.Objects
guava com.google.common.base.CharMatcher
hibernate org.hibernate.search.util.logging.impl.LoggerFactory
javaml net.sf.javaml.core.AbstractInstance
javaml net.sf.javaml.core.Complex
javaml net.sf.javaml.core.DefaultDataset
javaml net.sf.javaml.core.DenseInstance
javaml net.sf.javaml.core.Fold
javaml net.sf.javaml.core.SparseInstance
javaml net.sf.javaml.tools.data.ARFFHandler
javex org.javex.Expression
jdom org.jdom2.util.NamespaceStack
jdom org.jdom2.transform.JDOMResult
jdom org.jdom2.output.SAXOutputter
jdom org.jdom2.output.XMLOutputter
jdom org.jdom2.Verifier
jfree-chart org.jfree.chart.renderer.category.AbstractCategoryItemRenderer
jfree-chart org.jfree.data.category.DefaultIntervalCategoryDataset
jfree-chart org.jfree.chart.plot.MultiplePiePlot
jfree-chart org.jfree.data.time.TimeSeries
jfree-chart org.jfree.data.general.DatasetUtilities
jfree-chart org.jfree.chart.plot.ValueMarker
jfree-chart org.jfree.chart.renderer.category.MinMaxCategoryRenderer
jfree-chart org.jfree.chart.renderer.GrayPaintScale
jfree-chart org.jfree.chart.renderer.category.StatisticalBarRenderer
jfree-chart org.jfree.chart.axis.Axis
jfree-chart org.jfree.chart.plot.XYPlot
jfree-chart org.jfree.data.time.TimePeriodValues
joda org.joda.time.base.BaseSingleFieldPeriod
joda org.joda.time.tz.ZoneInfoCompiler
joda org.joda.time.format.PeriodFormatterBuilder
joda org.joda.time.format.DateTimeFormatterBuilder
joda org.joda.time.DateTimeZone
joda org.joda.time.MutableDateTime
joda org.joda.time.Partial
joda org.joda.time.Period
joda org.joda.time.format.DateTimeFormatter
joda org.joda.time.base.BasePeriod
joda org.joda.time.chrono.BasicMonthOfYearDateTimeField
joda org.joda.time.chrono.LimitChronology
joda org.joda.time.MutablePeriod
jsci JSci.maths.symbolic.SimpleCharStream
jsci JSci.maths.symbolic.ExpressionParser
jsci JSci.maths.SpecialMath
jsci JSci.maths.LinearMath
scribe org.scribe.model.OAuthConfig
scribe org.scribe.model.OAuthRequest
scribe org.scribe.model.Request
scribe org.scribe.model.Response
scribe org.scribe.model.Token
scribe org.scribe.model.Verifier
tartarus org.tartarus.snowball.ext.turkishStemmer
tartarus org.tartarus.snowball.ext.italianStemmer
tartarus org.tartarus.snowball.ext.englishStemmer
trove gnu.trove.decorator.TDoubleShortMapDecorator
trove gnu.trove.decorator.TShortByteMapDecorator
trove gnu.trove.impl.hash.TCharHash
trove gnu.trove.impl.hash.TFloatCharHash
trove gnu.trove.impl.hash.TFloatDoubleHash
trove gnu.trove.impl.hash.TShortHash
trove gnu.trove.list.linked.TDoubleLinkedList
trove gnu.trove.map.hash.TFloatObjectHashMap
trove gnu.trove.map.hash.TByteObjectHashMap
trove gnu.trove.map.hash.TByteFloatHashMap
twitter4j twitter4j.ExceptionDiagnosis
twitter4j twitter4j.GeoQuery
twitter4j twitter4j.Paging
twitter4j twitter4j.TwitterException
twitter4j twitter4j.TwitterBaseImpl
twitter4j twitter4j.OEmbedRequest
twitter4j twitter4j.TwitterImpl
wikipedia de.tudarmstadt.ukp.wikipedia.api.Title
wikipedia de.tudarmstadt.ukp.wikipedia.api.CategoryDescendantsIterator
wikipedia de.tudarmstadt.ukp.wikipedia.api.WikipediaInfo
wikipedia de.tudarmstadt.ukp.wikipedia.api.CycleHandler
xmlenc org.znerd.xmlenc.XMLChecker
xmlenc org.znerd.xmlenc.XMLEncoder

Empirical studies that used this set of Java projects/classes

  • José Campos, Yan Ge, Nasser Albunian, Gordon Fraser, Marcelo Eler, and Andrea Arcuri. "An Empirical Evaluation of Evolutionary Algorithms for Unit Test Suite Generation". In: Information and Software Technology (2018), pp. 207–235. issn: 0950-5849. doi: 10.1016/j.infsof.2018.08.010. url: https://doi.org/10.1016/j.infsof.2018.08.010.
  • José Campos, Yan Ge, Gordon Fraser, Marcelo Eler, and Andrea Arcuri. "An Empirical Evaluation of Evolutionary Algorithms for Test Suite Generation". In: Search-Based Software Engineering (SSBSE). Ed. by Tim Menzies and Justyna Petke. Cham: Springer International Publishing, 2017, pp. 33–48. isbn: 978-3-319-66299-2. doi: 10.1007/978-3-319-66299-2_3. url: https://doi.org/10.1007/978-3-319-66299-2_3.
  • Annibale Panichella, Fitsum Meshesha Kifetew, Paolo Tonella. "Automated Test Case Generation as a Many-Objective Optimisation Problem with Dynamic Selection of the Targets". IEEE Transactions on Software Engineering (2017). doi: 10.1109/TSE.2017.2663435. url: https://doi.org/10.1109/TSE.2017.2663435.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published