1,721,253 research outputs found
Towards a trustworthness model for Open Source software.
Trustworthiness is one of the main aspects that contribute to the adoption/rejection of a software product. This is actually true for any product in general, but it is especially true for Open Source Software (OSS), whose trustworthiness is sometimes still regarded as not as guaranteed as that of closed source products. Only recently, several industrial software organizations have started investigating the potential of OSS products as users or even producers. As they are now getting more and more involved in the OSS world, these software organizations are clearly interested in ways to assess the trustworthiness of OSS products, so as to choose OSS products that are adequate for their goals and needs.
Trustworthiness is a major issue when people and organizations are faced with the selection and the adoption of new software. Although some ad-hoc methods have been proposed, there is not yet general agreement about which software characteristics contribute to trustworthiness. Such methods –like the OpenBQR [30] and other similar approaches [58][59]– assess the trustworthiness of a software product by means of a weighted sum of specific quality evaluations. None of the existing methods based on weighted sums has been widely adopted. In fact, these methods are limited in that they typically leave the user with two hard problems, which are common to models built by means of weighted sums: identify the factors that should be taken into account, and assign to each of these factors the “correct” weight to adequately quantify its relative importance.
Therefore, this work focuses on defining an adequate notion of trustworthiness of Open Source products and artifacts and identifying a number of factors that influence it to help and guide both developers and users when deciding whether a given program (or library or other piece of software) is “good enough” and can be trusted in order to be used in an industrial or professional context.
The result of this work is a set of estimation models for the perceived trustworthiness of OSS.
This work has been carried out in the context of the IST project QualiPSo (http://www.qualipso.eu/), funded by the EU in the 6th FP (IST-034763).
The first step focuses on defining an adequate notion of trustworthiness of software products and artifacts and identifying a number of factors that influence it.
The definition of the trustworthiness factors is driven by specific business goals for each organization. So, we carried out a survey to elicit these goals and factors directly from industrial players, trying to derive the factors from the real user needs instead of deriving them from our own personal beliefs and/or only by reading the available literature.
The questions in the questionnaire were mainly classified in three different categories:
1) Organization, project, and role. 2) Actual problems, actual trustworthiness evaluation processes, and factors. 3) Wishes. These questions are needed to understand what information should be available but is not, and what indicators should be provided for an OSS product to help its adoption.
To test the applicability of the trustworthiness factors identified by means of the questionnaires, we selected a set of OSS projects, widely adopted and generally considered trustable, to be used as references. Afterwards, a first quick analysis was carried out, to check which factors were readily available on each project’s web site.
The idea was to emulate the search for information carried out by a potential user, who browses the project’s web sites, but is not willing to spend too much effort and time in carrying out a complete analysis.
By analyzing the results of this investigation, we discovered that most of the trustworthiness factors are not generally available with information that is enough to make an objective assessment, although some factors have been ranked as very important by the respondents of our survey. To fill this gap, we defined a set of different proxy-measures to use whenever a factor cannot be directly assessed on the basis of readily available information. Moreover, some factors are not measurable if developers do not explicitly provide essential information. For instance, this happens for all factors that refer to countable data (e.g., the number of downloads cannot be evaluated in a reliable way if the development community does not publish it).
Then, by taking into account the trustworthiness factors and the experience gained through the project analysis, we defined a Goal/Question/Metric (GQM[29]) model for trustworthiness, to identify the qualities and metrics that determine the perception of trustworthiness by users.
In order to measure the metrics identified in the GQM model, we identified a set of tools. When possible, tools were obtained by adapting, extending, and integrating existing tools. Considering that most of metrics were not available via the selected tools, we developed MacXim, a static code analysis tool.
The selected tools integrate a number of OSS tools that support the creation of a measurement plan, starting from the main actors’ and stakeholders’ objectives and goals (developer community, user community, business needs, specific users, etc.), down to the specific static and dynamic metrics that will need to be collected to fulfill the goals.
To validate the GQM model and build quantitative models of perceived trustworthiness and reliability, we collected both subjective evaluations and objective measures on a sample of 22 Java and 22 C/C++ OSS products.
Objective measures were collected by means of MacXim and the other identified tools while subjective evaluations were collected by means of more than 500 questionnaires.
Specifically, the subjective evaluations concerned how users evaluate the trustworthiness, reliability and other qualities of OSS; objective measures concerned software attributes like size, complexity, modularity, and cohesion.
Finally, we correlated the objective code measures to users’ and developers’ evaluations of OSS products.
The result is a set of quantitative models that account for the dependence of the perceivable qualities of OSS on objectively observable qualities of the code. Unlike the models based on weighted sums usually available in the literature, we have obtained estimation models [87], so the relevant factors and their specific weights are identified via statistical analysis, and not in a somewhat more subjective way, as usually happens.
Qualitatively, our results may not be totally surprising. For instance, it may be generally expected that bigger and more complex products are less trustworthy than smaller and simpler products; likewise, it is expected that well modularized products are more reliable.
For instance, our analyses indicate that the OSS products are most likely to be trustworthy if:
• Their size is not greater than 100,000 effective LOC;
• The number of java packages is lower than 228.
These models derived in our work can be used by end-users and developers that would like to evaluate the level of trustworthiness and reliability of existing OSS products and components they would like to use or reuse, based on measurable OSS code characteristics. These models can also be used by the developers of OSS products themselves, when setting code quality targets based on the level of trustworthiness and reliability they want to achieve. So, the information obtained via our models can be used as an additional piece of information that can be used when making informed
decisions.
Thus, unlike several discussions that are based on –sometimes interested– opinions about the quality of OSS, this study aims at deriving statistically significant models that are based on repeatable measures and user evaluations provided by a reasonably large sample of OSS users.
The detailed results are reported in the next sections as follows:
•Chapter 1 reports the introduction to this work
•Chapter 2 reports the related literature review
•Chapter 3 reports the identified trustworthiness factors
•Chapter 4 describe how we built the trustworthiness model
•Chapter 5 shows the tools we developed for this activity
•Chapter 6 reports on the experimentation phase
•Chapter 7 shows the results of the experimentation
•Chapter 8 draws conclusions and highlights future works
•Chapter 9 lists the publication made during the Ph
OSS-TMM: Guidelines for improving the testing process of open source software
Open Source Software (OSS) products do not usually follow traditional software engineering development paradigms. Specifically, testing activities in OSS development may be quite different from those carried out in Closed Source Software (CSS) development. As testing and verification require a good deal of resources in OSS, it is necessary to have ways to assess and improve OSS testing processes. This paper provides a set of testing guidelines and issues that OSS developers can use to decide which testing techniques make most sense for their OSS products. This paper 1) provides a checklist that helps OSS developers identify the most useful testing techniques according to the main characteristics of their products, and 2) outlines a proposal for a method that helps assess the maturity of OSS testing processes. The method is a proposal of a Maturity Model for testing processes (called OSS-TMM). To show its usefulness, the authors apply the method to seven real-life projects. Specifically, the authors apply the method to BusyBox, Apache Httpd, and Eclipse Test and Performance Tools Platform to show how the checklist supports and guides the testing process of these OSS products
Open Source: Mi Devo Fidare?
Il software Open Source ha conosciuto negli ultimi anni una crescente popolarità; ciononostante, una grossa parte dei potenziali utenti continua a non fidarsi e a non ‘credere’ nell'Open Source.
Il fenomeno è legato principalmente alla mancanza di dati oggettivi. Infatti la qualità del software –sia Open Source che Proprietario– e dei relativi processi di sviluppo non è semplice da valutare, data l'assenza di indicatori affidabili.
In effetti, la valutazione di un prodotto software è un'attività intrinsecamente complessa, che tuttavia è in linea di principio più praticabile per il software Open Source di quanto non lo sia per il software proprietario. Infatti la mancanza di trasparenza di quest’ultimo ne può ostacolare la valutazione oggettiva.
Quali sono dunque le motivazioni che potrebbero indurre un utente ad avere fiducia nel software Open Source?
In questo articolo saranno illustrati i risultati ottenuti fino ad ora nel progetto QualiPSo, con particolare riferimento alle attività dedicate alla valutazione del software Open Source. Gli autori sono infatti impegnati nell'identificazione dei fattori che determinano la fiducia nel (o trustworthiness del) software Open Source, nella costruzione di modelli della trustworthiness e nella definizione di un insieme di linee guida, strumenti e processi che il software Open Source dovrebbe adottare per guadagnarsi la fiducia degli utenti
A closer look at ChatGPT's role in concept map generation for education
Rapid progress in natural language processing (NLP) has ushered in a new era of artificial intelligence (AI) models. Large language models (LLMs), powered by deep learning algorithms, excel in understanding and generating coherent human language responses, revolutionizing various fields. In education, these models promise to enrich the learning experience by providing personalized support to students and facilitating communication between students and teachers. In particular, Generative Pre-trained Transformer (GPT) technology provides instant and contextually relevant responses, and it has become an increasingly interesting topic in education. This article explores the potential of ChatGPT to enhance learning activities in secondary schools, with a specific focus on concept maps, a valuable tool for fostering meaningful learning. Concept maps are widely recognized for their educational benefits but existing tools for automatic concept map generation lack flexibility and semantic understanding. In contrast, ChatGPT's adaptability and responsiveness make it a compelling candidate for generating concept maps tailored to individual needs. This paper sheds light on ChatGPT's potential in education and offers insights into its effectiveness in supporting learning activities through concept map generation. We present a study involving 83 secondary school students to test their perceptions of ChatGPT-generated concept maps. We compared concept maps created by both ChatGPT and teachers across six different topics. Using PlantUML, we standardized the concept maps, and then used various questionnaires to assess their quality, effectiveness, and impact on student performance. The statistical analysis revealed that the concept maps generated by ChatGPT were comparable in quality to those produced by teachers. This highlights the usefulness of ChatGPT in supporting structured learning activities while also significantly reducing the time and effort required to create concept maps
How Open Source Software Products: Can Support Teaching in Italian Schools
In Italy, the adoption of modern software technologies is strongly limited by the current critical economic situation. The adoption of Open Source Software (OSS) solutions can mitigate this problem because of the nature of OSS products that helps to cut down on costs by providing modern and flexible products. However, very often school managers and teachers are unaware about the availability of powerful OSS tools that can support teachers and school managers in their daily work. In this paper we provide a literature survey about the available experiences and projects on the adoption of OSS solutions started in Italian schools and we list a set of available OSS digital class rolls already experimented in Italian schools. The two surveys aim at suggesting how to start new projects avoiding common risks and how to exploit the potentialities of OSS solutions for didactical purposes. In this paper, we also qualitatively assess the listed OSS class rolls with our OP2A methodology in order to suggest which tool is the best choice for the adoption
Enhancing categorization of learning resources in the DAtaset of joint educational entities
The DAtaset of Joint Educational Entities (DAJEE) is a repository which hosts more than 20,000 educational resources crawled from the MOOC platform Coursera. The resources are divided per category according to the MOOC categorization on Coursera, which is, however, very shallow. This contribution focuses on a more meaningful categorization of the resources in DAJEE, tailored to their content. To achieve such goal, our approach enriches the resources in DAJEE with semantic entities by applying state-of-the-art semantic techniques. The result is a significant improvement of the categorization of the resources in DAJEE than the previous version
Towards certifying the testing process of Open-Source Software: New challenges or old methodologies?
To improve both the quality and the trustworthiness perception of Open Source Software (OSS) products, we introduce
the new idea of certifying the testing process of an OSS system. While the global certification of an OSS product
is an emerging research field, the idea of certifying only its testing process has never been studied, conversely to the
case of Closed Source Software (CSS) products. The certification of the testing process has a twofold goal: simplify
the process of testing OSS products by guiding developers in identifying the proper testing strategies and the limitations
of their existing testing plans; simplify the selection of equivalent OSS and CSS products by evaluating the certificates
released by the companies. Specifically, in this paper we discuss 1) a set of issues, inherent to OSS, that must be taken into account when testing the OSS product; 2) a preliminary methodology that suggests how to certificate the
testing process of OSS products; 3) the BusyBox case study that shows how our idea can be applied to real-life OSS
Teacher / Student Partnerships in Online Video Corpus Construction and Annotation. Encouraging Higher Education Students’ Digital Literacy
Online video corpora constructed by Higher Education students play various roles in specialised digital learning. When supported by analytics, this can be a productive way of engaging with the multisemiotic processes associated with digital literacy. However, when reappraised, corpora thus produced often play significant roles in contexts other than those for which they were originally envisaged. The final section of the paper reflects on video corpora’s role in consolidating digital literacy in Higher Education as part of inter-university and cross-degree teacher-student partnerships
- …
