scholarly journals ConE: A Concurrent Edit Detection Tool for Large-scale Software Development

2022 ◽  
Vol 31 (2) ◽  
pp. 1-26
Author(s):  
Chandra Maddila ◽  
Nachiappan Nagappan ◽  
Christian Bird ◽  
Georgios Gousios ◽  
Arie van Deursen

Modern, complex software systems are being continuously extended and adjusted. The developers responsible for this may come from different teams or organizations, and may be distributed over the world. This may make it difficult to keep track of what other developers are doing, which may result in multiple developers concurrently editing the same code areas. This, in turn, may lead to hard-to-merge changes or even merge conflicts, logical bugs that are difficult to detect, duplication of work, and wasted developer productivity. To address this, we explore the extent of this problem in the pull-request-based software development model. We study half a year of changes made to six large repositories in Microsoft in which at least 1,000 pull requests are created each month. We find that files concurrently edited in different pull requests are more likely to introduce bugs. Motivated by these findings, we design, implement, and deploy a service named Concurrent Edit Detector (ConE) that proactively detects pull requests containing concurrent edits, to help mitigate the problems caused by them. ConE has been designed to scale, and to minimize false alarms while still flagging relevant concurrently edited files. Key concepts of ConE include the detection of the Extent of Overlap between pull requests, and the identification of Rarely Concurrently Edited Files . To evaluate ConE, we report on its operational deployment on 234 repositories inside Microsoft. ConE assessed 26,000 pull requests and made 775 recommendations about conflicting changes, which were rated as useful in over 70% (554) of the cases. From interviews with 48 users, we learned that they believed ConE would save time in conflict resolution and avoiding duplicate work, and that over 90% intend to keep using the service on a daily basis.

2018 ◽  
Vol 1 (1) ◽  
pp. 1-4
Author(s):  
Ferdiyani Haris

In the world of health, many health terms are difficult to understand. The health encyclopedia book is one of the media that presents an explanation of these terms. But in its use, the printed book is less effective and efficient because of limited space and time. So we need a media that explains health terms that are mobile so that they can be used whenever and wherever. This application was designed and implemented for the Android operating system. The system created aims to display definitions and images of health terms. The research method used is the research and development method. While for the development of software systems using the Software Development Life Cycle (SDLC) waterfall software development model. Based on the results of the response to application users conducted with a questionnaire resulting in a value of 88.9% stated very well.


Author(s):  
P. K. KAPUR ◽  
ANU. G. AGGARWAL ◽  
KANICA KAPOOR ◽  
GURJEET KAUR

The demand for complex and large-scale software systems is increasing rapidly. Therefore, the development of high-quality, reliable and low cost computer software has become critical issue in the enormous worldwide computer technology market. For developing these large and complex software small and independent modules are integrated which are tested independently during module testing phase of software development. In the process, testing resources such as time, testing personnel etc. are used. These resources are not infinitely large. Consequently, it is an important matter for the project manager to allocate these limited resources among the modules optimally during the testing process. Another major concern in software development is the cost. It is in fact, profit to the management if the cost of the software is less while meeting the costumer requirements. In this paper, we investigate an optimal resource allocation problem of minimizing the cost of software testing under limited amount of available resources, given a reliability constraint. To solve the optimization problem we present genetic algorithm which stands up as a powerful tool for solving search and optimization problems. The key objective of using genetic algorithm in the field of software reliability is its capability to give optimal results through learning from historical data. One numerical example has been discussed to illustrate the applicability of the approach.


10.28945/3379 ◽  
2009 ◽  
Author(s):  
Lakshmi Narasimhan ◽  
Prapanna Parthasarathy ◽  
Manik Lal Das

Component-Based Software Engineering (CBSE) has shown significant prospects in rapid production of large software systems with enhanced quality, and emphasis on decomposition of the engineered systems into functional or logical components with well-defined interfaces used for communication across the components. In this paper, a series of metrics proposed by various researchers have been analyzed, evaluated and benchmarked using several large-scale publicly available software systems. A systematic analysis of the values for various metrics has been carried out and several key inferences have been drawn from them. A number of useful conclusions have been drawn from various metrics evaluations, which include inferences on complexity, reusability, testability, modularity and stability of the underlying components. The inferences are argued to be beneficial for CBSE-based software development, integration and maintenance.


Author(s):  
Luyin Zhao ◽  
Fadi P. Deek

The open source movement can be traced back to the hacker culture in the ’60s and ’70s. In the early 1980s, the tenet of free software for sharing was explicitly raised by Richard Stallman, who was working on developing software systems and invited others to share, contribute, and give back to the community of cooperative hackers. Stallman, together with other volunteers, established the Free Software Foundation to host GNU (Gnu’s Not Unix, a set of UNIX-compatible software system). Eric Raymond, Stallman’s collaborator, is the primary founder of the Open Source Initiative. Both communities are considered the principal drivers of open source movement.


