discovery of those. As opposed to reconstructing a se-
quence diagram for one business method (Serebrenik
et al., 2009), subsequent research on reverseengineer-
ing sequence diagrams for EJB-based applications
with interceptors (Roubtsov et al., 2011; Roubtsov
et al., 2013) advocated interceptor-based metric (sce-
nario depth) and large-scale empirical studies of the
interceptor use. Specifically, for large-scale empiri-
cal studies of the use of business method interceptors
one first has to identify all business methods within
a given project as only invocations of business meth-
ods can be intercepted by business method intercep-
tors. Identification of business methods, however, re-
quires checking whether a business interface adheres
to the business interface requirements shown on Ta-
ble 1. As shown in Table 1 adherence to require-
ments, and hence, the distribution of scenarios’ depth
is implementation dependent. Hence, when compar-
ing the way interceptors are used in a given system
with benchmark systems one should take the deploy-
ment application server into account.
7 CONCLUSION
In this paper we presented a testing approach for ver-
ifying requirements for EJB applications and EJB ap-
plication servers with focus on portability. Testing
portability required a novel approach to recovering
information from EJB application servers. Using the
approach developed we have established discrepan-
cies between the application server behaviour as pre-
scribed by the specification and as implemented in
two popular “Java EE 6 Full Profile”-compatible EJB
application servers, GlassFish and JBoss. Lack of
conformance to the EJB specification compromises
the portability of the EJB applications, deviates from
the portability philosophy of Java, leads to unex-
pected behaviour. Furthermore, lack of conformance
may cause semantic differences between application
servers, limiting program understanding and hinder-
ing the learning process of novice EJB developers.
A number of directions can be considered as fu-
ture work. The first direction is related to application
of the approach developed to additional requirements
and application servers, and using the information ob-
tained. Application of the approach to additional re-
quirements and application servers will allow us to
obtain a more comprehensive picture of portability in
EJB 3.1. Analysis tools and techniques based on the
EJB specification such as (Sutii et al., 2013) can be
adapted to specifics of different application servers.
Second, the approach itself can be fully automated
by generating test cases based on formally specified
requirements.
REFERENCES
Dorda, S. C., Robert, J., and Seacord, R. (1999). Theory and
Practice of Enterprise JavaBean™: Portability. Tech-
nical Report CMU/SEI-99-TN-005, CMU.
EJB 3.1 Expert Group (2009). EJB 3.1 Expert Group. JSR-
318 Enterprise JavaBeans, Version 3.1.
Hamilton, M. A. (1996). Java and the shift to net-centric
computing. Computer, 29(8):31–39.
International Software Testing Qualifications Board (2011).
Certified Tester Foundation Level Syllabus. Interna-
tional Software Testing Qualifications Board. version
2011.
Kounev, S., Weis, B., and Buchmann, A. (2004). Perfor-
mance tuning and optimization of J2EE applications
on the JBoss platform. Journal of Computer Resource
Management, 113:40–49.
Krastev, A. and Galletly, J. (2003). Do we really need EJB?
In CompSysTech, pages 190–195. ACM.
Mamykina, L., Manoim, B., Mittal, M., Hripcsak, G., and
Hartmann, B. (2011). Design lessons from the fastest
Q&A site in the West. In CHI, pages 2857–2866.
ACM.
Matena, V. and Harper, M. (1998). Enterprise JavaBeans.
version 1.
Roeser, T. (2005). Portierbarkeit von J2EE-
basierten Applikationen am Beispiel des mobilen
Ged¨achtnishilfesystems MEMOS.
Roubtsov, S. A., Serebrenik, A., Mazoyer, A., and van den
Brand, M. G. J. (2011). I2SD: Reverse Engineering
Sequence Diagrams from Enterprise Java Beans with
Interceptors. In SCAM, pages 155–164. IEEE.
Roubtsov, S. A., Serebrenik, A., Mazoyer, A., van den
Brand, M. G. J., and Roubtsova, E. (2013). I2SD:
Reverse Engineering Sequence Diagrams from En-
terprise Java Beans with Interceptors. IET Sofware,
7(3):1–17.
Serebrenik, A., Roubtsov, S. A., Roubtsova, E. E., and
van den Brand, M. G. J. (2009). Reverse engineer-
ing sequence diagrams for Enterprise JavaBeans with
business method interceptors. In WCRE, pages 269–
273. IEEE.
Sutii, A., Roubtsov, S. A., and Serebrenik, A. (2013).
Detecting dependencies in enterprise javabeans with
squavisit. In WCRE, pages 485–486. IEEE.
Vasilescu, B., Serebrenik, A., Devanbu, P. T., and Filkov, V.
(2014). How social Q&A sites are changing knowl-
edge sharing in open source software communities. In
CSCW. ACM.
Xian, F., Srisa-an, W., and Jiang, H. (2006). Investigat-
ing throughput degradation behavior of java applica-
tion servers: a view from inside a virtual machine. In
PPPJ, pages 40–49. ACM.
TestingConformanceofEJB3EnterpriseApplicationServers
279