首页 > 最新文献

Information and Software Technology最新文献

英文 中文
Are your apps accessible? A GCN-based accessibility checker for low vision users 您的应用程序无障碍吗?基于 GCN 的低视力用户无障碍检查器
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-06-24 DOI: 10.1016/j.infsof.2024.107518
Mengxi Zhang , Huaxiao Liu , Shenning Song , Chunyang Chen , Pei Huang , Jian Zhao

Context:

Accessibility issues (e.g., small size and narrow interval) in mobile applications (apps) lead to obstacles for billions of low vision users in interacting with Graphical User Interfaces (GUIs). Although GUI accessibility scanning tools exist, most of them perform rule-based check relying on complex GUI hierarchies. This might make them detect invisible redundant information, cannot handle small deviations, omit similar components, and is hard to extend.

Objective:

In this paper, we propose a novel approach, named ALVIN (Accessibility Checker for Low Vision), which represents the GUI as a graph and adopts the Graph Convolutional Neural Networks (GCN) to label inaccessible components.

Method:

ALVIN removes invisible views to prevent detecting redundancy and uses annotations from low vision users to handle small deviations. Also, the GCN model could consider the relations between GUI components, connecting similar components and reducing the possibility of omission. ALVIN only requires users to annotate the relevant dataset when detecting new kinds of issues.

Results:

Our experiments on 48 apps demonstrate the effectiveness of ALVIN, with precision of 83.5%, recall of 78.9%, and F1-score of 81.2%, outperforming baseline methods. In RQ2, the usefulness is verified through 20 issues submitted to open-source apps. The RQ3 also illustrates the GCN model is better than other models.

Conclusion:

To summarize, our proposed approach can effectively detect accessibility issues in GUIs for low vision users, thereby guiding developers in fixing them efficiently.

