- Software Engineering Research
- Software System Performance and Reliability
- Software Engineering Techniques and Practices
- Software Testing and Debugging Techniques
- Advanced Malware Detection Techniques
- Software Reliability and Analysis Research
- Open Source Software Innovations
- Topic Modeling
- Advanced Software Engineering Methodologies
- Online Learning and Analytics
- Teaching and Learning Programming
- Robot Manipulation and Learning
- Occupational Health and Safety Research
- Authorship Attribution and Profiling
- Workplace Health and Well-being
- Robotic Path Planning Algorithms
- Network Security and Intrusion Detection
- Migration and Labor Dynamics
- Algorithms and Data Compression
- Migration, Health and Trauma
- Information and Cyber Security
- Soviet and Russian History
- Hate Speech and Cyberbullying Detection
- Global Health Workforce Issues
- Refrigeration and Air Conditioning Technologies
University of Maroua
2021
Delft University of Technology
2018-2019
Saint Petersburg State University of Architecture and Civil Engineering
2018
Institute of Radio-Engineering and Electronics
2017
Lomonosov Moscow State University
2016
Moscow Power Engineering Institute
2002-2011
As a novel coronavirus swept the world in early 2020, thousands of software developers began working from home. Many did so on short notice, under difficult and stressful conditions.This study investigates effects pandemic developers' wellbeing productivity.A questionnaire survey was created mainly existing, validated scales translated into 12 languages. The data analyzed using non-parametric inferential statistics structural equation modeling.The received 2225 usable responses 53 countries....
Selecting reviewers for code changes is a critical step an efficient review process. Recent studies propose automated reviewer recommendation algorithms to support developers in this task. However, the evaluation of algorithms, when done apart from their target systems and users (i.e., tools change authors), leaves out important aspects: perception recommendations, influence recommendations on human choices, effect user experience. This study first evaluate recommender vivo. We compare...
One recent, significant advance in modeling source code for machine learning algorithms has been the introduction of path-based representation - an approach consisting representing a snippet as collection paths from its syntax tree. Such efficiently captures structure code, which, turn, carries semantics and other information. Building involves parsing extracting tree; these steps build up to substantial technical job. With no common reusable toolkit existing this task, burden mining diverts...
Authorship attribution (i.e., determining who is the author of a piece source code) an established research topic. State-of-the-art results for authorship problem look promising software engineering field, where they could be applied to detect plagiarized code and prevent legal issues. With this article, we first introduce new language-agnostic approach code. Then, discuss limitations existing synthetic datasets attribution, propose data collection that delivers better reflect aspects...
Modern distributed version control systems, such as Git, offer support for branching — the possibility to develop parts of software outside master trunk. Consideration repository structure in Mining Software Repository (MSR) studies requires a thorough approach mining, but there is no well-documented, widespread methodology regarding handling merge commits and branches. Moreover, still lack knowledge extent which considering branches during MSR impacts results studies. In this study, we set...
Modern industrial robots can work alongside human workers and coordinate with other robots. This means they perform complex tasks, but doing so requires programming. Therefore, are typically programmed by experts, there not enough to meet the growing demand for To reduce need researchers have tried make robot programming accessible factory without experience. However, none of that previous supports coordinating multiple arms on same task. In this paper we present four block-based language...
Onboarding is a critical stage in the tenure of software developers with project, because meaningful contribution requires familiarity codebase. Some teams employ practices, such as mentoring, to help new get accustomed faster. Code review, i.e., manual inspection code changes, an opportunity for sharing knowledge and helping onboarding.
The process of writing code and use features in an integrated development environment (IDE) is a fruitful source data computing education research. Existing studies records students' actions the IDE, consecutive snapshots, compilation events, others, to gain deep insight into student programming.
The application of machine learning algorithms to source code has grown in the past years. Since these are quite sensitive input data, it is not surprising that researchers experiment with representations. Nowadays, a popular starting point represent abstract syntax trees (ASTs). Abstract have been used for long time various software engineering domains, and particular IDEs. API modern IDEs allows manipulate traverse ASTs, resolve references between elements, etc. Such can enrich ASTs new...
Bus factor is a metric that identifies how resilient the project to sudden engineer turnover. It states minimal number of engineers have be hit by bus for stalled. Even though often discussed in community, few studies consider its general relevance. Moreover, existing tools estimation focus solely on data from version control systems, even there exists other channels knowledge generation and distribution. With survey 269 engineers, we find perceived as an important problem collective...
In software engineering, a great number of new approaches are being actively researched, and lot tools developed based on them. These require framework for their creation an opportunity to be used by potential developers. Modern IDEs provide both. this paper, we describe the main capabilities IntelliJ Platform that could useful researchers developing code analysis tools. To illustrate benefits using platform, several use cases might interested in: mining data, running machine learning models...
In this work, we apply anomaly detection to source code and bytecode facilitate the development of a programming language its compiler. We define as fragment that is different from typical written in particular language. Identifying such fragments beneficial both developers end users, since anomalies may indicate potential issues with compiler or runtime performance. Moreover, could correspond problems design. For study, choose Kotlin target outline discuss approaches obtaining vector...
Inspection of code changes is a time-consuming task that constitutes big part everyday work software engineers. Existing IDEs provide little information about the semantics within file editor view. Therefore developers have to track across multiple files, which hard with large codebases.In this paper, we present REFACTORINSIGHT, plugin for IntelliJ IDEA introduces smart diff in Java and Kotlin where refactorings are auto-folded provided their description, thus allowing users focus on modify...
We propose a new approach to building vector representations of individual developers by capturing their contribution style, or coding style. Such can find use in the next generation software development team collaboration tools, for example enabling tools track knowledge transfer teams. The key idea our is avoid using explicitly defined metrics style and instead build through training model authorship recognition extracting from trained model. By empirically evaluating output approach, we...
Networks of collaboration between engineers are reflected in traces developers' activity version control systems (VCSs). Extracting data from Git repositories is an essential task for researchers and practitioners working on socio-technical analysis, but it requires substantial engineering work. With increasing interest analysing applying practice, there no flexible easily reusable tools to retrieve information VCSs. common toolkit existing this task, the burden mining diverts focus their...
Software projects experience the departure of developers due to various reasons. As are one main sources knowledge in software projects, their absence will inevitably result a certain degree depletion. Bus Factor (BF) is metric evaluate how this loss can affect project's continuity. Conventionally, BF calculated as smallest set developers, removing over half project upon departure. Current state-of-the-art approaches measure developers' by number authored files, utilizing version control...
Bus factor is a metric that identifies how resilient the project to sudden engineer turnover. It states minimal number of engineers have be hit by bus for stalled. Even though often discussed in community, few studies consider its general relevance. Moreover, existing tools estimation focus solely on data from version control systems, even there exists other channels knowledge generation and distribution. With survey 269 engineers, we find perceived as an important problem collective...
Writing software tests is laborious and time-consuming. To address this, prior studies introduced various automated test-generation techniques. A well-explored research direction in this field unit test generation, wherein artificial intelligence (AI) techniques create for a method/class under test. While many of these have primarily found applications context, existing tools (e.g., EvoSuite, Randoop, AthenaTest) are not user-friendly tailored to single technique. This paper introduces...
Writing software tests is laborious and time-consuming. To address this, prior studies introduced various automated test-generation techniques. A well-explored research direction in this field unit test generation, wherein artificial intelligence (AI) techniques create for a method/class under test. While many of these have primarily found applications context, existing tools (e.g., EvoSuite, Randoop, AthenaTest) are not user-friendly tailored to single technique. This paper introduces...