Pub Date : 2024-03-20DOI: 10.1016/j.scico.2024.103108
Saba Gholizadeh Ansari , I.S.W.B. Prasetya , Mehdi Dastani , Gabriele Keller , Davide Prandi , Fitsum Meshesha Kifetew , Frank Dignum
As video games become more complex and widespread, player experience (PX) testing becomes crucial in the game industry. Attracting and retaining players are key elements to guarantee the success of a game in the highly competitive market. Although a number of techniques have been introduced to measure the emotional aspect of the experience, automated testing of player experience still needs to be explored. This paper presents PX-MBT, a framework for automated player experience testing with emotion pattern verification. PX-MBT (1) utilizes a model-based testing approach for test suite generation, (2) employs a computational model of emotions developed based on a psychological theory of emotions to model players' emotions during game-plays with an intelligent agent, and (3) verifies emotion patterns given by game designers on executed test suites to identify PX-issues. We explain PX-MBT architecture and provide an example along with its result in emotion pattern verification, which asserts the evolution of emotions over time, and heat-maps to showcase the spatial distribution of emotions on the game map.
{"title":"PX-MBT: A framework for model-based player experience testing","authors":"Saba Gholizadeh Ansari , I.S.W.B. Prasetya , Mehdi Dastani , Gabriele Keller , Davide Prandi , Fitsum Meshesha Kifetew , Frank Dignum","doi":"10.1016/j.scico.2024.103108","DOIUrl":"10.1016/j.scico.2024.103108","url":null,"abstract":"<div><p>As video games become more complex and widespread, player experience (PX) testing becomes crucial in the game industry. Attracting and retaining players are key elements to guarantee the success of a game in the highly competitive market. Although a number of techniques have been introduced to measure the emotional aspect of the experience, automated testing of player experience still needs to be explored. This paper presents <span>PX-MBT</span>, a framework for automated player experience testing with emotion pattern verification. <span>PX-MBT</span> (1) utilizes a model-based testing approach for test suite generation, (2) employs a computational model of emotions developed based on a psychological theory of emotions to model players' emotions during game-plays with an intelligent agent, and (3) verifies emotion patterns given by game designers on executed test suites to identify PX-issues. We explain <span>PX-MBT</span> architecture and provide an example along with its result in emotion pattern verification, which asserts the evolution of emotions over time, and heat-maps to showcase the spatial distribution of emotions on the game map.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":null,"pages":null},"PeriodicalIF":1.3,"publicationDate":"2024-03-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0167642324000315/pdfft?md5=3feb08ed6c236db63ae3355a5f46a72f&pid=1-s2.0-S0167642324000315-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140280471","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
The primary aim of Automatic Program Repair (APR) is to automatically repair defective programs, with the intention of reducing the amount of effort required by developers. However, APR techniques may produce overfitting patches that do not truly repair the program, allowing the program to pass all test cases. This paper provides a comprehensive review of the overfitting problem and adds to the existing research on overfitting in conditional statements. Our proposed method, ETPAT (Expression Tree-based Patch Assessment Technique), implements expression trees and targeted coverage criteria to identify differences between the original and the patched program. We utilize ETPAT to verify test case adequacy. In parallel, ETPAT also guides the generation of corresponding test cases via equivalence class information, which may be added to the original test suite, making it more robust while also preventing the repair technique from generating comparable overfitting patches. With reference to the patch set in the BuggyJavaJML benchmark, ETPAT recognized 77/82 (93.9%) overfitting patches out of 120 patches related to conditional constraints, displaying superior accuracy rates and fewer test cases required than the original repair tool.
{"title":"A method to identify overfitting program repair patches based on expression tree","authors":"Yukun Dong, Xiaotong Cheng, Yufei Yang, Lulu Zhang, Shuqi Wang, Lingjie Kong","doi":"10.1016/j.scico.2024.103105","DOIUrl":"10.1016/j.scico.2024.103105","url":null,"abstract":"<div><p>The primary aim of Automatic Program Repair (APR) is to automatically repair defective programs, with the intention of reducing the amount of effort required by developers. However, APR techniques may produce overfitting patches that do not truly repair the program, allowing the program to pass all test cases. This paper provides a comprehensive review of the overfitting problem and adds to the existing research on overfitting in conditional statements. Our proposed method, ETPAT (Expression Tree-based Patch Assessment Technique), implements expression trees and targeted coverage criteria to identify differences between the original and the patched program. We utilize ETPAT to verify test case adequacy. In parallel, ETPAT also guides the generation of corresponding test cases via equivalence class information, which may be added to the original test suite, making it more robust while also preventing the repair technique from generating comparable overfitting patches. With reference to the patch set in the BuggyJavaJML benchmark, ETPAT recognized 77/82 (93.9%) overfitting patches out of 120 patches related to conditional constraints, displaying superior accuracy rates and fewer test cases required than the original repair tool.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":null,"pages":null},"PeriodicalIF":1.3,"publicationDate":"2024-03-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140053861","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-03-01DOI: 10.1016/j.scico.2024.103098
Yulu Cao , Zhifei Chen , Xiaowei Zhang , Yanhui Li , Lin Chen , Linzhang Wang
Python package installation is far from trivial. Users encounter a variety of errors when installing Python libraries, including dependency conflicts and incompatibilities. Existing solutions focus on parsing third-party dependencies but ignore the impact of local settings and user requirements. In this paper, we propose a novel approach, HELP, to help Python users tackle installation errors. We first establish a local knowledge base by extracting the PyPI database and dependency analysis. When the user provides the installation requirements, HELP extracts multiple constraints including user requirements, Python version constraints, and dependency constraints, and models them into SMT expressions. Then HELP solves the installation problem by using the SMT solver.
To understand the status of Python version compatibility, we conduct an empirical study on Python version compatibility on 8,502 libraries. The study reveals that 80% of Python libraries do not declare Python version constraints in most versions. We also find that installation errors are strongly related to Python versions. To evaluate HELP, we conduct the experiment on 495 sampled installation failures. The results show that HELP can effectively resolve 263 installation failures, 42% more than the baseline approach. Especially, HELP provides a more comprehensive diagnosis when encountering configuration-related installation failures. Besides, HELP is more efficient than pip at predicting installation failures (30X speedups), which may save much effort if the installation cannot succeed.
{"title":"Diagnosis of package installation incompatibility via knowledge base","authors":"Yulu Cao , Zhifei Chen , Xiaowei Zhang , Yanhui Li , Lin Chen , Linzhang Wang","doi":"10.1016/j.scico.2024.103098","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103098","url":null,"abstract":"<div><p>Python package installation is far from trivial. Users encounter a variety of errors when installing Python libraries, including dependency conflicts and incompatibilities. Existing solutions focus on parsing third-party dependencies but ignore the impact of local settings and user requirements. In this paper, we propose a novel approach, HELP, to help Python users tackle installation errors. We first establish a local knowledge base by extracting the PyPI database and dependency analysis. When the user provides the installation requirements, HELP extracts multiple constraints including user requirements, Python version constraints, and dependency constraints, and models them into SMT expressions. Then HELP solves the installation problem by using the SMT solver.</p><p>To understand the status of Python version compatibility, we conduct an empirical study on Python version compatibility on 8,502 libraries. The study reveals that 80% of Python libraries do not declare Python version constraints in most versions. We also find that installation errors are strongly related to Python versions. To evaluate HELP, we conduct the experiment on 495 sampled installation failures. The results show that HELP can effectively resolve 263 installation failures, 42% more than the baseline approach. Especially, HELP provides a more comprehensive diagnosis when encountering configuration-related installation failures. Besides, HELP is more efficient than pip at predicting installation failures (30X speedups), which may save much effort if the installation cannot succeed.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":null,"pages":null},"PeriodicalIF":1.3,"publicationDate":"2024-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140042827","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-02-28DOI: 10.1016/j.scico.2024.103095
Nicola Del Giudice, Lorenzo Matteucci, Michela Quadrini, Aniqa Rehman, Michele Loreti
Formal approaches and tools have been defined, implemented and successfully applied to support the design and development of Collective Adaptive Systems. These tools are highly specialised in their fields, and their integration requires an effort.
In this paper, we introduce Sibilla, a Java modular tool that facilitates the integration of multiple specification languages for supporting quantitative analysis of systems. After a description of the general architecture of Sibilla, the main features of the tool are discussed via simple examples.
{"title":"Sibilla: A tool for reasoning about collective systems","authors":"Nicola Del Giudice, Lorenzo Matteucci, Michela Quadrini, Aniqa Rehman, Michele Loreti","doi":"10.1016/j.scico.2024.103095","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103095","url":null,"abstract":"<div><p>Formal approaches and tools have been defined, implemented and successfully applied to support the design and development of Collective Adaptive Systems. These tools are highly specialised in their fields, and their integration requires an effort.</p><p>In this paper, we introduce <span>Sibilla</span>, a Java modular tool that facilitates the integration of multiple specification languages for supporting quantitative analysis of systems. After a description of the general architecture of <span>Sibilla</span>, the main features of the tool are discussed via simple examples.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":null,"pages":null},"PeriodicalIF":1.3,"publicationDate":"2024-02-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140030212","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-02-23DOI: 10.1016/j.scico.2024.103097
Byeongjee Kang , Kyungmin Bae
A concurrent system specified as a rewrite theory can be analyzed symbolically using narrowing-based reachability analysis. Narrowing-based approaches have been applied to formally analyze cryptographic protocols and parameterized protocols. However, existing narrowing-based analysis methods, based on a breadth-first-search strategy, cannot deal with generic distributed systems with objects and messages due to the symbolic state-space explosion problem and implicit constraints imposed on object-oriented systems. This paper proposes a heuristic search approach for narrowing-based reachability analysis to guide the search for counterexamples with a small number of objects. As a result, our method can effectively find a counterexample if an error state is reachable. In addition, this paper also shows how to encode implicit object-oriented constraints using order-sorted signatures and equational constraints. We demonstrate the effectiveness of our technique using a nontrivial distributed consensus algorithm.
{"title":"Narrowing and heuristic search for symbolic reachability analysis of concurrent object-oriented systems","authors":"Byeongjee Kang , Kyungmin Bae","doi":"10.1016/j.scico.2024.103097","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103097","url":null,"abstract":"<div><p>A concurrent system specified as a rewrite theory can be analyzed symbolically using narrowing-based reachability analysis. Narrowing-based approaches have been applied to formally analyze cryptographic protocols and parameterized protocols. However, existing narrowing-based analysis methods, based on a breadth-first-search strategy, cannot deal with generic distributed systems with objects and messages due to the symbolic state-space explosion problem and implicit constraints imposed on object-oriented systems. This paper proposes a heuristic search approach for narrowing-based reachability analysis to guide the search for counterexamples with a small number of objects. As a result, our method can effectively find a counterexample if an error state is reachable. In addition, this paper also shows how to encode implicit object-oriented constraints using order-sorted signatures and equational constraints. We demonstrate the effectiveness of our technique using a nontrivial distributed consensus algorithm.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":null,"pages":null},"PeriodicalIF":1.3,"publicationDate":"2024-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"140000111","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-02-23DOI: 10.1016/j.scico.2024.103096
Ferruccio Damiani, David Eyers, Anna Philippou
{"title":"Preface for the special issue on tool papers of the 17th International Federated Conference on Distributed Computing Techniques, DisCoTec 2022","authors":"Ferruccio Damiani, David Eyers, Anna Philippou","doi":"10.1016/j.scico.2024.103096","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103096","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":null,"pages":null},"PeriodicalIF":1.3,"publicationDate":"2024-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139985802","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-02-20DOI: 10.1016/j.scico.2024.103093
Haozhen Dong, Hongmin Ren, Jialiang Shi, Yichen Xie, Xudong Hu
Researchers have been developing automatic bug triaging techniques by leveraging bug information sourced from bug tracking systems. Recent studies have modeled the bug-developer relationship as a graph, introducing graph neural networks for bug triaging. Despite achieving positive outcomes, these methods overlook issues related to data sparsity and fail to fully exploit implicit relationships within the graph. In addressing these challenges, we present the Neighborhood Contrastive Learning-based Graph Neural Network Bug Triaging framework, abbreviated as NCGBT. Our approach models the relationship between bugs and developers as a bipartite graph. We utilize a pre-trained language model to acquire the initial representation of bug nodes. Employing a basic graph neural network framework, we learn the representation of all nodes and leverage these representations to predict developers for a given bug. Our proposed strategy involves neighborhood contrastive learning applied to the basic graph neural network approach. We take into account the neighbors of nodes from both structural and semantic perspectives, utilizing them as contrastive objects. Extensive experiments conducted on three public datasets demonstrate the effectiveness of the NCGBT framework.
{"title":"Neighborhood contrastive learning-based graph neural network for bug triaging","authors":"Haozhen Dong, Hongmin Ren, Jialiang Shi, Yichen Xie, Xudong Hu","doi":"10.1016/j.scico.2024.103093","DOIUrl":"10.1016/j.scico.2024.103093","url":null,"abstract":"<div><p>Researchers have been developing automatic bug triaging techniques by leveraging bug information sourced from bug tracking systems. Recent studies have modeled the bug-developer relationship as a graph, introducing graph neural networks for bug triaging. Despite achieving positive outcomes, these methods overlook issues related to data sparsity and fail to fully exploit implicit relationships within the graph. In addressing these challenges, we present the Neighborhood Contrastive Learning-based Graph Neural Network Bug Triaging framework, abbreviated as NCGBT. Our approach models the relationship between bugs and developers as a bipartite graph. We utilize a pre-trained language model to acquire the initial representation of bug nodes. Employing a basic graph neural network framework, we learn the representation of all nodes and leverage these representations to predict developers for a given bug. Our proposed strategy involves neighborhood contrastive learning applied to the basic graph neural network approach. We take into account the neighbors of nodes from both structural and semantic perspectives, utilizing them as contrastive objects. Extensive experiments conducted on three public datasets demonstrate the effectiveness of the NCGBT framework.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":null,"pages":null},"PeriodicalIF":1.3,"publicationDate":"2024-02-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139919482","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-02-20DOI: 10.1016/j.scico.2024.103094
Pablo Becker, María Fernanda Papa, Luis Olsina
This paper shows an exploratory study of the syntactic and semantic similarities and discrepancies of the terms of four selected project management glossaries. The main purpose of this study is to provide recommendations on adoptions and adaptations of labels and/or definitions of project management glossary terms to be included in a new or existing project management ontology. As a result, a list of recommended terms for a project management ontology to be built is analyzed. The recommendation of terms will be limited to generic terms that can be located at the core level instead of the domain level in the context of an ontological architecture. In particular, the list of terms will be discussed in light of a previously developed project management ontology that will be updated in future work. Another goal of this work is to evaluate the level of syntactic and semantic consistency and harmonization that currently exists in these glossaries. As a result, it becomes apparent from this early research that many opportunities exist to improve these terminologies for greater consistency, harmonization, and standardization in the field.
{"title":"Exploratory study on the syntactic and semantic consistency of terms in project management glossaries to provide recommendations for a project management ontology","authors":"Pablo Becker, María Fernanda Papa, Luis Olsina","doi":"10.1016/j.scico.2024.103094","DOIUrl":"10.1016/j.scico.2024.103094","url":null,"abstract":"<div><p>This paper shows an exploratory study of the syntactic and semantic similarities and discrepancies of the terms of four selected project management glossaries. The main purpose of this study is to provide recommendations on adoptions and adaptations of labels and/or definitions of project management glossary terms to be included in a new or existing project management ontology. As a result, a list of recommended terms for a project management ontology to be built is analyzed. The recommendation of terms will be limited to generic terms that can be located at the core level instead of the domain level in the context of an ontological architecture. In particular, the list of terms will be discussed in light of a previously developed project management ontology that will be updated in future work. Another goal of this work is to evaluate the level of syntactic and semantic consistency and harmonization that currently exists in these glossaries. As a result, it becomes apparent from this early research that many opportunities exist to improve these terminologies for greater consistency, harmonization, and standardization in the field.</p></div>","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":null,"pages":null},"PeriodicalIF":1.3,"publicationDate":"2024-02-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139919355","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-02-10DOI: 10.1016/j.scico.2024.103092
Yamine Ait-Ameur , Florin Craciun
{"title":"Introduction to the TASE 2022 Special issue","authors":"Yamine Ait-Ameur , Florin Craciun","doi":"10.1016/j.scico.2024.103092","DOIUrl":"https://doi.org/10.1016/j.scico.2024.103092","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":null,"pages":null},"PeriodicalIF":1.3,"publicationDate":"2024-02-10","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139748903","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2024-02-09DOI: 10.1016/j.scico.2024.103091
Davide Di Ruscio , Jessie Galasso , Richard Paige
{"title":"Preface for the Special Issue on Tools and Demonstrations in Model-Driven Engineering","authors":"Davide Di Ruscio , Jessie Galasso , Richard Paige","doi":"10.1016/j.scico.2024.103091","DOIUrl":"10.1016/j.scico.2024.103091","url":null,"abstract":"","PeriodicalId":49561,"journal":{"name":"Science of Computer Programming","volume":null,"pages":null},"PeriodicalIF":1.3,"publicationDate":"2024-02-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"139816334","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":4,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}