背景:移动应用程序(apps)中的无障碍问题(如尺寸小、间隔窄)导致数十亿低视力用户在与图形用户界面(GUIs)交互时遇到障碍。虽然图形用户界面无障碍扫描工具已经存在,但它们大多依赖复杂的图形用户界面层次结构来执行基于规则的检查。方法:ALVIN 移除不可见的视图以防止检测到冗余,并使用低视力用户的注释来处理微小偏差。此外,GCN 模型可以考虑图形用户界面组件之间的关系,将类似组件连接起来,减少遗漏的可能性。结果:我们在 48 个应用程序上进行的实验证明了 ALVIN 的有效性,其精确度为 83.5%,召回率为 78.9%,F1-score 为 81.2%,优于基线方法。在问题 2 中,通过开源应用程序提交的 20 个问题验证了 ALVIN 的实用性。结论:总之,我们提出的方法可以有效地检测低视力用户图形用户界面中的无障碍问题,从而指导开发人员有效地修复这些问题。
{"title":"Are your apps accessible? A GCN-based accessibility checker for low vision users","authors":"Mengxi Zhang ,&nbsp;Huaxiao Liu ,&nbsp;Shenning Song ,&nbsp;Chunyang Chen ,&nbsp;Pei Huang ,&nbsp;Jian Zhao","doi":"10.1016/j.infsof.2024.107518","DOIUrl":"https://doi.org/10.1016/j.infsof.2024.107518","url":null,"abstract":"<div><h3>Context:</h3><p>Accessibility issues (e.g., small size and narrow interval) in mobile applications (apps) lead to obstacles for billions of low vision users in interacting with Graphical User Interfaces (GUIs). Although GUI accessibility scanning tools exist, most of them perform rule-based check relying on complex GUI hierarchies. This might make them detect invisible redundant information, cannot handle small deviations, omit similar components, and is hard to extend.</p></div><div><h3>Objective:</h3><p>In this paper, we propose a novel approach, named ALVIN (Accessibility Checker for Low Vision), which represents the GUI as a graph and adopts the Graph Convolutional Neural Networks (GCN) to label inaccessible components.</p></div><div><h3>Method:</h3><p>ALVIN removes invisible views to prevent detecting redundancy and uses annotations from low vision users to handle small deviations. Also, the GCN model could consider the relations between GUI components, connecting similar components and reducing the possibility of omission. ALVIN only requires users to annotate the relevant dataset when detecting new kinds of issues.</p></div><div><h3>Results:</h3><p>Our experiments on 48 apps demonstrate the effectiveness of ALVIN, with precision of 83.5%, recall of 78.9%, and F1-score of 81.2%, outperforming baseline methods. In RQ2, the usefulness is verified through 20 issues submitted to open-source apps. The RQ3 also illustrates the GCN model is better than other models.</p></div><div><h3>Conclusion:</h3><p>To summarize, our proposed approach can effectively detect accessibility issues in GUIs for low vision users, thereby guiding developers in fixing them efficiently.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"174 ","pages":"Article 107518"},"PeriodicalIF":3.8,"publicationDate":"2024-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141486232","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Towards antifragility of cloud systems: An adaptive chaos driven framework 实现云系统的反脆弱性:自适应混沌驱动框架
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-06-22 DOI: 10.1016/j.infsof.2024.107519
Joseph S. Botros , Lamis F. Al-Qora'n , Amro Al-Said Ahmad

Context

Unlike resilience, antifragility describes systems that get stronger rather than weaker under stress and chaos. Antifragile systems have the capacity to overcome stressors and come out stronger, whereas resilient systems are focused on their capacity to return to their previous state following a failure. As technology environments become increasingly complex, there is a great need for developing software systems that can benefit from failures while continuously improving. Most applications nowadays operate in cloud environments. Thus, with this increasing adoption of Cloud-Native Systems they require antifragility due to their distributed nature.

Objective

The paper proposes UNFRAGILE framework, which facilitates the transformation of existing systems into antifragile systems. The framework employs chaos engineering to introduce failures incrementally and assess the system's response under such perturbation and improves the quality of system response by removing fragilities and introducing adaptive fault tolerance strategies.

Method

The UNFRAGILE framework's feasibility has been validated by applying it to a cloud-native using a real-world architecture to enhance its antifragility towards long outbound service latencies. The empirical investigation of fragility is undertaken, and the results show how chaos affects application performance metrics and causes disturbances in them. To deal with chaotic network latency, an adaptation phase is put into effect.

Results

The findings indicate that the steady stage's behaviour is like the antifragile stage's behaviour. This suggests that the system could self-stabilise during the chaos without the need to define a static configuration after determining from the context of the environment that the dependent system was experiencing difficulties.

Conclusion

Overall, this paper contributes to ongoing efforts to develop antifragile software capable of adapting to the rapidly changing complex environment. Overall, the research provides an operational framework for engineering software systems that learn and improve through exposure to failures rather than just surviving them.

背景与恢复力不同,反脆弱系统描述的是在压力和混乱中变得更强而不是更弱的系统。反脆弱系统有能力克服压力并变得更加强大,而弹性系统则侧重于在失败后恢复到先前状态的能力。随着技术环境变得越来越复杂,亟需开发出既能从失败中获益,又能不断改进的软件系统。如今,大多数应用程序都在云环境中运行。本文提出的 UNFRAGILE 框架有助于将现有系统转化为反脆弱系统。该框架利用混沌工程逐步引入故障,评估系统在这种扰动下的响应,并通过消除脆弱性和引入自适应容错策略来提高系统响应的质量。方法通过将 UNFRAGILE 框架应用于云计算原生系统,验证了该框架的可行性。对脆弱性进行了实证调查,结果显示了混乱是如何影响应用性能指标并对其造成干扰的。结果表明,稳定阶段的行为与反脆弱阶段的行为相似。结论总之,本文为开发能够适应快速变化的复杂环境的反脆弱软件做出了贡献。总之,这项研究为软件系统的工程设计提供了一个可操作的框架,使软件系统能够通过面对失败而不是仅仅在失败中幸存下来来学习和改进。
{"title":"Towards antifragility of cloud systems: An adaptive chaos driven framework","authors":"Joseph S. Botros ,&nbsp;Lamis F. Al-Qora'n ,&nbsp;Amro Al-Said Ahmad","doi":"10.1016/j.infsof.2024.107519","DOIUrl":"https://doi.org/10.1016/j.infsof.2024.107519","url":null,"abstract":"<div><h3>Context</h3><p>Unlike resilience, antifragility describes systems that get stronger rather than weaker under stress and chaos. Antifragile systems have the capacity to overcome stressors and come out stronger, whereas resilient systems are focused on their capacity to return to their previous state following a failure. As technology environments become increasingly complex, there is a great need for developing software systems that can benefit from failures while continuously improving. Most applications nowadays operate in cloud environments. Thus, with this increasing adoption of Cloud-Native Systems they require antifragility due to their distributed nature.</p></div><div><h3>Objective</h3><p>The paper proposes UNFRAGILE framework, which facilitates the transformation of existing systems into antifragile systems. The framework employs chaos engineering to introduce failures incrementally and assess the system's response under such perturbation and improves the quality of system response by removing fragilities and introducing adaptive fault tolerance strategies.</p></div><div><h3>Method</h3><p>The UNFRAGILE framework's feasibility has been validated by applying it to a cloud-native using a real-world architecture to enhance its antifragility towards long outbound service latencies. The empirical investigation of fragility is undertaken, and the results show how chaos affects application performance metrics and causes disturbances in them. To deal with chaotic network latency, an adaptation phase is put into effect.</p></div><div><h3>Results</h3><p>The findings indicate that the steady stage's behaviour is like the antifragile stage's behaviour. This suggests that the system could self-stabilise during the chaos without the need to define a static configuration after determining from the context of the environment that the dependent system was experiencing difficulties.</p></div><div><h3>Conclusion</h3><p>Overall, this paper contributes to ongoing efforts to develop antifragile software capable of adapting to the rapidly changing complex environment. Overall, the research provides an operational framework for engineering software systems that learn and improve through exposure to failures rather than just surviving them.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"174 ","pages":"Article 107519"},"PeriodicalIF":3.8,"publicationDate":"2024-06-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0950584924001241/pdfft?md5=4a3b226c5cce52766d27e46c6f346db1&pid=1-s2.0-S0950584924001241-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141483209","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Measuring and improving software testability at the design level 在设计层面衡量和改进软件可测试性
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-06-21 DOI: 10.1016/j.infsof.2024.107511
Morteza Zakeri-Nasrabadi , Saeed Parsa , Sadegh Jafari

Context

The quality of software systems is significantly influenced by design testability, an aspect often overlooked during the initial phases of software development. The implementation may deviate from its design, resulting in decreased testability at the integration and unit levels.

Objective

The objective of this study is to automatically identify low-testable parts in object-orientated design and enhance them by refactoring to design patterns. The impact of various design metrics mainly coupling (e.g., fan-in and fan-out) and inheritance (e.g., depth of inheritance tree and number of subclasses) metrics on design testability is measured to select the most appropriate refactoring candidates.

Method

The methodology involves creating a machine learning model for design testability prediction using a large dataset of Java classes, followed by developing an automated refactoring tool. The design classes are vectorized by ten design metrics and labeled with testability scores calculated from a mathematical model. The model computes testability based on code coverage and test suite size of classes that have already been tested via automatic tools. A voting regressor model is trained to predict the design testability of any class diagram based on these design metrics. The proposed refactoring tool for dependency injection and factory method is applied to various open-source Java projects, and its impact on design testability is assessed.

Results

The proposed design testability model demonstrates its effectiveness by satisfactorily predicting design testability, as indicated by a mean squared error of 0.04 and an R2 score of 0.53. The automated refactoring tool has been successfully evaluated on six open-source Java projects, revealing an enhancement in design testability by up to 19.11 %.

Conclusion

The proposed automated approach offers software developers the means to continuously evaluate and enhance design testability throughout the entire software development life cycle, mitigating the risk of testability issues stemming from design-to-implementation discrepancies.

背景软件系统的质量在很大程度上受到设计可测试性的影响,而在软件开发的初始阶段,可测试性往往被忽视。本研究的目的是自动识别面向对象设计中可测试性低的部分,并通过重构设计模式来增强这些部分。方法该方法包括使用一个大型 Java 类数据集创建一个用于预测设计可测试性的机器学习模型,然后开发一个自动重构工具。设计类通过十个设计指标进行矢量化,并用数学模型计算出的可测试性分数进行标记。该模型根据已通过自动工具测试过的类的代码覆盖率和测试套件大小计算可测试性。通过训练投票回归模型,可根据这些设计指标预测任何类图的设计可测试性。针对依赖注入和工厂方法提出的重构工具被应用到各种开源 Java 项目中,并评估了它对设计可测试性的影响。 结果提出的设计可测试性模型通过令人满意的设计可测试性预测证明了它的有效性,平均平方误差为 0.04,R2 分数为 0.53。自动重构工具已在六个开源 Java 项目上成功进行了评估,结果表明设计可测试性提高了 19.11%。
{"title":"Measuring and improving software testability at the design level","authors":"Morteza Zakeri-Nasrabadi ,&nbsp;Saeed Parsa ,&nbsp;Sadegh Jafari","doi":"10.1016/j.infsof.2024.107511","DOIUrl":"https://doi.org/10.1016/j.infsof.2024.107511","url":null,"abstract":"<div><h3>Context</h3><p>The quality of software systems is significantly influenced by design testability, an aspect often overlooked during the initial phases of software development. The implementation may deviate from its design, resulting in decreased testability at the integration and unit levels.</p></div><div><h3>Objective</h3><p>The objective of this study is to automatically identify low-testable parts in object-orientated design and enhance them by refactoring to design patterns. The impact of various design metrics mainly coupling (<em>e.g.</em>, fan-in and fan-out) and inheritance (<em>e.g.</em>, depth of inheritance tree and number of subclasses) metrics on design testability is measured to select the most appropriate refactoring candidates.</p></div><div><h3>Method</h3><p>The methodology involves creating a machine learning model for design testability prediction using a large dataset of Java classes, followed by developing an automated refactoring tool. The design classes are vectorized by ten design metrics and labeled with testability scores calculated from a mathematical model. The model computes testability based on code coverage and test suite size of classes that have already been tested via automatic tools. A voting regressor model is trained to predict the design testability of any class diagram based on these design metrics. The proposed refactoring tool for dependency injection and factory method is applied to various open-source Java projects, and its impact on design testability is assessed.</p></div><div><h3>Results</h3><p>The proposed design testability model demonstrates its effectiveness by satisfactorily predicting design testability, as indicated by a mean squared error of 0.04 and an R<sup>2</sup> score of 0.53. The automated refactoring tool has been successfully evaluated on six open-source Java projects, revealing an enhancement in design testability by up to 19.11 %.</p></div><div><h3>Conclusion</h3><p>The proposed automated approach offers software developers the means to continuously evaluate and enhance design testability throughout the entire software development life cycle, mitigating the risk of testability issues stemming from design-to-implementation discrepancies.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"174 ","pages":"Article 107511"},"PeriodicalIF":3.8,"publicationDate":"2024-06-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141438939","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
SeDPGK: Semi-supervised software defect prediction with graph representation learning and knowledge distillation SeDPGK:利用图表示学习和知识提炼进行半监督软件缺陷预测
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-06-21 DOI: 10.1016/j.infsof.2024.107510
Wangshu Liu , Ye Yue , Xiang Chen , Qing Gu , Pengzhan Zhao , Xuejun Liu , Jianjun Zhao

Context:

Constructing an effective defect prediction model relies on a substantial number of labeled program modules. Unfortunately, program module labeling is often time-consuming and error-prone. Semi-supervised software defect prediction (SSDP) can alleviate this issue by incorporating some labeled modules and the remaining unlabeled modules from the same project.

Objective:

However, previous SSDP methods ignore the significant influence of dependencies between software modules. The potential of knowledge distillation in leveraging labeled instances to guide the learning process and effectively utilizing information from unlabeled instances to improve SSDP performance has not been fully investigated.

Method:

We propose a novel approach SeDPGK. Specifically, to exploit the graph-structured knowledge, we first construct the program dependence graph to extract control and data dependencies among modules. Then we use graph neural networks (GNNs) to learn the graph representation of the module relationships and encode with the statement semantics of abstract syntax tree and traditional static features for diversity. Second, we integrate multiple GNNs jointly trained as teacher models to ensemble various styles of graph-based networks and generate trustworthy labels for unlabeled modules. Further, to preserve the teacher model’s sufficient structure and semantic knowledge, we adopt a trainable label propagation and multi-layer perception as the student model and mitigate the differences between the teacher and student models using two widespread knowledge distillation functions.

Results:

We conducted our experiments on 17 real-world projects. The experimental results show that SeDPGK outperforms semi-supervised baselines with an average improvement of 16.9% for PD, 42.5% for FAR, and 8.9% for AUC, respectively. Moreover, the performance improvement is consistently significant across multiple statistical tests.

Conclusion:

The effectiveness of SeDPGK comes from the aggregation of the different GNNs with heterogeneity. Moreover, the graph structure and semantic features hidden behind the source code play a crucial role in the distillation framework.

背景:构建有效的缺陷预测模型依赖于大量已标记的程序模块。遗憾的是,程序模块标注通常既耗时又容易出错。半监督软件缺陷预测(SSDP)可以通过整合同一项目中部分已标记模块和其余未标记模块来缓解这一问题。方法:我们提出了一种新方法 SeDPGK。具体来说,为了利用图结构知识,我们首先构建了程序依赖图,以提取模块间的控制和数据依赖关系。然后,我们使用图神经网络(GNN)来学习模块关系的图表示,并用抽象语法树的语句语义和传统的静态特征进行编码,以实现多样性。其次,我们将多个经过联合训练的图神经网络整合为教师模型,以集合各种风格的图网络,并为未标记的模块生成可信标签。此外,为了充分保留教师模型的结构和语义知识,我们采用了可训练的标签传播和多层感知作为学生模型,并使用两种广泛的知识提炼函数来减少教师模型和学生模型之间的差异。实验结果表明,SeDPGK 优于半监督基线,PD 平均提高了 16.9%,FAR 平均提高了 42.5%,AUC 平均提高了 8.9%。结论:SeDPGK 的有效性来自于对具有异质性的不同 GNN 的聚合。此外,隐藏在源代码背后的图结构和语义特征在蒸馏框架中发挥着至关重要的作用。
{"title":"SeDPGK: Semi-supervised software defect prediction with graph representation learning and knowledge distillation","authors":"Wangshu Liu ,&nbsp;Ye Yue ,&nbsp;Xiang Chen ,&nbsp;Qing Gu ,&nbsp;Pengzhan Zhao ,&nbsp;Xuejun Liu ,&nbsp;Jianjun Zhao","doi":"10.1016/j.infsof.2024.107510","DOIUrl":"https://doi.org/10.1016/j.infsof.2024.107510","url":null,"abstract":"<div><h3>Context:</h3><p>Constructing an effective defect prediction model relies on a substantial number of labeled program modules. Unfortunately, program module labeling is often time-consuming and error-prone. Semi-supervised software defect prediction (SSDP) can alleviate this issue by incorporating some labeled modules and the remaining unlabeled modules from the same project.</p></div><div><h3>Objective:</h3><p>However, previous SSDP methods ignore the significant influence of dependencies between software modules. The potential of knowledge distillation in leveraging labeled instances to guide the learning process and effectively utilizing information from unlabeled instances to improve SSDP performance has not been fully investigated.</p></div><div><h3>Method:</h3><p>We propose a novel approach SeDPGK. Specifically, to exploit the graph-structured knowledge, we first construct the program dependence graph to extract control and data dependencies among modules. Then we use graph neural networks (GNNs) to learn the graph representation of the module relationships and encode with the statement semantics of abstract syntax tree and traditional static features for diversity. Second, we integrate multiple GNNs jointly trained as teacher models to ensemble various styles of graph-based networks and generate trustworthy labels for unlabeled modules. Further, to preserve the teacher model’s sufficient structure and semantic knowledge, we adopt a trainable label propagation and multi-layer perception as the student model and mitigate the differences between the teacher and student models using two widespread knowledge distillation functions.</p></div><div><h3>Results:</h3><p>We conducted our experiments on 17 real-world projects. The experimental results show that SeDPGK outperforms semi-supervised baselines with an average improvement of 16.9% for PD, 42.5% for FAR, and 8.9% for AUC, respectively. Moreover, the performance improvement is consistently significant across multiple statistical tests.</p></div><div><h3>Conclusion:</h3><p>The effectiveness of SeDPGK comes from the aggregation of the different GNNs with heterogeneity. Moreover, the graph structure and semantic features hidden behind the source code play a crucial role in the distillation framework.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"174 ","pages":"Article 107510"},"PeriodicalIF":3.8,"publicationDate":"2024-06-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141483210","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
A vulnerability detection framework by focusing on critical execution paths 以关键执行路径为重点的漏洞检测框架
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-06-15 DOI: 10.1016/j.infsof.2024.107517
Jianxin Cheng , Yizhou Chen , Yongzhi Cao , Hanpin Wang

Context:

Vulnerability detection is critical to ensure software security, and detecting vulnerabilities in smart contract code is currently gaining massive attention. Existing deep learning-based vulnerability detection methods represent the code as a code structure graph and eliminate vulnerability-irrelevant nodes. Then, they learn vulnerability-related code features from the simplified graph for vulnerability detection. However, this simplified graph struggles to represent relatively complete structural information of code, which may affect the performance of existing vulnerability detection methods.

Objective:

In this paper, we present a novel Vulnerability Detection framework based on Critical Execution Paths (VDCEP), which aims to improve smart contract vulnerability detection.

Method:

Firstly, given a code structure graph, we deconstruct it into multiple execution paths that reflect rich structural information of code. To reduce irrelevant code information, a path selection strategy is employed to identify critical execution paths that may contain vulnerable code information. Secondly, a feature extraction module is adopted to learn feature representations of critical paths. Finally, we feed all path feature representations into a classifier for vulnerability detection. Also, the feature weights of paths are provided to measure their importance in vulnerability detection.

Results:

We evaluate VDCEP on a large dataset with four types of smart contract vulnerabilities. Results show that VDCEP outperforms 14 representative vulnerability detection methods by 5.34%–60.88% in F1-score. The ablation studies analyze the effects of our path selection strategy and feature extraction module on VDCEP. Moreover, VDCEP still outperforms ChatGPT by 34.46% in F1-score.

Conclusion:

Compared to existing vulnerability detection methods, VDCEP is more effective in detecting smart contract vulnerabilities by utilizing critical execution paths. Besides, we can provide interpretable details about vulnerability detection by analyzing the path feature weights.

背景:漏洞检测对于确保软件安全至关重要,而检测智能合约代码中的漏洞目前正受到广泛关注。现有的基于深度学习的漏洞检测方法将代码表示为代码结构图,并剔除与漏洞无关的节点。然后,它们从简化图中学习与漏洞相关的代码特征,进行漏洞检测。方法:首先,给定代码结构图,将其解构为多个反映代码丰富结构信息的执行路径。为了减少不相关的代码信息,我们采用了路径选择策略来识别可能包含漏洞代码信息的关键执行路径。其次,采用特征提取模块来学习关键路径的特征表示。最后,我们将所有路径特征表征输入分类器进行漏洞检测。结果:我们在一个包含四种智能合约漏洞的大型数据集上对 VDCEP 进行了评估。结果表明,VDCEP 的 F1 分数比 14 种具有代表性的漏洞检测方法高出 5.34%-60.88% 。消融研究分析了我们的路径选择策略和特征提取模块对 VDCEP 的影响。结论:与现有的漏洞检测方法相比,VDCEP 利用关键执行路径检测智能合约漏洞更有效。此外,我们还可以通过分析路径特征权重,提供可解释的漏洞检测细节。
{"title":"A vulnerability detection framework by focusing on critical execution paths","authors":"Jianxin Cheng ,&nbsp;Yizhou Chen ,&nbsp;Yongzhi Cao ,&nbsp;Hanpin Wang","doi":"10.1016/j.infsof.2024.107517","DOIUrl":"10.1016/j.infsof.2024.107517","url":null,"abstract":"<div><h3>Context:</h3><p>Vulnerability detection is critical to ensure software security, and detecting vulnerabilities in smart contract code is currently gaining massive attention. Existing deep learning-based vulnerability detection methods represent the code as a code structure graph and eliminate vulnerability-irrelevant nodes. Then, they learn vulnerability-related code features from the simplified graph for vulnerability detection. However, this simplified graph struggles to represent relatively complete structural information of code, which may affect the performance of existing vulnerability detection methods.</p></div><div><h3>Objective:</h3><p>In this paper, we present a novel <strong>V</strong>ulnerability <strong>D</strong>etection framework based on <strong>C</strong>ritical <strong>E</strong>xecution <strong>P</strong>aths (VDCEP), which aims to improve smart contract vulnerability detection.</p></div><div><h3>Method:</h3><p>Firstly, given a code structure graph, we deconstruct it into multiple execution paths that reflect rich structural information of code. To reduce irrelevant code information, a path selection strategy is employed to identify critical execution paths that may contain vulnerable code information. Secondly, a feature extraction module is adopted to learn feature representations of critical paths. Finally, we feed all path feature representations into a classifier for vulnerability detection. Also, the feature weights of paths are provided to measure their importance in vulnerability detection.</p></div><div><h3>Results:</h3><p>We evaluate VDCEP on a large dataset with four types of smart contract vulnerabilities. Results show that VDCEP outperforms 14 representative vulnerability detection methods by 5.34%–60.88% in F1-score. The ablation studies analyze the effects of our path selection strategy and feature extraction module on VDCEP. Moreover, VDCEP still outperforms ChatGPT by 34.46% in F1-score.</p></div><div><h3>Conclusion:</h3><p>Compared to existing vulnerability detection methods, VDCEP is more effective in detecting smart contract vulnerabilities by utilizing critical execution paths. Besides, we can provide interpretable details about vulnerability detection by analyzing the path feature weights.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"174 ","pages":"Article 107517"},"PeriodicalIF":3.8,"publicationDate":"2024-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141396583","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Product managers in software startups: A grounded theory 软件初创企业的产品经理:基础理论
IF 3.9 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-06-13 DOI: 10.1016/j.infsof.2024.107516
Jorge Melegati , Igor Wiese , Eduardo Guerra , Rafael Chanin , Abdullah Aldaeej , Tommi Mikkonen , Rafael Prikladnicki , Xiaofeng Wang

Context:

Defining and designing a software product is not merely a technical endeavor, but also a socio-technical journey. As such, its success is associated with human-related aspects, such as the value users perceive. To handle this issue, the product manager role has become more evident in software-intensive companies. A unique, challenging context for these professionals is constituted by software startups, emerging companies developing novel solutions looking for sustainable and scalable business models.

Objective:

This study aims to describe the role of product managers in the context of software startups.

Method:

We performed a Socio-Technical Grounded Theory study using data from blog posts and interviews.

Results:

The results describe the product manager as a multidisciplinary, general role, not only guiding the product by developing its vision but also as a connector that emerges in a growing company, enabling communication of software development with other areas, mainly business and user experience. The professional performing this role has a background in one of these areas but a broad knowledge and understanding of key concepts of the other areas is needed. We also describe how differences of this role to other lead roles are perceived in practice.

Conclusions:

Our findings represent several implications for research, such as better understanding of the role transformation in growing software startups, practice, e.g., identifying the points to which a professional migrating to this role should pay attention, and the education of future software developers, by suggesting the inclusion of related topics in the education and training of future software engineers.

背景:定义和设计软件产品不仅是一项技术工作,也是一个社会技术之旅。因此,它的成功与否与人的相关方面有关,如用户感知到的价值。为了解决这个问题,产品经理的角色在软件密集型企业中变得越来越明显。结果:研究结果显示,产品经理是一个多学科的综合角色,不仅通过开发产品的愿景来指导产品,而且还是成长型公司中出现的连接器,使软件开发与其他领域(主要是业务和用户体验)进行沟通。担任这一角色的专业人员必须具备其中一个领域的背景,但也需要对其他领域的关键概念有广泛的了解和理解。我们还描述了在实践中如何看待这一角色与其他领导角色的不同之处。结论:我们的研究结果对研究产生了若干影响,如更好地理解成长型软件初创公司中的角色转变、实践(如确定转任这一角色的专业人员应注意的要点)以及未来软件开发人员的教育(建议在未来软件工程师的教育和培训中纳入相关主题)。
{"title":"Product managers in software startups: A grounded theory","authors":"Jorge Melegati ,&nbsp;Igor Wiese ,&nbsp;Eduardo Guerra ,&nbsp;Rafael Chanin ,&nbsp;Abdullah Aldaeej ,&nbsp;Tommi Mikkonen ,&nbsp;Rafael Prikladnicki ,&nbsp;Xiaofeng Wang","doi":"10.1016/j.infsof.2024.107516","DOIUrl":"10.1016/j.infsof.2024.107516","url":null,"abstract":"<div><h3>Context:</h3><p>Defining and designing a software product is not merely a technical endeavor, but also a socio-technical journey. As such, its success is associated with human-related aspects, such as the value users perceive. To handle this issue, the product manager role has become more evident in software-intensive companies. A unique, challenging context for these professionals is constituted by software startups, emerging companies developing novel solutions looking for sustainable and scalable business models.</p></div><div><h3>Objective:</h3><p>This study aims to describe the role of product managers in the context of software startups.</p></div><div><h3>Method:</h3><p>We performed a Socio-Technical Grounded Theory study using data from blog posts and interviews.</p></div><div><h3>Results:</h3><p>The results describe the product manager as a multidisciplinary, general role, not only guiding the product by developing its vision but also as a connector that emerges in a growing company, enabling communication of software development with other areas, mainly business and user experience. The professional performing this role has a background in one of these areas but a broad knowledge and understanding of key concepts of the other areas is needed. We also describe how differences of this role to other lead roles are perceived in practice.</p></div><div><h3>Conclusions:</h3><p>Our findings represent several implications for research, such as better understanding of the role transformation in growing software startups, practice, e.g., identifying the points to which a professional migrating to this role should pay attention, and the education of future software developers, by suggesting the inclusion of related topics in the education and training of future software engineers.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"174 ","pages":"Article 107516"},"PeriodicalIF":3.9,"publicationDate":"2024-06-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0950584924001216/pdfft?md5=bdf7a653e0eee5cde2e2aff9308d4ff0&pid=1-s2.0-S0950584924001216-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141396895","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Feature envy detection based on cross-graph local semantics matching 基于跨图局部语义匹配的特征嫉妒检测
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-06-12 DOI: 10.1016/j.infsof.2024.107515
Quanxin Yang, Dongjin Yu, Xin Chen, Yihang Xu, Wangliang Yan, Bin Hu

Context:

As a typical code smell, feature envy occurs when a method exhibits excessive reliance and usage on specific functionalities of another class, which can lead to issues with the maintainability and extensibility of the code. As such, detecting and avoiding feature envy is critical for software development. Previous research on detecting feature envy has demonstrated significant advantages of deep learning-based approaches over static code analysis tools. However, current deep learning-based approaches still suffer from two limitations: (1) They focus on the functional or overall semantics of the code, which ignores the opportunities for local code semantics matching, making it challenging to identify some more complex cases; (2) Existing feature envy datasets are collected or synthesized using static code analysis tools, which limits feature envy cases to fixed rules and makes it challenging to cover other complex cases in real projects.

Objective:

We are motivated to propose a Siamese graph neural network based on code local semantics matching and collect feature envy refactoring cases from real projects for experimental evaluation.

Method:

To address the first issue, we propose a cross-graph local semantics matching network, which aims to simulate human intuition or experience to detect feature envy by analyzing the local semantics matching between code graphs. To address the second one, we manually review and collect commits for refactoring feature envy cases on GitHub. Then, we refer to image data augmentation technology to construct two datasets for identifying feature envy and recommending Move Method refactorings, respectively.

Results:

Extensive experiments show that our approach outperforms state-of-the-art baselines regarding both tasks’ comprehensive metrics, F1-score and AUC.

Conclusion:

The experimental results indicate that the proposed Siamese graph neural network based on code local semantics matching is effective. In addition, the provided data augmentation algorithms can significantly improve model performance.

背景:作为一种典型的代码气味,当一个方法过度依赖和使用另一个类的特定功能时,就会出现 "功能嫉妒"(feature envy),这可能会导致代码的可维护性和可扩展性出现问题。因此,检测和避免功能嫉妒对软件开发至关重要。以往关于检测功能嫉妒的研究表明,基于深度学习的方法比静态代码分析工具具有显著优势。然而,目前基于深度学习的方法仍然存在两个局限性:(1)它们只关注代码的功能或整体语义,忽略了局部代码语义匹配的机会,这使得识别一些更复杂的情况具有挑战性;(2)现有的特征嫉妒数据集是使用静态代码分析工具收集或合成的,这将特征嫉妒的情况限制在固定的规则中,使得覆盖实际项目中的其他复杂情况具有挑战性。方法:针对第一个问题,我们提出了跨图局部语义匹配网络,旨在模拟人类的直觉或经验,通过分析代码图之间的局部语义匹配来检测特征嫉妒。为了解决第二个问题,我们在 GitHub 上手动审查并收集了重构功能嫉妒案例的提交。结论:实验结果表明,基于代码局部语义匹配的连体图神经网络是有效的。结论:实验结果表明,基于代码局部语义匹配的连体图神经网络是有效的,此外,所提供的数据增强算法可以显著提高模型性能。
{"title":"Feature envy detection based on cross-graph local semantics matching","authors":"Quanxin Yang,&nbsp;Dongjin Yu,&nbsp;Xin Chen,&nbsp;Yihang Xu,&nbsp;Wangliang Yan,&nbsp;Bin Hu","doi":"10.1016/j.infsof.2024.107515","DOIUrl":"10.1016/j.infsof.2024.107515","url":null,"abstract":"<div><h3>Context:</h3><p>As a typical code smell, feature envy occurs when a method exhibits excessive reliance and usage on specific functionalities of another class, which can lead to issues with the maintainability and extensibility of the code. As such, detecting and avoiding feature envy is critical for software development. Previous research on detecting feature envy has demonstrated significant advantages of deep learning-based approaches over static code analysis tools. However, current deep learning-based approaches still suffer from two limitations: (1) They focus on the functional or overall semantics of the code, which ignores the opportunities for local code semantics matching, making it challenging to identify some more complex cases; (2) Existing feature envy datasets are collected or synthesized using static code analysis tools, which limits feature envy cases to fixed rules and makes it challenging to cover other complex cases in real projects.</p></div><div><h3>Objective:</h3><p>We are motivated to propose a Siamese graph neural network based on code local semantics matching and collect feature envy refactoring cases from real projects for experimental evaluation.</p></div><div><h3>Method:</h3><p>To address the first issue, we propose a cross-graph local semantics matching network, which aims to simulate human intuition or experience to detect feature envy by analyzing the local semantics matching between code graphs. To address the second one, we manually review and collect commits for refactoring feature envy cases on GitHub. Then, we refer to image data augmentation technology to construct two datasets for identifying feature envy and recommending <em>Move Method</em> refactorings, respectively.</p></div><div><h3>Results:</h3><p>Extensive experiments show that our approach outperforms state-of-the-art baselines regarding both tasks’ comprehensive metrics, F1-score and AUC.</p></div><div><h3>Conclusion:</h3><p>The experimental results indicate that the proposed Siamese graph neural network based on code local semantics matching is effective. In addition, the provided data augmentation algorithms can significantly improve model performance.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"174 ","pages":"Article 107515"},"PeriodicalIF":3.8,"publicationDate":"2024-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141407138","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
SENEM: A software engineering-enabled educational metaverse SENEM:支持软件工程的教育元宇宙
IF 3.9 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-06-12 DOI: 10.1016/j.infsof.2024.107512
Viviana Pentangelo, Dario Di Dario, Stefano Lambiase, Filomena Ferrucci, Carmine Gravino, Fabio Palomba

Context:

The term metaverse refers to a persistent, virtual, three-dimensional environment where individuals may communicate, engage, and collaborate. One of the most multifaceted and challenging use cases of the metaverse is education, where educators and learners may require multiple technical, social, psychological, and interaction instruments to accomplish their learning objectives. While the characteristics of the metaverse might nicely fit the problem’s needs, our research points out a noticeable lack of knowledge into (1) the specific requirements that an educational metaverse should actually fulfill to let educators and learners successfully interact towards their objectives and (2) how to design an appropriate educational metaverse for both educators and learners.

Objective:

In this paper, we aim to bridge this knowledge gap by proposing SENEM, a novel software engineering-enabled educational metaverse. We first elicit a set of functional requirements that an educational metaverse should fulfill.

Method:

In this respect, we conduct a literature survey to extract the currently available knowledge on the matter discussed by the research community, and afterward, we assess and complement such knowledge through semi-structured interviews with educators and learners. Upon completing the requirements elicitation stage, we then build our prototype implementation of SENEM, a metaverse that makes available to educators and learners the features identified in the previous stage. Finally, we evaluate the tool in terms of learnability, efficiency, and satisfaction through a Rapid Iterative Testing and Evaluation research approach, leading us to the iterative refinement of our prototype.

Results:

Through our survey strategy, we extracted nine requirements that guided the tool development that the study participants positively evaluated.

Conclusion:

Our study reveals that the target audience appreciates the elicited design strategy. Our work has the potential to form a solid contribution that other researchers can use as a basis for further improvements.

背景:"元宇宙"(metaverse)一词指的是一个持久的、虚拟的、三维的环境,在这个环境中,个人可以进行交流、接触和协作。在教育领域,教育者和学习者可能需要多种技术、社会、心理和交互工具来实现学习目标。虽然元海外的特点可能很好地满足了问题的需要,但我们的研究指出,在以下方面明显缺乏知识:(1)教育元海外应该满足哪些具体要求,才能让教育者和学习者成功地实现互动目标;(2)如何为教育者和学习者设计一个合适的教育元海外。方法:为此,我们进行了一次文献调查,以提取目前研究界讨论的相关知识,然后通过对教育者和学习者进行半结构化访谈,对这些知识进行评估和补充。在完成需求征集阶段后,我们构建了 SENEM 的原型实施方案,这是一个元宇宙,可向教育者和学习者提供前一阶段确定的功能。最后,我们通过快速迭代测试和评估研究方法,对工具的可学性、效率和满意度进行了评估,从而对原型进行了迭代改进。结果:通过调查策略,我们提取了九项需求,这些需求指导了工具的开发,并得到了研究参与者的积极评价。结论:我们的研究表明,目标受众对诱导式设计策略非常欣赏,我们的工作有可能为其他研究人员的进一步改进奠定坚实的基础。
{"title":"SENEM: A software engineering-enabled educational metaverse","authors":"Viviana Pentangelo,&nbsp;Dario Di Dario,&nbsp;Stefano Lambiase,&nbsp;Filomena Ferrucci,&nbsp;Carmine Gravino,&nbsp;Fabio Palomba","doi":"10.1016/j.infsof.2024.107512","DOIUrl":"https://doi.org/10.1016/j.infsof.2024.107512","url":null,"abstract":"<div><h3>Context:</h3><p>The term metaverse refers to a persistent, virtual, three-dimensional environment where individuals may communicate, engage, and collaborate. One of the most multifaceted and challenging use cases of the metaverse is education, where educators and learners may require multiple technical, social, psychological, and interaction instruments to accomplish their learning objectives. While the characteristics of the metaverse might nicely fit the problem’s needs, our research points out a noticeable lack of knowledge into (1) the specific requirements that an educational metaverse should actually fulfill to let educators and learners successfully interact towards their objectives and (2) how to design an appropriate educational metaverse for both educators and learners.</p></div><div><h3>Objective:</h3><p>In this paper, we aim to bridge this knowledge gap by proposing <span>SENEM</span>, a novel software engineering-enabled educational metaverse. We first elicit a set of functional requirements that an educational metaverse should fulfill.</p></div><div><h3>Method:</h3><p>In this respect, we conduct a literature survey to extract the currently available knowledge on the matter discussed by the research community, and afterward, we assess and complement such knowledge through semi-structured interviews with educators and learners. Upon completing the requirements elicitation stage, we then build our prototype implementation of <span>SENEM</span>, a metaverse that makes available to educators and learners the features identified in the previous stage. Finally, we evaluate the tool in terms of learnability, efficiency, and satisfaction through a Rapid Iterative Testing and Evaluation research approach, leading us to the iterative refinement of our prototype.</p></div><div><h3>Results:</h3><p>Through our survey strategy, we extracted nine requirements that guided the tool development that the study participants positively evaluated.</p></div><div><h3>Conclusion:</h3><p>Our study reveals that the target audience appreciates the elicited design strategy. Our work has the potential to form a solid contribution that other researchers can use as a basis for further improvements.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"174 ","pages":"Article 107512"},"PeriodicalIF":3.9,"publicationDate":"2024-06-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0950584924001174/pdfft?md5=d195f9e835855108574c749267de7cd3&pid=1-s2.0-S0950584924001174-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141325332","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
On current limitations of online eye-tracking to study the visual processing of source code 在线眼动跟踪在研究源代码视觉处理方面的局限性
IF 3.8 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-06-07 DOI: 10.1016/j.infsof.2024.107502
Eva Thilderkvist, Felix Dobslaw
<div><h3>Context:</h3><p>Eye-tracking is an increasingly popular instrument to study how programmers process and comprehend source code. While most studies are conducted in controlled environments with lab-grade hardware, it would be desirable to simplify and scale participation in experiments for users sitting remotely, leveraging home equipment.</p></div><div><h3>Objective:</h3><p>This study investigates the possibility of performing eye-tracking studies remotely using open-source algorithms and consumer-grade webcams. It establishes the technology’s current limitations and evaluates the quality of the data collected by it. We conclude by recommending ways forward to address the shortcomings and make remote code-reading studies in support of eye-tracking feasible in the future.</p></div><div><h3>Method:</h3><p>We gathered eye-gaze data remotely from 40 participants performing a code reading experiment on a purpose-built web application. The utilized eye-tracker worked client-side and used ridge regression to generate x- and y-coordinates in real-time predicting the participants’ on-screen gaze points without the need to collect and save video footage. We processed and analysed the collected data according to common practices for isolating eye-movement events and deriving metrics used in software engineering eye-tracking studies. In response to the lack of an algorithm explicitly developed for detecting oculomotor fixation events in low-frequency webcam data, we also introduced a dispersion threshold algorithm for that purpose. The quality of the collected data was subsequently assessed to determine the adequacy and validity of the methodology for eye-tracking.</p></div><div><h3>Results:</h3><p>The collected data was found to be of varying quality despite extensive calibration and graphical user guidance. We present our results highlighting both the negative and positive observations from which the community hopefully can learn. Both accuracy and precision were low and ultimately deemed insufficient for drawing valid conclusions in a high-precision empirical study. We nonetheless contribute to identifying critical limitations to be addressed in future research. Apart from the overall challenge of vastly diverse equipment, setup, and configuration, we found two main problems with the current webcam eye-tracking technology. The first was the absence of a validated algorithm to isolate fixations in low-frequency data, compromising the assurance of the accuracy of the data derived from it. The second problem was the lack of algorithmic support for head movements when predicting gaze location. Unsupervised participants do not always keep their heads still, even if instructed to do so. Consequently, we frequently observed spatial shifts that corrupted many collected datasets. Three encouraging observations resulted from the study. Even when shifted, gaze points were consistently dispersed in patterns resembling both the shape and size of the stimuli w
背景:在研究程序员如何处理和理解源代码的过程中,眼动跟踪是一种越来越流行的工具。虽然大多数研究都是在受控环境中使用实验室级硬件进行的,但如果能利用家用设备,简化并扩大用户远程参与实验的规模,那将是非常理想的。研究确定了该技术目前的局限性,并对其收集的数据质量进行了评估。最后,我们提出了解决不足之处的建议,使支持眼动跟踪的远程读码研究在未来变得可行。方法:我们从 40 名在专门构建的网络应用程序上进行读码实验的参与者那里远程收集了眼动数据。所使用的眼动跟踪器在客户端工作,利用脊回归实时生成 x 和 y 坐标,预测参与者在屏幕上的注视点,无需收集和保存视频录像。我们根据软件工程眼动跟踪研究中分离眼动事件和得出指标的常用方法,对收集到的数据进行了处理和分析。由于缺乏明确用于检测低频网络摄像头数据中眼球运动固定事件的算法,我们还为此引入了一种离散阈值算法。结果:尽管进行了广泛的校准和图形用户指导,我们还是发现所收集的数据质量参差不齐。我们介绍的结果既有负面的,也有正面的,希望社会各界能从中吸取经验教训。准确度和精确度都很低,最终被认为不足以在高精度实证研究中得出有效结论。尽管如此,我们还是为确定未来研究中需要解决的关键局限性做出了贡献。除了设备、设置和配置千差万别这一总体挑战之外,我们还发现当前的网络摄像头眼动跟踪技术存在两个主要问题。第一个问题是缺乏一种经过验证的算法来分离低频数据中的固定点,从而影响了从中得出的数据的准确性。第二个问题是在预测注视位置时缺乏对头部运动的算法支持。无监督的参与者并不总能保持头部不动,即使在得到指示的情况下也是如此。因此,我们经常观察到空间移动,这破坏了许多收集到的数据集。这项研究得出了三个令人鼓舞的结论。即使发生偏移,注视点也始终分散在与刺激物的形状和大小相似的模式中,不会出现极端偏差。我们还能分辨出可识别的阅读模式。结论:准确度和精确度水平不足以对代码阅读进行逐字分析,但足以进行更广泛的粗粒度精确度研究。此外,我们还发现了影响所收集数据有效性的两个主要问题,并提供了一种固定检测算法来解决其中一个问题。如果能找到解决这些问题的合适方案,那么使用网络摄像头对代码阅读进行远程眼动跟踪研究最终将成为可能。
{"title":"On current limitations of online eye-tracking to study the visual processing of source code","authors":"Eva Thilderkvist,&nbsp;Felix Dobslaw","doi":"10.1016/j.infsof.2024.107502","DOIUrl":"10.1016/j.infsof.2024.107502","url":null,"abstract":"&lt;div&gt;&lt;h3&gt;Context:&lt;/h3&gt;&lt;p&gt;Eye-tracking is an increasingly popular instrument to study how programmers process and comprehend source code. While most studies are conducted in controlled environments with lab-grade hardware, it would be desirable to simplify and scale participation in experiments for users sitting remotely, leveraging home equipment.&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;h3&gt;Objective:&lt;/h3&gt;&lt;p&gt;This study investigates the possibility of performing eye-tracking studies remotely using open-source algorithms and consumer-grade webcams. It establishes the technology’s current limitations and evaluates the quality of the data collected by it. We conclude by recommending ways forward to address the shortcomings and make remote code-reading studies in support of eye-tracking feasible in the future.&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;h3&gt;Method:&lt;/h3&gt;&lt;p&gt;We gathered eye-gaze data remotely from 40 participants performing a code reading experiment on a purpose-built web application. The utilized eye-tracker worked client-side and used ridge regression to generate x- and y-coordinates in real-time predicting the participants’ on-screen gaze points without the need to collect and save video footage. We processed and analysed the collected data according to common practices for isolating eye-movement events and deriving metrics used in software engineering eye-tracking studies. In response to the lack of an algorithm explicitly developed for detecting oculomotor fixation events in low-frequency webcam data, we also introduced a dispersion threshold algorithm for that purpose. The quality of the collected data was subsequently assessed to determine the adequacy and validity of the methodology for eye-tracking.&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;h3&gt;Results:&lt;/h3&gt;&lt;p&gt;The collected data was found to be of varying quality despite extensive calibration and graphical user guidance. We present our results highlighting both the negative and positive observations from which the community hopefully can learn. Both accuracy and precision were low and ultimately deemed insufficient for drawing valid conclusions in a high-precision empirical study. We nonetheless contribute to identifying critical limitations to be addressed in future research. Apart from the overall challenge of vastly diverse equipment, setup, and configuration, we found two main problems with the current webcam eye-tracking technology. The first was the absence of a validated algorithm to isolate fixations in low-frequency data, compromising the assurance of the accuracy of the data derived from it. The second problem was the lack of algorithmic support for head movements when predicting gaze location. Unsupervised participants do not always keep their heads still, even if instructed to do so. Consequently, we frequently observed spatial shifts that corrupted many collected datasets. Three encouraging observations resulted from the study. Even when shifted, gaze points were consistently dispersed in patterns resembling both the shape and size of the stimuli w","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"174 ","pages":"Article 107502"},"PeriodicalIF":3.8,"publicationDate":"2024-06-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S0950584924001071/pdfft?md5=4163070dc71f52245e9d0dc96b0daa9b&pid=1-s2.0-S0950584924001071-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141397559","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Reporting case studies in systematic literature studies—An evidential problem 在系统文献研究中报告案例研究--一个证据问题
IF 3.9 2区 计算机科学 Q2 COMPUTER SCIENCE, INFORMATION SYSTEMS Pub Date : 2024-06-03 DOI: 10.1016/j.infsof.2024.107501
Austen Rainer , Claes Wohlin

Context:

The term and label, “case study”, is not used consistently by authors of primary studies in software engineering research. It is not clear whether this problem also occurs for systematic literature studies (SLSs).

Objective:

To investigate the extent to which SLSs in/correctly use the term and label, “case study”, when classifying primary studies.

Methods:

We systematically collect two sub-samples (2010–2021 & 2022) comprising a total of eleven SLSs and 79 primary studies. We examine the designs of these SLSs, and then analyse whether the SLS authors and the primary-study authors correctly label the respective primary study as a “case study”.

Results:

76% of the 79 primary studies are misclassified by SLSs (with the two sub-samples having 60% and 81% misclassification, respectively). For 39% of the 79 studies, the SLSs propagate a mislabelling by the original authors, whilst for 37%, the SLSs introduce a new mislabel, thus making the problem worse. SLSs rarely present explicit definitions for “case study” and when they do, the definition is not consistent with established definitions.

Conclusions:

SLSs are both propagating and exacerbating the problem of the mislabelling of primary studies as “case studies”, rather than – as we should expect of SLSs – correcting the labelling of primary studies, and thus improving the body of credible evidence. Propagating and exacerbating mislabelling undermines the credibility of evidence in terms of its quantity, quality and relevance to both practice and research.

背景:在软件工程研究中,"案例研究 "这一术语和标签并没有被主要研究的作者一致使用。方法:我们系统地收集了两个子样本(2010-2021 & 2022),共包括 11 篇 SLS 和 79 篇主要研究。我们检查了这些 SLS 的设计,然后分析了 SLS 作者和主要研究作者是否正确地将各自的主要研究标注为 "案例研究"。结果:79 项主要研究中有 76% 被 SLS 错误分类(两个子样本的错误分类率分别为 60% 和 81%)。在这 79 项研究中,39% 的 SLS 传播了原作者的错误标签,37% 的 SLS 引入了新的错误标签,从而使问题更加严重。结论:SLS 正在传播并加剧将原始研究误标注为 "案例研究 "的问题,而不是像我们对 SLS 所期望的那样,纠正原始研究的标注,从而改善可信证据。错误标注的传播和加剧损害了证据在数量、质量以及与实践和研究相关性方面的可信度。
{"title":"Reporting case studies in systematic literature studies—An evidential problem","authors":"Austen Rainer ,&nbsp;Claes Wohlin","doi":"10.1016/j.infsof.2024.107501","DOIUrl":"10.1016/j.infsof.2024.107501","url":null,"abstract":"<div><h3>Context:</h3><p>The term and label, “case study”, is not used consistently by authors of primary studies in software engineering research. It is not clear whether this problem also occurs for systematic literature studies (SLSs).</p></div><div><h3>Objective:</h3><p>To investigate the extent to which SLSs in/correctly use the term and label, “case study”, when classifying primary studies.</p></div><div><h3>Methods:</h3><p>We systematically collect two sub-samples (2010–2021 &amp; 2022) comprising a total of eleven SLSs and 79 primary studies. We examine the designs of these SLSs, and then analyse whether the SLS authors and the primary-study authors correctly label the respective primary study as a “case study”.</p></div><div><h3>Results:</h3><p>76% of the 79 primary studies are misclassified by SLSs (with the two sub-samples having 60% and 81% misclassification, respectively). For 39% of the 79 studies, the SLSs propagate a mislabelling by the original authors, whilst for 37%, the SLSs introduce a new mislabel, thus making the problem worse. SLSs rarely present explicit definitions for “case study” and when they do, the definition is not consistent with established definitions.</p></div><div><h3>Conclusions:</h3><p>SLSs are both propagating and exacerbating the problem of the mislabelling of primary studies as “case studies”, rather than – as we should expect of SLSs – correcting the labelling of primary studies, and thus improving the body of credible evidence. Propagating and exacerbating mislabelling undermines the credibility of evidence in terms of its quantity, quality and relevance to both practice and research.</p></div>","PeriodicalId":54983,"journal":{"name":"Information and Software Technology","volume":"174 ","pages":"Article 107501"},"PeriodicalIF":3.9,"publicationDate":"2024-06-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"https://www.sciencedirect.com/science/article/pii/S095058492400106X/pdfft?md5=3d35e744355dfcb7dc6216c05d335658&pid=1-s2.0-S095058492400106X-main.pdf","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"141274816","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":2,"RegionCategory":"计算机科学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"OA","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
Information and Software Technology
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1