scispace - formally typeset
Search or ask a question
Author

Serguei Roubtsov

Bio: Serguei Roubtsov is an academic researcher from Eindhoven University of Technology. The author has contributed to research in topics: Sequence diagram & Enterprise JavaBeans. The author has an hindex of 8, co-authored 27 publications receiving 188 citations. Previous affiliations of Serguei Roubtsov include VTT Technical Research Centre of Finland & Lawrence Technological University.

Papers
More filters
Proceedings ArticleDOI
17 Jun 2013
TL;DR: MatLAB/Simulink metrics for assessing the modularity of Simulink models are defined and it is observed that high coupling metric values frequently correspond to number of faults.
Abstract: 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.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.

43 citations

Proceedings ArticleDOI
24 Mar 2009
TL;DR: The Software Quality Assessment and Visualization Toolset (SQuAVisiT), a flexible tool for visual software analytics that allows for integration of multiple programming languages and variety of analysis and visualization tools, is presented.
Abstract: We present the Software Quality Assessment and Visualization Toolset (SQuAVisiT), a flexible tool for visual software analytics. Visual software analytics supports analytical reasoning about software systems facilitated by interactive visual interfaces. In particular, SQuAVisiT assists software developers, maintainers and assessors in performing quality assurance and maintenance tasks. Flexibility ofSQuAVisiT allows for integration of multiple programming languages and variety of analysis and visualization tools.SQuAVisiT has been successfully applied in a number of case studies, ranging from hundreds to thousands KLOC,from homogeneous to heterogeneous systems.

26 citations

Proceedings ArticleDOI
30 Sep 2007
TL;DR: The SQuAVisiT toolset allows a fully automatic extraction of metrics, call information, and code duplication from COBOL source code, and can be easily converted and exported to a set of visualization tools.
Abstract: Software quality assessment of large COBOL industrial legacy systems, both for maintenance or migration purposes, mounts a serious challenge. We present the software quality assessment and visualisation toolset (SQuAVisiT), which assists users in performing the above task. First, it allows a fully automatic extraction of metrics, call information, and code duplication from COBOL source code. This information, stored into a database, can be easily converted and exported to a set of visualization tools. We incorporated several such third-party tools for the visualization of call relations and system structure, and metrics visualization. These tools use novel visualization techniques such as bundled edges, matrix plots, and table lens. We illustrate the usage of our toolset with an industrial case study on a COBOL system comprising about 3000 modules and 1.7 million lines of code.

23 citations

Proceedings ArticleDOI
17 May 2009
TL;DR: This paper presents two aggregate measures: average normalised distance from the main sequence D̅n, and parameter of the fitted statistical model λ, and shows that applying the same measures to different versions of the same system provides valuable insights in system architecture evolution.
Abstract: Since their introduction in 1994 the Martin's metrics became popular in assessing object-oriented software architectures. While one of the Martin metrics, normalised distance from the main sequence D n , 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 D n -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.

18 citations

Journal ArticleDOI
TL;DR: I2SD, Interceptors to Sequence Diagrams, a tool for reverse engineering EJB applications with interceptors to UML sequence diagrams, 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.
Abstract: An Enterprise JavaBeans (EJB) interceptor is a software mechanism that provides for introducing behaviour 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 i nterceptors, 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 15 different intertwined rules defined in 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 unified modeling language (UML) sequence diagrams. I2SD provides the developer with a visual feedback and can be used by quality managers to obtain insights in the ways interceptors are used in their project.

15 citations


Cited by
More filters
DOI
16 May 2015
TL;DR: This paper presents and discusses a software obfuscation prototype tool based on the LLVM compilation suite that supports basic instruction substitutions, insertion of bogus control-flow constructs mixed with opaque predicates, control- Flow flattening, procedures merging as well as a code tamper-proofing algorithm embedding code and data checksums directly in the control- flow flattening mechanism.
Abstract: Software security with respect to reverse-engineering is a challenging discipline that has been researched for several years and which is still active. At the same time, this field is inherently practical, and thus of industrial relevance: indeed, protecting a piece of software against tampering, malicious modifications or reverse-engineering is a very difficult task. In this paper, we present and discuss a software obfuscation prototype tool based on the LLVM compilation suite. Our tool is built as different passes, where some of them have been open-sourced and are freely available, that work on the LLVM Intermediate Representation (IR) code. This approach brings several advantages, including the fact that it is language-agnostic and mostly independent of the target architecture. Our current prototype supports basic instruction substitutions, insertion of bogus control-flow constructs mixed with opaque predicates, control-flow flattening, procedures merging as well as a code tamper-proofing algorithm embedding code and data checksums directly in the control-flow flattening mechanism.

207 citations

Journal ArticleDOI
TL;DR: Whether the sentiment analysis tools agree with the sentiment recognized by human evaluators (as reported in an earlier study) as well as with each other is studied.
Abstract: Recent years have seen an increasing attention to social aspects of software engineering, including studies of emotions and sentiments experienced and expressed by the software developers. Most of these studies reuse existing sentiment analysis tools such as SentiStrength and NLTK. However, these tools have been trained on product reviews and movie reviews and, therefore, their results might not be applicable in the software engineering domain. In this paper we study whether the sentiment analysis tools agree with the sentiment recognized by human evaluators (as reported in an earlier study) as well as with each other. Furthermore, we evaluate the impact of the choice of a sentiment analysis tool on software engineering studies by conducting a simple study of differences in issue resolution times for positive, negative and neutral texts. We repeat the study for seven datasets (issue trackers and Stack Overflow questions) and different sentiment analysis tools and observe that the disagreement between the tools can lead to diverging conclusions. Finally, we perform two replications of previously published studies and observe that the results of those studies cannot be confirmed when a different sentiment analysis tool is used.

166 citations

01 Jan 1994
TL;DR: In this paper, a formal semantics of Basic Message Sequence Charts is presented, based on the semantics of the full language as being proposed for standardization in the International Telecommunication Union.
Abstract: Message Sequence Charts are a widely used technique for the visualization of the communications between system components. We present a formal semantics of Basic Message Sequence Charts, exploiting techniques from process algebra. This semantics is based on the semantics of the full language as being proposed for standardization in the International Telecommunication Union.

151 citations

Proceedings ArticleDOI
01 Mar 2011
TL;DR: This work proposes to apply process mining techniques, originally developed for business process analysis, to address the challenge of successful information extraction by addressing the necessity to simultaneously analyze different repositories and to combine the information obtained.
Abstract: Software developers’ activities are in general recorded in software repositories such as version control systems, bug trackers and mail archives While abundant information is usually present in such repositories, successful information extraction is often challenged by the necessity to simultaneously analyze different repositories and to combine the information obtained We propose to apply process mining techniques, originally developed for business process analysis, to address this challenge However, in order for process mining to become applicable, different software repositories should be combined, and “related” software development events should be matched: eg, mails sent about a file, modifications of the file and bug reports that can be traced back to it The combination and matching of events has been implemented in FRASR (Framework for Analyzing Software Repositories), augmenting the process mining framework ProM FRASR has been successfully applied in a series of case studies addressing such aspects of the development process as roles of different developers and the way bug reports are handled

127 citations