English
Related papers

Related papers: Code forking in open-source software: a requiremen…

200 papers

As software has become an integral part of scientific workflows, reproducible research practices must take it into account. In what way? Archiving source code is a necessary but insufficient condition. The ability to redeploy software…

Software Engineering · Computer Science 2021-12-09 Ludovic Courtès

The Open Source Software movement has been growing exponentially for a number of years with no signs of slowing. Driving this growth is the widespread availability of libraries and frameworks that provide many functionalities. Developers…

Software Engineering · Computer Science 2022-06-22 Stan Zajdel , Diego Elias Costa , Hafedh Mili

Code search is a core software engineering task. Effective code search tools can help developers substantially improve their software development efficiency and effectiveness. In recent years, many code search studies have leveraged…

Software Engineering · Computer Science 2021-10-12 Chao Liu , Xin Xia , David Lo , Cuiyun Gao , Xiaohu Yang , John Grundy

Open source projects play a significant role in software production. Most of the software projects reuse and build upon the existing open source projects and libraries. While reusing is a time and cost-saving strategy, some of the key…

Software Engineering · Computer Science 2022-08-03 Javad Ghofrani , Paria Heravi , Kambiz A. Babaei , Mohammad Soorati

Refactoring aims at improving code non-functional attributes without modifying its external behavior. Previous studies investigated the motivations behind refactoring by surveying developers. With the aim of generalizing and complementing…

Refactoring is an established technique from the object-oriented (OO) programming community to restructure code: it aims at improving software readability, maintainability and extensibility. Although refactoring is not tied to the…

Software Engineering · Computer Science 2007-05-23 Alexander Serebrenik , Tom Schrijvers , Bart Demoen

Documenting frameworks provides its users and maintainers useful information on that software's architecture, design, and customization. Despite documentation's importance, the process of creating and maintaining it is considered to imply…

Software Engineering · Computer Science 2022-03-29 João Santos , Filipe Correia

Requirements and code, in conventional software engineering wisdom, belong to entirely different worlds. Is it possible to unify these two worlds? A unified framework could help make software easier to change and reuse. To explore the…

Software Engineering · Computer Science 2016-02-18 Alexandr Naumchev , Bertrand Meyer , Victor Rivera

Modern code review is a common and essential practice employed in both industrial and open-source projects to improve software quality, share knowledge, and ensure conformance with coding standards. During code review, developers may…

Software Engineering · Computer Science 2021-02-11 Eman Abdullah AlOmar , Hussein AlRubaye , Mohamed Wiem Mkaouer , Ali Ouni , Marouane Kessentini

Open source software brings benefit to software community, but also introduces legal risks caused by license violations, which result in serious consequences such as lawsuits and financial losses. To mitigate legal risks, some approaches…

Software Engineering · Computer Science 2023-10-13 Kaifeng Huang , Yingfeng Xia , Bihuan Chen , Zhuotong Zhou , Jin Guo , Xin Peng

Code cloning plays a very important role in open-source software engineering. The presence of clones within a project may indicate a need for refactoring, and clones between projects are even more interesting, since code migration takes…

Software Engineering · Computer Science 2021-08-16 Yaroslav Golubev , Timofey Bryksin

One common task of developing or maintaining software is searching the source code for information like specific method calls or write accesses to certain fields. This kind of information is required to correctly implement new features and…

Software Engineering · Computer Science 2016-11-18 Markus Kimmig , Martin Monperrus , Mira Mezini

Context: Software-intensive organizations' rationale for sharing Open Source Software (OSS) may be driven by both idealistic, strategic and commercial objectives, and include both monetary as well as non-monetary benefits. To gain the…

Software Engineering · Computer Science 2022-08-02 Johan Linåker , Björn Regnell

To refactor already working code while keeping reliability, compatibility and perhaps security, we can borrow ideas from micropass/nanopass compilers. By treating the procedure of software refactoring as composing code transformations, and…

Software Engineering · Computer Science 2023-08-15 Yu Liu

Software systems are getting more complex as the system grows where maintaining such system is a primary concern for the industry. Code clone is one of the factors making software maintenance more difficult. It is a process of replicating…

Software Engineering · Computer Science 2012-05-28 Md. Monzur Morshed , Md. Arifur Rahman , Salah Uddin Ahmed

Aspects of frameworks, such as inversion of control and the structure of framework applications, require developers to adjust their debugging strategies as compared to debugging sequential programs. However, the benefits and challenges of…

Software Engineering · Computer Science 2018-01-17 Zack Coker , David Gray Widder , Claire Le Goues , Christopher Bogart , Joshua Sunshine

Nowadays, many software projects are partially or completely open-source based. There is an increasing need for companies to participate in open-source software (OSS) projects, e.g., in order to benefit from open source ecosystems. OSS…

Software Engineering · Computer Science 2013-11-07 Fabian Fagerholm , Patrik Johnson , Alejandro Sánchez Guinea , Jay Borenstein , Jürgen Münch

Program comprehension is a fundamental task in software development and maintenance processes. Software developers often need to understand a large amount of existing code before they can develop new features or fix bugs in existing…

Machine Learning · Computer Science 2019-10-29 Vinoj Jayasundara , Nghi Duy Quoc Bui , Lingxiao Jiang , David Lo

There are often multiple ways to implement the same requirement in source code. Different implementation choices can result in code snippets that are similar, and have been defined in multiple ways: code clones, examples, simions and…

Software Engineering · Computer Science 2020-06-16 Venkatesh Vinayakarao , Devika Sondhi , Sumit Keswani , Rahul Purandare , Anita Sarma

In an era of software crisis, the move of firms towards distributed software development teams is being challenged by emerging collaboration issues. On this matter, the open-source phenomenon may shed some light, as successful cases on…

Computers and Society · Computer Science 2014-08-15 Jose Teixeira , Tingting Lin