2015 ◽  
Vol 16 (2) ◽  
pp. 377
Author(s):  
Nidhi Sharma ◽  
Manoj Wadhwa

<p>Software industries are progressively adopting the agile development practices of customized models such as Extreme Programming (XP) or Scrum or Rational Unified Process (RUP). Scrum and Extreme Programming (XP) are frequently used agile models, whereas Rational Unified Process (RUP) is one popular classic plan driven software development methodology. Both agile and plan driven models have their own merits &amp; demerits such as XP has good engineering practices, team collaboration and on the other hand weak documentation, poor performance in medium &amp; large scale projects. Scrum is based on project management practices. RUP model has some limitations such as impractical for small and fast paced projects, tendency to be over budgeted, condemn rapid changes in requirements. This research paper based on proposes hybrid framework eXSRUP by combining strengths of Scrum, XP and RUP by suppressing their limitations to produce high quality software.</p>


Software systems play a key role in most businesses nowadays. Building robust, reliable and scalable software systems require going through a software production cycle (or process). However, it has been noticed that software systems are subjected to changes, whether those amendments are important or not. Those changes to software systems are viewed as a considerable issue in software engineering; they are considered as a burden and cost a lot, especially in cases such as enterprises and large-scale software systems. This study aims to identify the reasons that cause software changes and suggest remedies for those reasons. We survey the opinions of experts such as technical managers, team leaders, and senior developers. We collected 81 responses to our questionnaire, which aimed to establish common software development practices in the local industry. We also conducted 16 semi-structured interviews targeting the most senior experts, in which we directly discussed the reasons and remedies for software changes. Our results highlight the most influential reasons that cause changes to software systems, such as changes to user requirements, requests for new features, software development methodology, solving bugs, refactoring, and weak user experience design. Most importantly, the study solicited solutions that can reduce the need for software changes


Author(s):  
Wusheng Zhang ◽  
Mik Kim

Advocates of application frameworks claim that this technology is one of the most promising, supporting large-scale reuse, increased productivity and quality, and reduced cost of software development. A number of its advocates suggest that the next decade will be a major challenge for the development and deployment of this technology. This study investigates the theory and practice of application frameworks technology to evaluate what works and what does not in systems development. The evaluation is based on quality criteria developed by the authors. The result of the study suggests that application frameworks technology does support large-scale reuse by incorporating other existing reuse techniques such as design patterns, class libraries and components. It also shows that the methodological support pertaining to building and implementing application frameworks is inadequate. Furthermore, it indicates that application frameworks technology may increase the quality of software in terms of correctness and reusability with some penalty factors but there is no guarantee of increasing the extendability and interoperability of software systems. There are still obstacles that restrict the potential benefits claimed by the proponents of application frameworks.


Author(s):  
Gulshan Nematova ◽  
Mobashar Rehman ◽  
Aamir Amin ◽  
Manzoor Ahmed Hashmani

The Software Development (SD) process requires collaboration and sharing of information in order to achieve the best results required and Social Media (SM) has helped this process immensely. SM is frequently utilized by programmers to strengthen their SD tools. In particular, communication is a key component in collaborative development, when designing large-scale software. An engineer can ask his colleagues around the world for help in solving problems or contact users for feedback. However, there is still a need to do research about the benefits as well as limitation of usage of SM in SD process. This study examines research conducted from 2009 until 2019 to help the researchers as well as businesses to learn more about the relation between SM and SD. Inclusion and exclusion criteria is imposed to sort out the research done during the mentioned time period. Type of data extracted from the selected papers includes authors’ name(s), title of the paper, year of publication, type of publication, country of origin, method used, data analysis, study setting and data collection approach. Furthermore, this paper answers to the questions posed in the study, such as what are the potential limitations of using SM for SD, and what reasons are given by the organizations for utilization of SM for SD. This paper provides a systematic literature review of 31 studies on SM and SD.


Author(s):  
Arunasalam Sambhanthan

Business sustainability is critical for any industry. In the software sector, this is often well practiced by organizations according to their sustainability reports. The work documented in this chapter aims to analyze the sustainability reports of software development firms from India to document the best practices in business sustainability. Ten large-scale software development firms were selected, and the themes such as efficiency enhancement, health and safety, opportunity maximization, productivity enhancement, risk management, value creation, and waste management were explored in the reports. The results are presented in this chapter that integrates the knowledge on the practical implications that software organizations in the rest of the world could adapt for better management of sustainability initiatives.


Sign in / Sign up

Export Citation Format

Share Document