The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
At present, software development environment has been changing into new development paradigm. Moreover, a software development paradigm based on an open source project is rapidly spreading.In this paper, we propose a software reliability assessment tool incorporating flexible software reliability growth models based on a nonhomogeneous Poisson process and stochastic differential equations for distributed...
Dealing with high testing costs remains an important problem in Software Engineering. Test suite parallelization is an important approach to address this problem. This paper reports our findings on the usage and impact of test suite parallelization in open-source projects. It provides recommendations to practitioners and tool developers to speed up test execution. Considering a set of 468 popular...
Open source software systems are based on the principle of open collaboration for innovation and production. They highly depend on volunteer developers contributions for their existence and continuity; attracting new volunteer developers is crucial for the OSS community sustainability. However, new developers might be hesitant to join and participate to a project due to many obstacles such as lack...
Technical debt refers to the phenomena of taking shortcuts to achieve short term gain at the cost of higher maintenance efforts in the future. Recently, approaches were developed to detect technical debt through code comments, referred to as Self-Admitted Technical Debt (SATD). Due to its importance, several studies have focused on the detection of SATD and examined its impact on software quality...
Since the beginning of the 90s, different tools have emerged to support integration and upgrading of most of the existing operating systems. These tools, called Package Managers, are used to atomically add and remove software pieces coming from external repositories. Based on Package Managers, the software community created Dependency Managers with the aim to give support to the development of wide-scale...
Many real-world systems can be represented as networks, such as social networks, Internet, metabolic networks, food webs, neural networks, communication and distribution networks. The same approach can be adopted for the software-systems. Although this topic has been subject of research for some time now, there are still unresolved problems. In our work, we have analyzed ten versions of Java development...
Cyberlearning is challenged by the lack of personal and assessment-driven learning, and students are often puzzled by the lack of instructor guidance and feedback; the huge volume and diversity of the learning materials; and the lack of the ability to zoom in from the general concepts to the more specific ones, or the opposite. Knowledge-driven tutoring systems are needed to improve the cyberlearning...
Searching for vulnerabilities in Android apps through approaches based on the app's dex bytecode has been applied to a lot of researches. This approach, called late detection, is applied to apps already released, and usually doesn't identify vulnerabilities before users have been exposed. This article presents a method based on static analysis with matching patterns for identifying these vulnerabilities...
Software maintenance is an important issue during the software design life cycle, especially, in late stages. Frequent changes in the software system with lack of documentation lead to the increase in the cost of maintenance. For this reason an important step for software maintenance is detecting patterns from the source code to provide relevant information that can help in understanding the system...
Continuous Integration (CI) is a cornerstone of modern quality assurance, providing on-demand builds (compilation and tests) of code changes or software releases. Despite the myriad of CI tools and frameworks, the basic activity of interpreting build results is not straightforward, due to not only the number of builds being performed but also, and especially, due to the phenomenon of build inflation,...
Code comments are a key software component containing information about the underlying implementation. Several studies have shown that code comments enhance the readability of the code. Nevertheless, not all the comments have the same goal and target audience. In this paper, we investigate how six diverse Java OSS projects use code comments, with the aim of understanding their purpose. Through our...
JavaScript extends its uses from client-side web applications to mobile applications, but testing JavaScript applications is not yet satisfactory. Researchers have not spent much attention on testing JavaScript programs, and existing coverage metrics and testing mechanisms for C and Java may not be applicable to JavaScript because of its extremely dynamic semantics without any compile-time checks...
Continuous Integration (CI) has become a common practice in both industrial and open-source software development. While CI has evidently improved aspects of the software development process, errors during CI builds pose a threat to development efficiency. As an increasing amount of time goes into fixing such errors, failing builds can significantly impair the development process and become very costly...
Refactoring edits are very common during agile development. Due to their inherent complexity, refactorings are know to be error prone. In this sense, refactoring edits require validation to check whether no behavior change was introduced. A valid way for validating refactorings is the use of automatically generated regression test suites. However, although popular, it is not certain whether the tools...
Defect reporting and correction is one of the most crucial part in any phase of software development. This is a very costly activity. A lot of time, effort and resources can be saved if the defects can be predicted beforehand, using a suitable training data set. For this, the generation of defect reports which reports the classes that are defective and computes the required software metrics is required...
Data stores are typically accessed using a clientserver paradigm wherein the client runs as part of an application process which is trying to access the data store. This paper presents the design and implementation of enhanced data store clients having the capability of caching data for reducing the latency for data accesses, encryption for providing confidentiality before sending data to the server,...
Programmer-provided identifier names convey information about the semantics of a program. This information can complement traditional program analyses in various software engineering tasks, such as bug finding, code completion, and documentation. Even though identifier names appear to be a rich source of information, little is known about their properties and their potential usefulness. This paper...
Despite the emergence of UML as the defacto modeling and design tool for software engineering, its adoption remains dismal. Software development, particularly in the open source community, remains code-centric. Adoption of UML in open source projects represents a significant lost opportunity. In this paper, we present an approach to encourage upfront design practices and the adoption of UML modeling...
Several fault predictors were proposed in the context of Spectrum-based Fault Localization approaches to rank software components in order of suspiciousness of being the root-cause of observed failures. Previous work has also shown that some of the fault predictors (near-)optimally rank software components, provided that there is one fault in the system. Despite this, further work is being spent on...
We study effects of compilation and decompilation to code clone detection in Java. Compilation/decompilation canonicalise syntactic changes made to source code and can be used as source code normalisation. We used NiCad to detect clones before and after decompilation in three open source software systems, JUnit, JFreeChart, and Tomcat. We filtered and compared the clones in the original and decompiled...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.