25 research outputs found

    Towards Understanding and Improving Code Review Quality

    Get PDF
    Code review is an essential element of any mature software development project, it is key to ensuring the long-term quality of the code base. Code review aims at evaluating code contributions submitted by developers before they are committed into the project's version control system. Code review is considered to be one of the most effective QA practices for software projects. In principle, the code review process should improve the quality of committed code changes. However, in practice, the execution of this process can still allow bugs to enter into the codebase unnoticed. Moreover, the notion of the quality of the code review process is not limited to the quality of the source code that passed a review. It goes beyond that, the quality of the code review process can affect how successful a software development project is. For instance, in the world of open source software (OSS), a particular execution code review process may encourage or deter the contributions from ``external" developers, the people who are essential to OSS projects. We claim that by analyzing various software artifacts as well as assessing developers' daily experience, we can create models that represent the established code review processes and highlight potentially weak points in their execution. Having this information, the stakeholders can channel the available resources to address the deficiencies in their code review process. To support such a claim, we perform the following studies. First, we study the tool-based code review processes of two large OSS projects that use traditional model of evaluating code contributions. We analyse the software artifacts extracted from the issue tracking systems to understand what can affect code review response time and eventual outcome. We found that code review is affected not only by technical factors (e.g., patch size, priority, etc.) but also by non-technical ones (e.g., developers' affiliation, their experience, etc.). Second, we investigate the quality of contributions that passed the code review process and explore the relationships between the reviewers' code inspections and a set of factors, both personal and social in nature, that might affect the quality of such inspections. By mining the software repository and the issue tracking system of the Mozilla project, as well as applying the SZZ algorithm to detect bug-inducing changes, we were able to find that 54\% of the reviewed changes introduced bugs in the code. Our findings also showed that both personal metrics, such as reviewer workload and experience, and participation metrics, such as the number of involved developers, are associated with the quality of the code review process. Third, we further study the topic of code review quality by studying the developers' attitude and perception of review quality as well as the factors they believe to be important. To accomplish this, we surveyed 88 Mozilla core developers, and applied grounded theory to analyze their responses. The results provide developer insights into how they define review quality, what factors contribute to how they evaluate submitted code and what challenges they face when performing review tasks. Finally, we examined the code review processes executed in a completely different environment --- an industrial project that uses pull-based development model. Our case study was Active Merchant project developed by Shopify Inc. We performed a quantitative analysis of their software repository to understand the effects of a variety of factors on pull request review time and outcome. After that, we surveyed the developers to understand their perception of the review process and how it is different from developers' perception in traditional development model. The studies presented in this thesis focus on code review processes performed by projects of different nature --- OSS vs. industrial, traditional vs. pull-based. Nevertheless, we observed similar patterns in the execution of code review that the stakeholder should be aware of to maintain the long-term health of the projects

    Mining modern repositories with elasticsearch

    Full text link
    Organizations are generating, processing, and retaining data at a rate that often exceeds their ability to analyze it effec-tively; at the same time, the insights derived from these large data sets are often key to the success of the organi-zations, allowing them to better understand how to solve hard problems and thus gain competitive advantage. Be-cause this data is so fast-moving and voluminous, it is in-creasingly impractical to analyze using traditional offline, read-only relational databases. Recently, new β€œbig data ” technologies and architectures, including Hadoop and NoSQL databases, have evolved to better support the needs of organizations analyzing such data. In particular, Elasticsearch β€” a distributed full-text search engine β€” explicitly addresses issues of scalability, big data search, and performance that relational databases were simply never designed to support. In this paper, we reflect upon our own experience with Elasticsearch and highlight its strengths and weaknesses for performing modern mining software repositories research

    User Behavior Analysis Using Web-based Machine Learning Features: new solutions for IT business

    Get PDF
    The development of information technologies in IT business increases the interest in executing machine learning models directly on the client browser, reducing the load on the server and the number of levels of access to it. At the same time, some features have advantages and disadvantages, associated with a smaller amount of information transmitted over the network, limited power of client devices, and others. Among modern client-side tools with machine learning capabilities, Tensorflow.js is suitable, which can be used to analyse user behaviour in web applications for classification and clustering models based on their behavioural patterns, predict future user behaviour trends, detect unusual or suspicious user actions, recommendation models based on their previous behaviour. The article analyses the features of implementation and the limitations associated with the use, specifically regarding the behaviour of users in social networks. The model was formed based on data from news posts on social networks Instagram and Facebook, with the following parameters of user activity, such as the number of likes, comments, and shares according to the post's text. These aspects are a significant addition to the tools that can be applied within the economic, technical, and other means of IT business development. Considering this, it is advisable to study the formation and development of the innovation management system in e-business in the future.The development of information technologies in IT business increases the interest in the execution of machine learning models directly on the client browser, reduces the load on the server and the number of levels of access to it. At the same time, there are some features that have advantages and disadvantages, which are associated with a smaller amount of information transmitted over the network, limited power of client devices, and others. Among modern client-side tools with machine learning capabilities, Tensorflow.js is suitable, which can be used to analyze user behavior in web applications for classification and clustering models based on their behavioral patterns, predict future user behavior trends, detect unusual or suspicious user actions, recommendation models based on their previous behavior. The article analyzes the features of implementation, the limitations associated with the use specifically for the behavior of users in social networks. The model was formed on the basis of data from news posts on social networks Instagram and Facebook with the following parameters of user activity as the number of likes, comments and shares according to the text of the post. These aspects are a significant addition to the tools that can be applied within the set of economic, technical and other means for IT business development. Taking this into account, in the future it is advisable to study the formation and development of the innovation management system in e-business

    Бпосіб визначСння окисно-Π²Ρ–Π΄Π½ΠΎΠ²Π»ΡŽΠ²Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†Ρ–Π°Π»Ρƒ стінки кишки

    Get PDF
    Бпосіб визначСння окисно-Π²Ρ–Π΄Π½ΠΎΠ²Π»ΡŽΠ²Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†Ρ–Π°Π»Ρƒ стінки кишки Π½Π°Π»Π΅ΠΆΠΈΡ‚ΡŒ Π΄ΠΎ Π΅ΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½ΠΎΡ— ΠΌΠ΅Π΄ΠΈΡ†ΠΈΠ½ΠΈ, ΠΌΠΎΠΆΠ΅ Π±ΡƒΡ‚ΠΈ використаний Π² Π°Π±Π΄ΠΎΠΌΡ–Π½Π°Π»ΡŒΠ½Ρ–ΠΉ Ρ…Ρ–Ρ€ΡƒΡ€Π³Ρ–Ρ—. ΠŸΡ€ΠΈ Ρ†ΠΈΡ‚ΡƒΠ²Π°Π½Π½Ρ– Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, використовуйтС посилання http://essuir.sumdu.edu.ua/handle/123456789/999

    Π ΠΎΠ·Ρ€ΠΎΠ±ΠΊΠ° Π΅Π½Π΅Ρ€Π³ΠΎΠ·Π±Π΅Ρ€Ρ–Π³Π°ΡŽΡ‡ΠΎΠ³ΠΎ обладнання Ρ‚Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‡Π½Π° оптимізація процСсу грануляції Π°Π·Π°Ρ‚Π½ΠΈΡ… Π΄ΠΎΠ±Ρ€ΠΈΠ² Π±Π°ΡˆΡ‚ΠΎΠ²ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ

    Get PDF
    Π’ΠΈΠΊΠΎΠ½Π°Π½ΠΈΠΉ ΠΏΠ°Ρ‚Π΅Π½Ρ‚Π½ΠΈΠΉ ΠΏΠΎΡˆΡƒΠΊ ΠΏΠΎ сучасним напрямкам створСння грануляційного обладнання Ρ‚Π° Π²ΠΈΠ·Π½Π°Ρ‡Π΅Π½Ρ– Π½Π°ΠΉΠ±Ρ–Π»ΡŒΡˆ пСрспСктивні конструкції грануляторів ΠΏΠ»Π°Π²Ρƒ Π°Π·ΠΎΡ‚Π½ΠΈΡ… Ρ‚Π° комплСксних Π΄ΠΎΠ±Ρ€ΠΈΠ². Π’ Ρ€ΠΎΠ±ΠΎΡ‚Ρ– ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ уточнСння ΠΌΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎΡ— ΠΌΠΎΠ΄Π΅Π»Ρ– Ρ€ΡƒΡ…Ρƒ ΠΏΠ»Π°Π²Ρƒ для Π²Ρ–Π΄Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ²ΠΈΡ… Π»ΠΎΠΏΠ°Ρ‚Π΅Π²ΠΈΡ… Ρ‚Π° Π²ΠΈΡ…Ρ€ΠΎΠ²ΠΈΡ… грануляторів Π· урахуванням Π²ΠΏΠ»ΠΈΠ²Ρƒ особливостСй конструкції Ρ—Ρ… Π²Π½ΡƒΡ‚Ρ€Ρ–ΡˆΠ½Ρ–Ρ… пристроїв Π½Π° Π³Ρ–Π΄Ρ€ΠΎΠ΄ΠΈΠ½Π°ΠΌΡ–ΠΊΡƒ Ρ€ΡƒΡ…Ρƒ Ρ‚Π° процСс дроблСння струмСня Ρ€Ρ–Π΄ΠΈΠ½ΠΈ, розглянуті моТливості Ρ€Π΅Π³ΡƒΠ»ΡŽΠ²Π°Π½Π½Ρ процСсу Ρ€ΠΎΠ·ΠΏΠ°Π΄Ρƒ Ρ‚Π΅Ρ‡Ρ–Ρ— Π·Π° допомогою Π·ΠΎΠ²Π½Ρ–ΡˆΠ½Ρ–Ρ… Π·Π±ΡƒΡ€Π΅Π½ΡŒ, виявлСні основні ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΡŽΠ²Π°Π½Π½Ρ грануляторів, створСна ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° Ρ–Π½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎΠ³ΠΎ Ρ€ΠΎΠ·Ρ€Π°Ρ…ΡƒΠ½ΠΊΡƒ. ΠŸΡ€ΠΈ Ρ†ΠΈΡ‚ΡƒΠ²Π°Π½Π½Ρ– Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, використовуйтС посилання http://essuir.sumdu.edu.ua/handle/123456789/448
    corecore