Skip to topic | Skip to bottom


Home

AMR
AMR.FanInAnalysisResultsr1.22 - 14 Jul 2007 - 18:31 - MariusMarin

Start of topic | Skip to actions

Fan-in Analysis Results

More details about the experiment: Identifying Crosscutting Concerns Using Fan-in Analysis, ACM Transactions on Software Engineering and Methodology (TOSEM). Earlier version available as Technical report TUD-SERG-2006-013

PetStore (v.1.3.2)

Concerns and Fan-In Values for PetStore

Qualified name (com.sun.j2ee.blueprints.*) Fan-in val. Concern
servicelocator.ServiceLocatorException.ServiceLocatorException(Exception) 22 Consistent Exception wrapping (1)
catalog.exceptions.CatalogDAOSysException.CatalogDAOSysException(String) 19 Consistent Exception wrapping (2)
petstore.tools.populate.PopulateException.PopulateException(String, Exception) 11 Consistent Exception wrapping (3)
processmanager.transitions.TransitionException.TransitionException(Exception) 15 Consistent Exception wrapping (4)
servicelocator.ejb.ServiceLocator.ServiceLocator() 30 Service Locator (1)
xmldocuments.XMLDocumentException.XMLDocumentException(String) 27 Contract enforcement (1)
xmldocuments.XMLDocumentException.XMLDocumentException(Exception) 23 Consistent Exception wrapping (5) and Exception tracing for debugging (1)

Utility Methods for Petstore

Methods from two classes (XMLDocumentUtils and PopulateUtils) have been marked as utilities.

JHotDraw (v.54b1)

Concerns and Fan-In Values for JHotDraw

Note: The methods from the 'test' packages are not considered

Qualified name (CH.ifa.draw.*) Fan-in val. Concern type (Instance no.)
applet.DrawApplet.toolDone() 16 Consistent behavior (1)
application.DrawApplication.toolDone() 19 Consistent behavior (1)
figures.BorderDecorator.displayBox() 55 Decorator (1)
figures.NullFigure.includes(Figure) 13 Composite (1)
figures.TextFigure.changed() 36 Observer (1)
framework.DrawingEditor.toolDone() 21 Consistent behavior (1)
framework.DrawingView.add(Figure) 10 Composite (1)
framework.DrawingView.checkDamage() 28 Consistent behavior (2)
framework.DrawingView.selectionCount() 16 Consistent behavior (3)
framework.Figure.addFigureChangeListener(FigureChangeListener) 11 Observer (1)
framework.Figure.changed() 36 Observer (1)
framework.Figure.figures() 24 Composite (1)
framework.Figure.includes(Figure) 14 Composite (1)
framework.Figure.listener() 21 Observer (1)
framework.Figure.removeFigureChangeListener(FigureChangeListener) 10 Observer (1)
framework.Figure.willChange() 25 Observer (1)
framework.Handle.owner() 37 Adapter (1)
standard.AbstractCommand.execute() 24 Command (1) + Contract enforcement (1)
standard.AbstractFigure.addFigureChangeListener(FigureChangeListener) 11 Observer (1)
standard.AbstractFigure.changed() 37 Observer (1)
standard.AbstractFigure.figures() 24 Composite (1)
standard.AbstractFigure.includes(Figure) 14 Composite (1)
standard.AbstractFigure.removeFigureChangeListener(FigureChangeListener) 10 Observer (1)
standard.AbstractFigure.willChange() 25 Observer (1)
standard.AbstractTool.AbstractTool(DrawingEditor) 15 Consistent behavior (4)
standard.AbstractTool.activate() 10 Consistent behavior (5)
standard.AbstractTool.deactivate() 14 Consistent behavior (6)
standard.AbstractTool.mouseDown(MouseEvent, int, int) 15 Consistent behavior (7)
standard.CompositeFigure.includes(Figure) 14 Composite (1)
standard.DecoratorFigure.containsPoint(int, int) 15 Decorator (1)
standard.DecoratorFigure.displayBox() 57 Decorator (1)
standard.DecoratorFigure.includes(Figure) 13 Composite (1) + Decorator (1)
standard.DecoratorFigure.moveBy(int, int) 19 Decorator (1)
standard.NullDrawingView.checkDamage() 23 Consistent behavior (2)
standard.NullDrawingView.clearSelection() 30 Consistent behavior (8)
standard.NullDrawingView.selectionCount() 13 Consistent behavior (3)
standard.StandardDrawing.add(Figure) 12 Composite (1)
standard.StandardDrawingView.add(Figure) 10 Composite (1)
standard.StandardDrawingView.checkDamage() 28 Consistent behavior (2)
standard.StandardDrawingView.clearSelection() 31 Consistent behavior (8)
standard.StandardDrawingView.selectionCount() 16 Consistent behavior (3)
util.StorableInput.readInt() 22 Persistence (1)
util.StorableInput.readStorable() 20 Persistence (1)
util.StorableInput.readString() 10 Persistence (1)
util.StorableOutput.writeInt(int) 21 Persistence (1)
util.StorableOutput.writeStorable(Storable) 18 Persistence (1)
util.StorableOutput.writeString(String) 10 Persistence (1)
util.Undoable.isRedoable() 24 Contract enforcement (2) + Undo (1)
util.UndoableAdapter.undo() 24 Contract enforcement (3) + Undo (1) + Command (2)
util.UndoableAdapter.UndoableAdapter(DrawingView) 25 Consistent behavior (9) + Undo (1)
standard.AbstractCommand.AbstractCommand 19 Consistent behavior (10)
standard.AbstractCommand.isExecutable 12 Consistent behavior (11)
standard.CompositeFigure.figures 24 Composite (1)
framework.JHotDrawRuntimeException.JHotDrawRuntimeException 11 Exception handling
samples.javadraw.BouncingDrawing.add 11 Composite (1)
samples.javadraw.AnimationDecorator.displayBox 55 Decorator (1)
samples.javadraw.JavaDrawViewer.toolDone 14 Consistent behavior (1)
framework.DrawingView.clearSelection 31 Consistent behavior (8)

