Pasquale Ardimento | Università degli Studi di Bari (original) (raw)
Uploads
Papers by Pasquale Ardimento
Lecture Notes in Computer Science, Dec 1, 2023
The birth of cloud-based development environments makes available an increasing number of data co... more The birth of cloud-based development environments makes available an increasing number of data coming out from the interaction of different developers with a diverse level of expertise. This data, if opportunely captured and analyzed, can be useful to understand how developers head the coding activities and can suggest members of developers community how to improve their performances. This paper presents a framework allowing to generate event logs from cloud-based IDE. These event logs are then examined using a process mining technique to extract the developers' coding processes and compare them in the shared coding environment. The approach can be used to discover emergent and interesting developers' behavior. Thus, we compare the coding process extracted by developers with different skills. To validate our approach, we describe the results of a study in which we investigate the coding activities of forty students of an advanced Java programming course performing a given programming task—during four assignments. Results also prove that users with different performances possess distinct attitudes highlighting that the adopted process mining technique can be useful to comprehend how developers can improve their coding skills.
DOAJ (DOAJ: Directory of Open Access Journals), Oct 1, 2012
This paper presents a framework aiming to support an «innovation chain» in an Open Innovation (OI... more This paper presents a framework aiming to support an «innovation chain» in an Open Innovation (OI) perspective. In order to transfer research results from producers to users, it is necessary to develop a Knowledge Manage-ment System supporting formalization, packaging and characterization to be able to select, understand and collect research results and/or innovations deriving from them. Suitable skills are required to transfer and collect innovation. Since in OI the knowledge producer and fi nal users are by defi nition geographically distant, the required specialist skills have to be acquired through an e-learning system. This system must offer Learning Objects that can be combined within a course that also takes into account the user’s past experiences. This work proposes an approach based on the integration of these two systems, and presents PROMETHEUS, a tool supporting this approach. The results of preliminary experimentation highlighted the strengths and weaknesses of the approach. They will be used to plan further experimentation and initiatives serving to facilitate the transfer of research results from state of the art to state of practice.
Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing
Neural Computing and Applications, 2021
Software maintenance and evolution can introduce defects in software systems. For this reason, th... more Software maintenance and evolution can introduce defects in software systems. For this reason, there is a great interest to identify defect prediction and estimation techniques. Recent research proposes just-in-time techniques to predict defective changes just at the commit level allowing the developers to fix the defect when it is introduced. However, the performance of existing just-in-time defect prediction models still requires to be improved. This paper proposes a new approach based on a large feature set containing product and process software metrics extracted from commits of software projects along with their evolution. The approach also introduces a deep temporal convolutional networks variant based on hierarchical attention layers to perform the fault prediction. The proposed approach is evaluated on a large dataset, composed of data gathered from six Java open-source systems. The obtained results show the effectiveness of the proposed approach in timely predicting defect proneness of code components.
This paper investigates whether the adoption of a transfer learning approach can be effective for... more This paper investigates whether the adoption of a transfer learning approach can be effective for just-in-time design smells prediction. The approach uses a variant of Temporal Convolutional Networks to predict design smells and a carefully selected fine-grained process and product metrics. The validation is performed on a dataset composed of three open-source systems and includes a comparison between transfer and direct learning. The hypothesis, which we want to verify, is that the proposed transfer learning approach is feasible to transfer the knowledge gained on mature systems to the system of interest to make reliable predictions even at the beginning of development when the available historical data is limited. The obtained results show that, when the class imbalance is high, the transfer learning provides F1-scores very close to the ones obtained by
Proceedings of the 16th International Conference on Software Technologies
This paper investigates whether the adoption of a transfer learning approach can be effective for... more This paper investigates whether the adoption of a transfer learning approach can be effective for just-in-time design smells prediction. The approach uses a variant of Temporal Convolutional Networks to predict design smells and a carefully selected fine-grained process and product metrics. The validation is performed on a dataset composed of three open-source systems and includes a comparison between transfer and direct learning. The hypothesis, which we want to verify, is that the proposed transfer learning approach is feasible to transfer the knowledge gained on mature systems to the system of interest to make reliable predictions even at the beginning of development when the available historical data is limited. The obtained results show that, when the class imbalance is high, the transfer learning provides F1-scores very close to the ones obtained by direct learning.
Neural Computing and Applications, Nov 14, 2021
Software maintenance and evolution can introduce defects in software systems. For this reason, th... more Software maintenance and evolution can introduce defects in software systems. For this reason, there is a great interest to identify defect prediction and estimation techniques. Recent research proposes just-in-time techniques to predict defective changes just at the commit level allowing the developers to fix the defect when it is introduced. However, the performance of existing just-in-time defect prediction models still requires to be improved. This paper proposes a new approach based on a large feature set containing product and process software metrics extracted from commits of software projects along with their evolution. The approach also introduces a deep temporal convolutional networks variant based on hierarchical attention layers to perform the fault prediction. The proposed approach is evaluated on a large dataset, composed of data gathered from six Java open-source systems. The obtained results show the effectiveness of the proposed approach in timely predicting defect proneness of code components.
Journal of Systems and Software
Communications in computer and information science, 2023
Proceedings of the 18th International Conference on Evaluation of Novel Approaches to Software Engineering
Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings
The computing education community has shown a long-time interest in how to analyze the Object-Ori... more The computing education community has shown a long-time interest in how to analyze the Object-Oriented (OO) source code developed by students to provide them with useful formative tips. In this paper, we propose and evaluate an approach to analyze how students use Java and its language constructs. The approach is implemented through a cloud-based integrated development environment (IDE) and it is based on the analysis of the most common violations of the OO paradigm in the student source code. Moreover, the IDE supports the automatic generation of reports about student’s mistakes and misconceptions that can be used by instructors to improve the course design. The paper discusses the preliminary results of an experiment performed in a class of a Programming II course to investigate the effects of the provided reports in terms of coding ability (concerning the correctness of the produced code).
Lecture Notes in Computer Science, Dec 1, 2023
The birth of cloud-based development environments makes available an increasing number of data co... more The birth of cloud-based development environments makes available an increasing number of data coming out from the interaction of different developers with a diverse level of expertise. This data, if opportunely captured and analyzed, can be useful to understand how developers head the coding activities and can suggest members of developers community how to improve their performances. This paper presents a framework allowing to generate event logs from cloud-based IDE. These event logs are then examined using a process mining technique to extract the developers' coding processes and compare them in the shared coding environment. The approach can be used to discover emergent and interesting developers' behavior. Thus, we compare the coding process extracted by developers with different skills. To validate our approach, we describe the results of a study in which we investigate the coding activities of forty students of an advanced Java programming course performing a given programming task—during four assignments. Results also prove that users with different performances possess distinct attitudes highlighting that the adopted process mining technique can be useful to comprehend how developers can improve their coding skills.
DOAJ (DOAJ: Directory of Open Access Journals), Oct 1, 2012
This paper presents a framework aiming to support an «innovation chain» in an Open Innovation (OI... more This paper presents a framework aiming to support an «innovation chain» in an Open Innovation (OI) perspective. In order to transfer research results from producers to users, it is necessary to develop a Knowledge Manage-ment System supporting formalization, packaging and characterization to be able to select, understand and collect research results and/or innovations deriving from them. Suitable skills are required to transfer and collect innovation. Since in OI the knowledge producer and fi nal users are by defi nition geographically distant, the required specialist skills have to be acquired through an e-learning system. This system must offer Learning Objects that can be combined within a course that also takes into account the user’s past experiences. This work proposes an approach based on the integration of these two systems, and presents PROMETHEUS, a tool supporting this approach. The results of preliminary experimentation highlighted the strengths and weaknesses of the approach. They will be used to plan further experimentation and initiatives serving to facilitate the transfer of research results from state of the art to state of practice.
Proceedings of the 37th ACM/SIGAPP Symposium on Applied Computing
Neural Computing and Applications, 2021
Software maintenance and evolution can introduce defects in software systems. For this reason, th... more Software maintenance and evolution can introduce defects in software systems. For this reason, there is a great interest to identify defect prediction and estimation techniques. Recent research proposes just-in-time techniques to predict defective changes just at the commit level allowing the developers to fix the defect when it is introduced. However, the performance of existing just-in-time defect prediction models still requires to be improved. This paper proposes a new approach based on a large feature set containing product and process software metrics extracted from commits of software projects along with their evolution. The approach also introduces a deep temporal convolutional networks variant based on hierarchical attention layers to perform the fault prediction. The proposed approach is evaluated on a large dataset, composed of data gathered from six Java open-source systems. The obtained results show the effectiveness of the proposed approach in timely predicting defect proneness of code components.
This paper investigates whether the adoption of a transfer learning approach can be effective for... more This paper investigates whether the adoption of a transfer learning approach can be effective for just-in-time design smells prediction. The approach uses a variant of Temporal Convolutional Networks to predict design smells and a carefully selected fine-grained process and product metrics. The validation is performed on a dataset composed of three open-source systems and includes a comparison between transfer and direct learning. The hypothesis, which we want to verify, is that the proposed transfer learning approach is feasible to transfer the knowledge gained on mature systems to the system of interest to make reliable predictions even at the beginning of development when the available historical data is limited. The obtained results show that, when the class imbalance is high, the transfer learning provides F1-scores very close to the ones obtained by
Proceedings of the 16th International Conference on Software Technologies
This paper investigates whether the adoption of a transfer learning approach can be effective for... more This paper investigates whether the adoption of a transfer learning approach can be effective for just-in-time design smells prediction. The approach uses a variant of Temporal Convolutional Networks to predict design smells and a carefully selected fine-grained process and product metrics. The validation is performed on a dataset composed of three open-source systems and includes a comparison between transfer and direct learning. The hypothesis, which we want to verify, is that the proposed transfer learning approach is feasible to transfer the knowledge gained on mature systems to the system of interest to make reliable predictions even at the beginning of development when the available historical data is limited. The obtained results show that, when the class imbalance is high, the transfer learning provides F1-scores very close to the ones obtained by direct learning.
Neural Computing and Applications, Nov 14, 2021
Software maintenance and evolution can introduce defects in software systems. For this reason, th... more Software maintenance and evolution can introduce defects in software systems. For this reason, there is a great interest to identify defect prediction and estimation techniques. Recent research proposes just-in-time techniques to predict defective changes just at the commit level allowing the developers to fix the defect when it is introduced. However, the performance of existing just-in-time defect prediction models still requires to be improved. This paper proposes a new approach based on a large feature set containing product and process software metrics extracted from commits of software projects along with their evolution. The approach also introduces a deep temporal convolutional networks variant based on hierarchical attention layers to perform the fault prediction. The proposed approach is evaluated on a large dataset, composed of data gathered from six Java open-source systems. The obtained results show the effectiveness of the proposed approach in timely predicting defect proneness of code components.
Journal of Systems and Software
Communications in computer and information science, 2023
Proceedings of the 18th International Conference on Evaluation of Novel Approaches to Software Engineering
Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings
The computing education community has shown a long-time interest in how to analyze the Object-Ori... more The computing education community has shown a long-time interest in how to analyze the Object-Oriented (OO) source code developed by students to provide them with useful formative tips. In this paper, we propose and evaluate an approach to analyze how students use Java and its language constructs. The approach is implemented through a cloud-based integrated development environment (IDE) and it is based on the analysis of the most common violations of the OO paradigm in the student source code. Moreover, the IDE supports the automatic generation of reports about student’s mistakes and misconceptions that can be used by instructors to improve the course design. The paper discusses the preliminary results of an experiment performed in a class of a Programming II course to investigate the effects of the provided reports in terms of coding ability (concerning the correctness of the produced code).