S Serguei Roubtsov
Eindhoven University of Technology
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by S Serguei Roubtsov.
quality of software architectures | 2013
Yanja Dajsuren; Mgj Mark van den Brand; Alexander Serebrenik; S Serguei Roubtsov
In automotive industry, more and more complex electronics and software systems are being developed to enable the innovation and to decrease costs. Besides the complex multimedia, comfort, and safety systems of conventional vehicles, automotive companies are required to develop more and more complex engine, aftertreatment, and energy management systems for their (hybrid) electric vehicles to reduce fuel consumption and harmful emissions. MATLAB/Simulink is one of the most popular graphical modeling languages and a simulation tool for validating and testing control software systems. Due to the increasing complexity and size of Simulink models of automotive software systems, it has become a necessity to maintain the Simulink models.n In this paper, we defined metrics for assessing the modularity of Simulink models. A Java tool developed to measure the defined metrics on Simulink models interfaces with a visualization tool to facilitate the maintenance tasks of the Simulink models. The modularity metrics is furthermore validated in two phases. In the first phase, the modularity measurement is validated against the experts evaluation of a system. In the second phase, we studied the relationship between metric values and number of faults. We have observed that high coupling metric values frequently correspond to number of faults. Modularity metrics will be extended to architectural quality metrics for automotive systems.
international conference on program comprehension | 2009
Alexander Serebrenik; S Serguei Roubtsov; Mgj Mark van den Brand
Since their introduction in 1994 the Martins metrics became popular in assessing object-oriented software architectures. While one of the Martin metrics, normalised distance from the main sequence Dn, has been originally designed with assessing individual packages, it has also been applied to assess quality of entire software architectures. The approach itself, however, has never been studied. In this paper we take the first step to formalising the Dn-based architecture assessment of Java Open Source software. We present two aggregate measures: average normalised distance from the main sequence D̅n, and parameter of the fitted statistical model λ. Applying these measures to a carefully selected collection of benchmarks we obtain a set of reference values that can be used to assess quality of a system architecture. Furthermore, we show that applying the same measures to different versions of the same system provides valuable insights in system architecture evolution.
IET Software | 2013
S Serguei Roubtsov; Alexander Serebrenik; Aurélien Mazoyer; Mark van den Brand; Ella Roubtsova
An Enterprise Java Beans (EJB) interceptor is a software mechanism that provides for introducing behavior implemented as separate code into the execution of a Java application. In this way EJB interceptors provide a clear separation of the core functionality of the bean and other concerns, such as logging or performance analysis. Despite the beauty of the idea behind the interceptors, developing, testing and managing dependencies introduced by the interceptors are considered to be daunting tasks. For example, the developers can specify interceptors at multiple locations and by multiple means. However, different locations and specification means influence the order of the interceptor invocation, which is governed by more than fifteen different intertwined rules according to the EJB standard. To facilitate development of EJB applications we have designed I2SD, Interceptors to Sequence Diagrams, a tool for reverse engineering EJB applications with interceptors to UML sequence diagrams. I2SD provides the developer with a visual feedback and can be used by quality managers to get a broader understanding of the way interceptors are used in their project.
working conference on reverse engineering | 2009
Alexander Serebrenik; S Serguei Roubtsov; Ella Roubtsova; Mgj Mark van den Brand
Enterprise JavaBeans (EJB) is a component technology commonly used for enterprise application development. Recent EJB 3.0 specification involves interceptors, a mechanism providing means to dynamically introduce additional behavior into the execution of a bean. As multiple interceptors can be applied to the same bean, and the order of interceptor invocation can be affected by a variety of specification rules, complexity of interceptors invocation can easily become a burden for the developers or maintainers. In order to help the developers we propose an algorithm for reverse engineering UML sequence diagrams from EJB 3.0 programs.
conference on software maintenance and reengineering | 2010
S Serguei Roubtsov; Alexander Serebrenik; Mgj Mark van den Brand
Dependency injection is a recent programming mechanism reducing dependencies among components by delegating them to an external entity, called a dependency injection framework. An increasingly popular approach to dependency injection implementation relies upon using Java annotations, a special form of syntactic metadata provided by the dependency injection frameworks. However, uncontrolled use of annotations may lead to potential violations of well-known modularity principles. In this paper we catalogue “bad smells”, i.e., modularity-violating annotations defined by the developer or originating from the popular dependency injection frameworks. For each violation we discuss potential implications and propose means of resolving it. By detecting modularity bad smells in Java annotations our approach closes the gap between the state-of-the-art programming practice and currently available analysis techniques.
business modeling and software design | 2014
Ella Roubtsova; S Serguei Roubtsov
The idea of software testing by software itself drives the attempts of creation of model based testing approaches. Model based testing relies on models, that encode the desired behaviour of a system, the relevant behaviour of its environment; however, both the static and the behaviour models are not directly applicable for model based testing. The models should be different from implementation and possess the observational consistency allowing preservation behaviour of parts in the behaviour of the whole. The models need to be built into a tool for preparation of the model and data for test generation. This paper proposes to use protocol models for model based testing. A protocol model presents the external behaviour. Unlike other modelling approaches, the Protocol Modelling semantics incorporates data into the model. This property gives us advantages for the choice of the strategy of test generation. The main contribution of the paper is a combination of algorithms for test generating from a protocol model. The preparation of a protocol model for test generation and the results of test generation are illustrated with an example.
central and eastern european software engineering conference in russia | 2009
S Serguei Roubtsov; Alexander Serebrenik; Mgj Mark van den Brand
The normalized distance from the main sequence, denoted Dn, is a popular object-oriented metric introduced by Martin in 1994. While the metric has been designed for assessment of individual packages it has also been applied in practice to quality assessment of entire software architectures. This gap between the industrial practice and theoretical understanding has been recently addressed for Java open-source systems. Based on study of a benchmarks collection the authors proposed a statistical model characterizing (a) the average value of Dn, and (b) distribution of Dn. Contribution of the current work is twofold. First, we show feasibility of application of the Dn-based assessment above to commercial Java applications. Second, we validate the approach by showing that the results obtained are consistent with those obtained by means of a series of independent studies, such as layering, presence of cyclic dependencies and Chidambers and Kemerers metrics.
Revised Selected Papers of the International Workshops on Behavior Modeling -- Foundations and Applications - Volume 6368 | 2015
S Serguei Roubtsov; Ella Roubtsova
We define a type of concern called a decision module. Decision modules can be seen as a specific subset of often changeable business rules, identified in requirements. We present decision modules as protocol machines in protocol models. The proven property of such protocol machines is their unidirectional dependency from other protocol machines. The composition technique used in protocol models allows for such local changes in a protocol machine that the behaviour of unchanged machines in the whole system is preserved. n nWe analyse different Java implementation techniques in order to find the possibility of building decision modules having the same properties as in protocol models. We implement decision modules using object composition, reflection, the publisher-subscriber design pattern, interceptors and aspects. The results of our experiments are illustrated with an example of a document submission system. We discuss the functionality of a generic library that we build for adopting the new style of locally changeable implementations with separated decision modules.
international conference on enterprise information systems | 2014
Smj San de Putter; S Serguei Roubtsov; Alexander Serebrenik
Enterprise JavaBeans (EJB) is a component technology used for enterprise application development. EJB n nis currently being implemented by such application servers as GlassFish, OpenEJB, JBoss, WebLogic and n nApache Geronimo. Through the entire history EJB claimed its adherence to the âx80x9cwrite once, run anywhereâx80x9d n nphilosophy of Java suggesting that an application developed for and deployed on one application server should n nbe easily portable to a different application server. Therefore, one could have expected different application n nservers to adhere to the EJB specification. Adherence to this and related Java EE specifications is subject of the n nâx80x9cJava EE 6 Full Profileâx80x9d compatibility testing carried by Oracle. However, anecdotal evidence of discrepancies n nbetween the specification and certified implementations such as GlassFish, has been reported in the literature. n nIn this paper we present an approach allowing one to go beyond the level of anecdotal knowledge and test n nrequirements for EJB application servers with focus on portability. We apply the methodology developed to n ntest how well two popular âx80x9cJava EE 6 Full Profileâx80x9d-compatible EJB application servers, GlassFish and JBoss, n nconform to the requirements in the EJB specification. The results are alarming: both application servers failed n non a number of tests, violating the specification. Moreover, in GlassFish conformance to a requirement varies n ndepending on whether a local or a remote application is used. Lack of conformance to the EJB specification n ncompromises the portability of the EJB applications, deviates from the portability philosophy of Java, leads to n nunexpected behaviour, and hinders the learning process of novice EJB developers.
Archive | 2003
S Serguei Roubtsov; Ee Ella Roubtsova