Utility methods for JHotDraw

  • CH.ifa.draw.test.* (also filtered from the set of callers - see filters for callers in FINT)
  • CH.ifa.draw.util.collections.* (this includes CH.ifa.draw.util.collections.jdk11.* and CH.ifa.draw.util.collections.jdk1.2.*)

  • CH.ifa.draw.util.CollectionsFactory
  • CH.ifa.draw.util.ReverseListEnumerator

  • CH.ifa.draw.standard.ReverseFigureEnumerator
  • CH.ifa.draw.standard.HandleAndEnumerator
  • CH.ifa.draw.standard.SingleFigureEnumerator
  • CH.ifa.draw.standard.FigureAndEnumerator
  • CH.ifa.draw.standard.HandleEnumerator
  • CH.ifa.draw.standard.FigureEnumerator

  • CH.ifa.draw.framework.FigureEnumeration
  • CH.ifa.draw.framework.HandleEnumeration

Tomcat (v.5.5.(17) - Tomcat 5.5 API)

Note: The accessor methods filtered automatically by the name-based filter (that is, get* and set* methods) are not shown in the table.

Fan-in analysis results

Method Fan-in Seed Non-seed Utility Accessor Concern Comments
javax.servlet.http.HttpServletRequestWrapper._getHttpServletRequest() 25 x       Redirector (3) Access reference to redirect to
javax.servlet.http.HttpServletResponseWrapper._getHttpServletResponse() 17 x       Redirector (4) Access reference to redirect to
org.apache.catalina.ant.AbstractCatalinaTask.execute() 16 x       Contract enforcement(1) + Command(1) Call to the super's execute, which checks a condition and throws an exception if the condition doesn't hold
org.apache.catalina.ant.AbstractCatalinaTask.execute(QString;) 14 x       Consistent behavior (1) (+ Command (1)) The "execute" methods in the Task hierarchy first check a condition (the super call) and then call this execute(String) with a specific parameter - the param. is a sort of specific id of the executing task
org.apache.catalina.authenticator.AuthenticatorBase.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) Instance of the Consistent behavior sort: consistently pass the request through the chain - pass to the next elem in the chain
org.apache.catalina.authenticator.AuthenticatorBase.start() 24 x       Lifecycle (1) Prepare for the beginning of active use of the public methods of this component. This method should be called after configure(), and before any of the public methods of the component are utilized.
org.apache.catalina.authenticator.AuthenticatorBase.stop() 27 x       Lifecycle (1)  
org.apache.catalina.authenticator.SingleSignOn.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container Pipeline)  
org.apache.catalina.authenticator.SingleSignOn.start() 23 x       Lifecycle (1)  
org.apache.catalina.authenticator.SingleSignOn.stop() 26 x       Lifecycle (1)  
org.apache.catalina.authenticator.SSLAuthenticator.start() 23 x       Lifecycle (1)  
org.apache.catalina.authenticator.SSLAuthenticator.stop() 26 x       Lifecycle (1)  
org.apache.catalina.cluster.session.DeltaManager.start() 23 x       Lifecycle (1)  
org.apache.catalina.cluster.session.DeltaManager.stop() 26 x       Lifecycle (1)  
org.apache.catalina.cluster.session.DeltaSession.isValid() 24 x       Contract enforcement(2) Common condition for methods in DeltaSession? (and also * Request * classes)
org.apache.catalina.cluster.session.JvmRouteBinderValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.cluster.session.JvmRouteBinderValve.start() 23 x       Lifecycle (1)  
org.apache.catalina.cluster.session.JvmRouteBinderValve.stop() 26 x       Lifecycle (1)  
org.apache.catalina.cluster.session.ReplicatedSession.expire() 10   x        
org.apache.catalina.cluster.session.SimpleTcpReplicationManager.start() 23 x       Lifecycle (1)  
org.apache.catalina.cluster.session.SimpleTcpReplicationManager.stop() 26 x       Lifecycle (1)  
org.apache.catalina.cluster.tcp.ReplicationValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.cluster.tcp.SimpleTcpCluster.start() 23 x       Lifecycle (1)  
org.apache.catalina.cluster.tcp.SimpleTcpCluster.stop() 26 x       Lifecycle (1)  
org.apache.catalina.connector.Connector.start() 23 x       Lifecycle (1)  
org.apache.catalina.connector.Connector.stop() 27 x       Lifecycle (1)  
org.apache.catalina.connector.Response.isCommitted() 18 x       Contract enforcement(3)  
org.apache.catalina.connector.Response.sendError(IQString;) 10   x        
org.apache.catalina.connector.ResponseFacade.isCommitted() 18 x       Contract enforcement (3) (+ Redirector-Facade)  
org.apache.catalina.Container.findChild(QString;) 37 x       Composite(1) container - Role  
org.apache.catalina.Container.findChildren() 24 x       Composite(1) container - Role  
org.apache.catalina.Container.removeChild(QContainer;) 13 x       Composite(1) container - Role  
org.apache.catalina.core.ApplicationContextFacade.doPrivileged(QString;[QObject;) 19 x       Consistent behavior (2)(Redirector - Facade) The methods of this method's class call the reported method to use reflection for invoking some functionality; Then, all the callers execute a redirection to a dedicated pair method. Typical implementation (e.g., ApplicationContextFacade?.getAttribute):
if(SecurityUtil?.isPackageProtectionEnabled()) {
return doPrivileged("getAttribute", new Object[]{name}); }
else {
return context.getAttribute(name);
}
org.apache.catalina.core.ContainerBase.addChild(QContainer;) 12 x       Composite(1) container - Role  
org.apache.catalina.core.ContainerBase.addLifecycleListener(QLifecycleListener?;) 14 x       Observer(1) - Lifecycle listener  
org.apache.catalina.core.ContainerBase.findChild(QString;) 37 x       Composite(1) container - Role  
org.apache.catalina.core.ContainerBase.findChildren() 24 x       Composite(1) container - Role  
org.apache.catalina.core.ContainerBase.fireContainerEvent(QString;QObject;) 55 x       Observer(2) - Container listener  
org.apache.catalina.core.ContainerBase.removeChild(QContainer;) 14 x       Composite(1) container - Role  
org.apache.catalina.core.ContainerBase.start() 28 x       Lifecycle (1)  
org.apache.catalina.core.ContainerBase.stop() 32 x       Lifecycle (1)  
org.apache.catalina.core.StandardContext.removeChild(QContainer;) 13 x       Composite(1) container - Role  
org.apache.catalina.core.StandardContext.start() 25 x       Lifecycle (1)  
org.apache.catalina.core.StandardContext.stop() 30 x       Lifecycle (1)  
org.apache.catalina.core.StandardContextValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.core.StandardEngine.start() 23 x       Lifecycle (1)  
org.apache.catalina.core.StandardEngine.stop() 27 x       Lifecycle (1)  
org.apache.catalina.core.StandardEngineValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.core.StandardHost.start() 23 x       Lifecycle (1)  
org.apache.catalina.core.StandardHostValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.core.StandardPipeline.start() 23 x       Lifecycle (1)  
org.apache.catalina.core.StandardPipeline.stop() 26 x       Lifecycle (1)  
org.apache.catalina.core.StandardServer.start() 23 x       Lifecycle (1)  
org.apache.catalina.core.StandardServer.stop() 26 x       Lifecycle (1)  
org.apache.catalina.core.StandardService.start() 24 x       Lifecycle (1)  
org.apache.catalina.core.StandardService.stop() 29 x       Lifecycle (1)  
org.apache.catalina.core.StandardWrapper.start() 23 x       Lifecycle (1)  
org.apache.catalina.core.StandardWrapper.stop() 27 x       Lifecycle (1)  
org.apache.catalina.core.StandardWrapperValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.Lifecycle.addLifecycleListener(QLifecycleListener?;) 15 x       Observer(1) - Lifecycle listener  
org.apache.catalina.Lifecycle.start() 26 x       Lifecycle (1)  
org.apache.catalina.Lifecycle.stop() 34 x       Lifecycle (1)  
org.apache.catalina.LifecycleException.LifecycleException(QString;) 32 x       Contract enforcement (4) If the component has (not) been started throw this exception
org.apache.catalina.loader.WebappClassLoader.start() 23 x       Lifecycle (1)  
org.apache.catalina.loader.WebappClassLoader.stop() 26 x       Lifecycle (1)  
org.apache.catalina.loader.WebappLoader.start() 23 x       Lifecycle (1)  
org.apache.catalina.loader.WebappLoader.stop() 26 x       Lifecycle (1)  
org.apache.catalina.Manager.findSession(QString;) 16   x        
org.apache.catalina.Manager.findSessions() 14   x        
org.apache.catalina.mbeans.MBeanUtils.createManagedName(QObject;) 38 x       Consistent behavior (3) Consistent creation and registration or destruction of MBean-s for various objects - the concern covers methods in MBeanUtils?
org.apache.catalina.realm.DataSourceRealm.start() 23 x       Lifecycle (1)  
org.apache.catalina.realm.DataSourceRealm.stop() 26 x       Lifecycle (1)  
org.apache.catalina.realm.GenericPrincipal.GenericPrincipal(QRealm;QString;QString;QList;) 10 x       Consistent behavior (4) - Consistent mechanism for authentication (security)  
org.apache.catalina.realm.JAASRealm.start() 23 x       Lifecycle (1)  
org.apache.catalina.realm.JAASRealm.stop() 26 x       Lifecycle (1)  
org.apache.catalina.realm.JDBCRealm.start() 23 x       Lifecycle (1)  
org.apache.catalina.realm.JDBCRealm.stop() 26 x       Lifecycle (1)  
org.apache.catalina.realm.JNDIRealm.start() 23 x       Lifecycle (1)  
org.apache.catalina.realm.JNDIRealm.stop() 26 x       Lifecycle (1)  
org.apache.catalina.realm.MemoryRealm.start() 23 x       Lifecycle (1)  
org.apache.catalina.realm.MemoryRealm.stop() 26 x       Lifecycle (1)  
org.apache.catalina.realm.RealmBase.start() 29 x       Lifecycle (1)  
org.apache.catalina.realm.RealmBase.stop() 32 x       Lifecycle (1)  
org.apache.catalina.realm.UserDatabaseRealm.start() 23 x       Lifecycle (1)  
org.apache.catalina.realm.UserDatabaseRealm.stop() 26 x       Lifecycle (1)  
org.apache.catalina.security.SecurityUtil.isPackageProtectionEnabled() 46 x       Contract enforcement (5)  
org.apache.catalina.Session.expire() 13   x        
org.apache.catalina.Session.isValid() 39 x       Contract enforcement (2)  
org.apache.catalina.session.JDBCStore.start() 23 x       Lifecycle (1)  
org.apache.catalina.session.JDBCStore.stop() 26 x       Lifecycle (1)  
org.apache.catalina.session.ManagerBase.findSession(QString;) 18   x        
org.apache.catalina.session.ManagerBase.findSessions() 14   x        
org.apache.catalina.session.PersistentManagerBase.findSession(QString;) 16   x        
org.apache.catalina.session.PersistentManagerBase.start() 23 x       Lifecycle (1)  
org.apache.catalina.session.PersistentManagerBase.stop() 26 x       Lifecycle (1)  
org.apache.catalina.session.StandardManager.start() 24 x       Lifecycle (1)  
org.apache.catalina.session.StandardManager.stop() 27 x       Lifecycle (1)  
org.apache.catalina.session.StandardSession.expire() 11   x        
org.apache.catalina.session.StandardSession.isValid() 28 x       Contract enforcement (2)  
org.apache.catalina.session.StoreBase.start() 24 x       Lifecycle (1)  
org.apache.catalina.session.StoreBase.stop() 27 x       Lifecycle (1)  
org.apache.catalina.startup.Catalina.start() 24 x       Lifecycle (1)  
org.apache.catalina.startup.Catalina.stop() 29 x       Lifecycle (1)  
org.apache.catalina.startup.Embedded.start() 24 x       Lifecycle (1)  
org.apache.catalina.startup.Embedded.stop() 29 x       Lifecycle (1)  
org.apache.catalina.storeconfig.GlobalNamingResourcesSF.store(QPrintWriter?;IQObject;) 10   x       This seems related to persistence: store different types of elements (Context, Server, Loader, Manager, etc) at file/print writer. However, the crosscutting nature of the concern (if any) is not clear from the elements reported by fan-in analysis: the classes to which the high fan-in method and its callers belong to deal with the same concern; hence, there is no apparent crosscuttingess in this result.
org.apache.catalina.storeconfig.InstanceListenerSF.store(QPrintWriter?;IQObject;) 10   x        
org.apache.catalina.storeconfig.IStoreFactory.store(QPrintWriter?;IQObject;) 10   x        
org.apache.catalina.storeconfig.LoaderSF.store(QPrintWriter?;IQObject;) 10   x        
org.apache.catalina.storeconfig.ManagerSF.store(QPrintWriter?;IQObject;) 10   x        
org.apache.catalina.storeconfig.NamingResourcesSF.store(QPrintWriter?;IQObject;) 10   x        
org.apache.catalina.storeconfig.StandardContextSF.store(QPrintWriter?;IQObject;) 10   x        
org.apache.catalina.storeconfig.StandardServerSF.store(QPrintWriter?;IQObject;) 10   x        
org.apache.catalina.storeconfig.StoreFactoryBase.store(QPrintWriter?;IQObject;) 14   x        
org.apache.catalina.storeconfig.StoreRegistry.findDescription(QClass;) 14 x       Contract enforcement (6) store(PrintWriter?,int,Object) callers invoke the method to get the description of the passed element and then check it (for null values) before executing
org.apache.catalina.storeconfig.WatchedResourceSF.store(QPrintWriter?;IQObject;) 10   x        
org.apache.catalina.storeconfig.WrapperLifecycleSF.store(QPrintWriter?;IQObject;) 10   x        
org.apache.catalina.storeconfig.WrapperListenerSF.store(QPrintWriter?;IQObject;) 10   x        
org.apache.catalina.util.LifecycleSupport.addLifecycleListener(QLifecycleListener?;) 21 x       Observer(1) - Lifecycle listener  
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(QString;QObject;) 56 x       Observer(1) - Lifecycle listener  
org.apache.catalina.util.LifecycleSupport.removeLifecycleListener(QLifecycleListener?;) 21 x       Observer(1) - Lifecycle listener  
org.apache.catalina.util.RequestUtil.filter(QString;) 11 x       Consistent behavior (24) The callers from ManagerServlet? consistently invoke the method as a security check before rendering results to the (received) writer reference
org.apache.catalina.Valve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.valves.AccessLogValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.valves.AccessLogValve.start() 23 x       Lifecycle (1)  
org.apache.catalina.valves.AccessLogValve.stop() 26 x       Lifecycle (1)  
org.apache.catalina.valves.ErrorReportValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.valves.ExtendedAccessLogValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.valves.ExtendedAccessLogValve.start() 23 x       Lifecycle (1)  
org.apache.catalina.valves.ExtendedAccessLogValve.stop() 26 x       Lifecycle (1)  
org.apache.catalina.valves.FastCommonAccessLogValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1)  
org.apache.catalina.valves.FastCommonAccessLogValve.start() 23 x       Lifecycle (1)  
org.apache.catalina.valves.FastCommonAccessLogValve.stop() 26 x       Lifecycle (1)  
org.apache.catalina.valves.JDBCAccessLogValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1)  
org.apache.catalina.valves.JDBCAccessLogValve.start() 23 x       Lifecycle (1)  
org.apache.catalina.valves.JDBCAccessLogValve.stop() 26 x       Lifecycle (1)  
org.apache.catalina.valves.PersistentValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.valves.RemoteAddrValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.valves.RemoteHostValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.valves.RequestDumperValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.valves.RequestFilterValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.valves.SemaphoreValve.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.catalina.valves.SemaphoreValve.start() 23 x       Lifecycle (1)  
org.apache.catalina.valves.SemaphoreValve.stop() 26 x       Lifecycle (1)  
org.apache.catalina.valves.ValveBase.invoke(QRequest;QResponse;) 18 x       Chain of responsibility (1) (Container/Valve Pipeline)  
org.apache.coyote.Request.action(QActionCode?;QObject;) 11   x       Possible instance of consistent behavior - it needs more investigation
org.apache.coyote.Response.action(QActionCode?;QObject;) 12 x       Consistent behavior (5)  
org.apache.jasper.compiler.Dumper$DumpVisitor.dumpBody(QNode;) 12 x       Consistent behavior (6)  
org.apache.jasper.compiler.Dumper$DumpVisitor.printAttributes(QString;QAttributes;QString;) 15 x       Consistent behavior (7)  
org.apache.jasper.compiler.Dumper$DumpVisitor.printString(QString;) 13 x       Consistent behavior (8)  
org.apache.jasper.compiler.ErrorDispatcher$ErrorVisitor.doVisit(QNode;) 33 x       Consistent behavior (9)  
org.apache.jasper.compiler.ErrorDispatcher.dispatch(QMark;QString;[QObject;QException;) 15 x       Consistent behavior (10)  
org.apache.jasper.compiler.ErrorDispatcher.jspError(QMark;QString;) 14   x       Error dispatching (handling) mechanism for JSP parsing errors - mark as non-seed because I am not that sure about a possible better aspect solution for this concern.
org.apache.jasper.compiler.ErrorDispatcher.jspError(QMark;QString;QString;) 24   x       Error dispatching (handling) mechanism for JSP parsing errors - see overloaded method
org.apache.jasper.compiler.ErrorDispatcher.jspError(QNode;QString;) 22   x       Error dispatching (handling) mechanism for JSP parsing errors - see overloaded method
org.apache.jasper.compiler.ErrorDispatcher.jspError(QNode;QString;QString;) 13   x       Error dispatching (handling) mechanism for JSP parsing errors - see overloaded method
org.apache.jasper.compiler.ErrorDispatcher.jspError(QString;QString;) 18   x       Error dispatching (handling) mechanism for JSP parsing errors - see overloaded method
org.apache.jasper.compiler.Generator$GenBuffer$1.doVisit(QNode;) 33 x       Consistent behavior (9) (+ Visitor)  
org.apache.jasper.compiler.Generator.quote(QString;) 18   x        
org.apache.jasper.compiler.JspReader.mark() 42   x        
org.apache.jasper.compiler.JspReader.matches(QString;) 25   x        
org.apache.jasper.compiler.JspReader.nextChar() 18   x        
org.apache.jasper.compiler.JspReader.skipSpaces() 30   x        
org.apache.jasper.compiler.JspReader.skipUntil(QString;) 12   x        
org.apache.jasper.compiler.JspUtil.checkAttributes(QString;QNode;[QValidAttribute;QErrorDispatcher;) 18 x       Consistent behavior (11)  
org.apache.jasper.compiler.Node$Nodes.size() 18   x        
org.apache.jasper.compiler.Node$Nodes.visit(QVisitor;) 28 x       Visitor  
org.apache.jasper.compiler.Node$Visitor.doVisit(QNode;) 33 x       Consistent behavior (9) (+ Visitor)  
org.apache.jasper.compiler.Node$Visitor.visitBody(QNode;) 90 x       Consistent behavior (12) (+ Visitor)  
org.apache.jasper.compiler.Node.Node(QString;QString;QAttributes;QAttributes;QAttributes;QMark;QNode;) 26 x       Consistent behavior (13)  
org.apache.jasper.compiler.PageDataImpl$SecondPassVisitor.appendTag(QNode;) 22 x       Consistent behavior (14) (+Visitor)  
org.apache.jasper.compiler.Parser.parseAttributes() 19 x       Consistent behavior (15)  
org.apache.jasper.compiler.Parser.parseOptionalBody(QNode;QString;QString;) 10 x       Consistent behavior (16)  
org.apache.jasper.compiler.ServletWriter.popIndent() 25   x        
org.apache.jasper.compiler.ServletWriter.print(QString;) 33   x        
org.apache.jasper.compiler.ServletWriter.printil(QString;) 37   x        
org.apache.jasper.compiler.ServletWriter.printin(QString;) 35   x        
org.apache.jasper.compiler.ServletWriter.println() 18   x        
org.apache.jasper.compiler.ServletWriter.println(QString;) 36   x        
org.apache.jasper.compiler.ServletWriter.pushIndent() 24   x        
org.apache.jasper.compiler.SmapUtil$PreScanVisitor.doVisit(QNode;) 33 x       Consistent behavior (9) (+ Visitor)  
org.apache.jasper.compiler.SmapUtil$SmapGenVisitor.doSmap(QNode;) 14 x       Consistent behavior (17) (+ Visitor)  
org.apache.jasper.compiler.SmapUtil$SmapGenVisitor.visitBody(QNode;) 88 x       Consistent behavior (12) (+ Visitor)  
org.apache.jasper.compiler.tagplugin.TagPluginContext.generateAttribute(QString;) 11   x        
org.apache.jasper.compiler.tagplugin.TagPluginContext.generateBody() 12   x        
org.apache.jasper.compiler.tagplugin.TagPluginContext.generateJavaSource(QString;) 15   x        
org.apache.jasper.compiler.tagplugin.TagPluginContext.isAttributeSpecified(QString;) 10   x        
org.apache.jasper.compiler.TagPluginManager$TagPluginContextImpl.generateAttribute(QString;) 11   x        
org.apache.jasper.compiler.TagPluginManager$TagPluginContextImpl.generateJavaSource(QString;) 15   x        
org.apache.jasper.compiler.TagPluginManager$TagPluginContextImpl.isAttributeSpecified(QString;) 10   x        
org.apache.jasper.compiler.TextOptimizer$TextCatVisitor.doVisit(QNode;) 33 x       Consistent behavior (9) (+ Visitor)  
org.apache.jasper.compiler.TextOptimizer$TextCatVisitor.visitBody(QNode;) 74 x       Consistent behavior (12) (+ Visitor)  
org.apache.jasper.compiler.Validator$ValidateVisitor$NamedAttributeVisitor.doVisit(QNode;) 33 x       Consistent behavior (9) (+ Visitor)  
org.apache.jasper.JasperException.JasperException(QString;) 11   x       Exception handling but quite inconsistent use
org.apache.jasper.JasperException.JasperException(QThrowable;) 26 x       Exception wrapping (1)  
org.apache.jasper.security.SecurityUtil.isPackageProtectionEnabled() 17 x       Consistent behavior (18) - Security check  
org.apache.jasper.util.SystemLogHandler.findStream() 25 x       Redirector (1) - non-trivial accessor for the reference to redirect to  
org.apache.jasper.xmlparser.TreeNode.findChildren() 10   x        
org.apache.jk.common.JniHandler.invoke(QMsg;QMsgContext;) 11 x       Chain of responsibility (2)  
org.apache.jk.common.MsgAjp.reset() 12   x        
org.apache.jk.common.Shm.invoke(QMsg;QMsgContext;) 11 x       Chain of responsibility (2)  
org.apache.jk.common.Shm14.invoke(QMsg;QMsgContext;) 11 x       Chain of responsibility (2)  
org.apache.jk.core.JkHandler.init() 10   x        
org.apache.jk.core.Msg.appendByte(I) 13   x        
org.apache.jk.core.Msg.reset() 12   x        
org.apache.naming.resources.FileDirContext$FileResource.streamContent() 17   x        
org.apache.naming.resources.ProxyDirContext.cacheUnload(QString;) 23 x       Consistent behavior (19)  
org.apache.naming.resources.Resource.streamContent() 19   x        
org.apache.naming.resources.WARDirContext$WARResource.streamContent() 17   x        
org.apache.naming.SelectorContext.parseName(QName;) 11 x       Consistent behavior (20) Consistent parsing of the "name" param before passing it to the method to redirect to
org.apache.naming.SelectorContext.parseName(QString;) 11 x       Consistent behavior (21) Consistent parsing of the "name" param before passing it to the method to redirect to
org.apache.tomcat.jni.Pool.create(J) 10 x       Consistent behavior (22) Consistent pool creation as part of object initialization
org.apache.tomcat.jni.Socket.destroy(J) 11   x       (revisit)
org.apache.tomcat.jni.Status.is(II) 53   x       (revisit)
org.apache.tomcat.util.buf.Ascii.toLower(I) 11     x     Package org.apache.tomcat.util.buf Description: Buffers and Encodings. This package contains buffers and utils to perform encoding/decoding of buffers. That includes byte to char conversions, URL encodings, etc.
org.apache.tomcat.util.buf.ByteChunk.recycle() 16     x      
org.apache.tomcat.util.buf.CharChunk.recycle() 13     x      
org.apache.tomcat.util.buf.MessageBytes.equals(QString;) 11     x      
org.apache.tomcat.util.buf.MessageBytes.equalsIgnoreCase(QString;) 16     x      
org.apache.tomcat.util.buf.MessageBytes.isNull() 14     x      
org.apache.tomcat.util.buf.MessageBytes.recycle() 17     x      
org.apache.tomcat.util.buf.MessageBytes.toString() 63     x      
org.apache.tomcat.util.compat.Jdk14Compat.chainException(QThrowable;QThrowable;) 25 x       Exception wrappping (2)  
org.apache.tomcat.util.compat.JdkCompat.chainException(QThrowable;QThrowable;) 25 x       Exception wrappping (2)  
org.apache.tomcat.util.digester.Digester.addObjectCreate(QString;QString;QString;) 10     x      
org.apache.tomcat.util.digester.Digester.addRule(QString;QRule;) 37     x      
org.apache.tomcat.util.digester.Digester.addSetNext(QString;QString;QString;) 10     x      
org.apache.tomcat.util.digester.Digester.addSetProperties(QString;) 11     x      
org.apache.tomcat.util.digester.Digester.Digester() 10     x      
org.apache.tomcat.util.digester.Digester.peek() 10     x      
org.apache.tomcat.util.digester.Digester.peek(I) 11     x      
org.apache.tomcat.util.digester.Digester.push(QObject;) 14     x      
org.apache.tomcat.util.loader.ModuleClassLoader.log(QString;) 10 x       Logging  
org.apache.tomcat.util.log.SystemLogHandler.findStream() 25 x       Redirector (2) - non-trivial accessor for the reference to redirect to  
org.apache.webapp.admin.resources.BaseForm.reset(QActionMapping?;QHttpServletRequest;) 10 x       Consistent behavior (23)  
org.apache.webapp.admin.TreeControl.findNode(QString;) 18 x       Consistent behavior (25)  
org.apache.webapp.admin.TreeControlNode.addChild(QTreeControlNode?;) 20 x       Composite (2)  
org.apache.webapp.admin.TreeControlNode.TreeControlNode(QString;QString;QString;QString;QString;ZQString;) 21   x        
org.apache.coyote.Request.method() 13       x    
org.apache.coyote.Request.requestURI() 19       x    
org.apache.coyote.Response.isCommitted() 10       x    
org.apache.jasper.compiler.Node$JspAttribute.isExpression() 12       x    
org.apache.jk.core.JkHandler.invoke(QMsg;QMsgContext;) 13       x    
org.apache.catalina.util.LifecycleSupport.findLifecycleListeners() 21       x    
org.apache.naming.resources.ProxyDirContext.parseName(QName;) 24 x       Consistent behavior (20)  
org.apache.naming.resources.ProxyDirContext.parseName(QString;) 25 x       Consistent behavior (21)  
org.apache.jk.common.MsgAjp.appendByte(I) 13   x        
org.apache.jasper.compiler.TagPluginManager$TagPluginContextImpl.generateBody() 12   x        
org.apache.jasper.compiler.JspReader.reset(QMark;) 12   x        

Utility

  • org.apache.tomcat.util.digester.Digester.*
  • org.apache.tomcat.util.buf.*

Notes

FINT 0.6(b) supports filters for accessors based on the implementation of a method. However, the automatic rules for these filters would typically eliminate more methods than we have eliminated manually for these experiments. For instance, the tool also checks if all the implementations of an abstract method are accessors, and if so eliminates the abstract method from the set of candidates. For more details about the filters see the documentation for FINT.


Edit | Attach | Printable | Raw | More topic actions
Revisions: | r1.22 | > | r1.21 | > | r1.20 | Page history | Backlinks
You are here: AMR > FanInAnalysisResults

to top

Copyright © 2003-2017, Software Engineering Research Group, Delft University of Technology, The Netherlands