Software: Practice and Experience最新文献

筛选
英文 中文
CloudSim express: A novel framework for rapid low code simulation of cloud computing environments CloudSim express:用于快速低代码模拟云计算环境的新框架
Software: Practice and Experience Pub Date : 2023-11-28 DOI: 10.1002/spe.3290
Tharindu B. Hewage, Shashikant Ilager, Maria A. Rodriguez, Rajkumar Buyya
{"title":"CloudSim express: A novel framework for rapid low code simulation of cloud computing environments","authors":"Tharindu B. Hewage, Shashikant Ilager, Maria A. Rodriguez, Rajkumar Buyya","doi":"10.1002/spe.3290","DOIUrl":"https://doi.org/10.1002/spe.3290","url":null,"abstract":"Cloud computing environment simulators enable cost-effective experimentation of novel infrastructure designs and management approaches by avoiding significant costs incurred from repetitive deployments in real Cloud platforms. However, widely used Cloud environment simulators compromise on usability due to complexities in design and configuration, along with the added overhead of programming language expertise. Existing approaches attempting to reduce this overhead, such as script-based simulators and graphical user interface (GUI) based simulators, often compromise on the extensibility of the simulator. Simulator extensibility allows for customization at a fine-grained level, thus reducing it significantly affects flexibility in creating simulations. To address these challenges, we propose an architectural framework to enable human-readable script-based simulations in existing Cloud environment simulators while minimizing the impact on simulator extensibility. We implement the proposed framework for the widely used Cloud environment simulator, the CloudSim toolkit, and compare it against state-of-the-art baselines using a practical use case. The resulting framework, called <i>CloudSim Express</i>, achieves extensible simulations while surpassing baselines with over a <math altimg=\"urn:x-wiley:spe:media:spe3290:spe3290-math-0001\" display=\"inline\" location=\"graphic/spe3290-math-0001.png\" overflow=\"scroll\">\u0000<semantics>\u0000<mrow>\u0000<mn>71</mn>\u0000<mo>.</mo>\u0000<mn>43</mn>\u0000</mrow>\u0000$$ 71.43 $$</annotation>\u0000</semantics></math>% reduction in code complexity and an 89.42% reduction in lines of code.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":"30 3","pages":""},"PeriodicalIF":0.0,"publicationDate":"2023-11-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138513644","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Principled and practical static analysis for Python: Weakest precondition inference of hyperparameter constraints Python的原则性和实用性静态分析:超参数约束的最弱前提推理
Software: Practice and Experience Pub Date : 2023-11-22 DOI: 10.1002/spe.3279
Ingkarat Rak-amnouykit, Ana Milanova, Guillaume Baudart, Martin Hirzel, Julian Dolby
{"title":"Principled and practical static analysis for Python: Weakest precondition inference of hyperparameter constraints","authors":"Ingkarat Rak-amnouykit, Ana Milanova, Guillaume Baudart, Martin Hirzel, Julian Dolby","doi":"10.1002/spe.3279","DOIUrl":"https://doi.org/10.1002/spe.3279","url":null,"abstract":"Application programming interfaces often have correctness constraints that cut across multiple arguments. Violating these constraints causes the underlying code to raise runtime exceptions, but at the interface level, these are usually documented at most informally. This article presents novel principled static analysis and the first interprocedural weakest-precondition analysis for Python to extract inter-argument constraints. The analysis is mostly static, but to make it tractable for typical Python idioms, it selectively switches to the concrete domain for some cases. This article focuses on the important case where the interfaces are machine-learning operators and their arguments are hyperparameters, rife with constraints. We extracted hyperparameter constraints for 429 functions and operators from 11 libraries and found real bugs. We used a methodology to obtain ground truth for 181 operators from 8 machine-learning libraries; the analysis achieved high precision and recall for them. Our technique advances static analysis for Python and is a step towards safer and more robust machine learning.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":" 5","pages":""},"PeriodicalIF":0.0,"publicationDate":"2023-11-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138494436","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Object counting in remote sensing via selective spatial-frequency pyramid network 基于选择性空间频率金字塔网络的遥感目标计数
Software: Practice and Experience Pub Date : 2023-11-21 DOI: 10.1002/spe.3287
Jinyong Chen, Mingliang Gao, Xiangyu Guo, Wenzhe Zhai, Qilei Li, Gwanggil Jeon
{"title":"Object counting in remote sensing via selective spatial-frequency pyramid network","authors":"Jinyong Chen, Mingliang Gao, Xiangyu Guo, Wenzhe Zhai, Qilei Li, Gwanggil Jeon","doi":"10.1002/spe.3287","DOIUrl":"https://doi.org/10.1002/spe.3287","url":null,"abstract":"The integration of remote sensing object counting in the Mobile Edge Computing (MEC) environment is of crucial significance and practical value. However, the presence of significant background interference in remote sensing images poses a challenge to accurate object counting, as the results are easily affected by background noise. Additionally, scale variation within remote sensing images presents a further difficulty, as traditional counting methods face challenges in adapting to objects of different scales. To address these challenges, we propose a selective spatial-frequency pyramid network (SSFPNet). Specifically, the SSFPNet consists of two core modules, namely the pyramid attention (PA) module and the hybrid feature pyramid (HFP) module. The PA module accurately extracts target regions and eliminates background interference by operating on four parallel branches. This enables more precise object counting. The HFP module is introduced to fuse spatial and frequency domain information, leveraging scale information from different domains for object counting, so as to improve the accuracy and robustness of counting. Experimental results on RSOC, CARPK, and PUCPR+ benchmark datasets demonstrate that the SSFPNet achieves state-of-the-art performance in terms of accuracy and robustness.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":"32 4","pages":""},"PeriodicalIF":0.0,"publicationDate":"2023-11-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138513633","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Context-based transfer learning for low resource code summarization 基于上下文的迁移学习低资源代码摘要
Software: Practice and Experience Pub Date : 2023-11-20 DOI: 10.1002/spe.3288
Yi Guo, Yu Chai, Lehuan Zhang, Hui Li, Mengzhi Luo, Shikai Guo
{"title":"Context-based transfer learning for low resource code summarization","authors":"Yi Guo, Yu Chai, Lehuan Zhang, Hui Li, Mengzhi Luo, Shikai Guo","doi":"10.1002/spe.3288","DOIUrl":"https://doi.org/10.1002/spe.3288","url":null,"abstract":"Source code summaries improve the readability and intelligibility of code, help developers understand programs, and improve the efficiency of software maintenance and upgrade processes. Unfortunately, these code comments are often mismatched, missing, or outdated in software projects, resulting in developers needing to infer functionality from source code, affecting the efficiency of software maintenance and evolution. Various methods based on neuronal networks are proposed to solve the problem of synthesis of source code. However, the current work is being carried out on resource-rich programming languages such as Java and Python, and some low-resource languages may not perform well. In order to solve the above challenges, we propose a context-based transfer learning model for low resource code summarization (LRCS), which learns the common information from the language with rich resources, and then transfers it to the target language model for further learning. It consists of two components: the summary generation component is used to learn the syntactic and semantic information of the code, and the learning transfer component is used to improve the generalization ability of the model in the learning process of cross-language code summarization. Experimental results show that LRCS outperforms baseline methods in code summarization in terms of sentence-level BLEU, corpus-level BLEU and METEOR. For example, LRCS improves corpus-level BLEU scores by 52.90%, 41.10%, and 14.97%, respectively, compared to baseline methods.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":"33 1","pages":""},"PeriodicalIF":0.0,"publicationDate":"2023-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138513632","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
PD-Gait: Contactless and privacy-preserving gait measurement of Parkinson's disease patients using acoustic signals pd -步态:使用声信号测量帕金森病患者的非接触式和隐私保护步态
Software: Practice and Experience Pub Date : 2023-11-20 DOI: 10.1002/spe.3289
Zeshui Li, Yang Pan, Haipeng Dai, Wenhao Zhang, Zhen Li, Wei Wang, Guihai Chen
{"title":"PD-Gait: Contactless and privacy-preserving gait measurement of Parkinson's disease patients using acoustic signals","authors":"Zeshui Li, Yang Pan, Haipeng Dai, Wenhao Zhang, Zhen Li, Wei Wang, Guihai Chen","doi":"10.1002/spe.3289","DOIUrl":"https://doi.org/10.1002/spe.3289","url":null,"abstract":"In this article, we propose a mobile edge computing (MEC)-related system named <span>PD-Gait</span>, which can measure gait parameters of Parkinson's disease patients in a contactless and privacy-preserving manner. We utilize inaudible acoustic signals and band-pass filters to achieve privacy data protection in the physical layer. The proposed framework can be easily deployed in the mobile end of MEC, and hence release the edge server in cybersecurity attacks fighting. The gait parameters include stride cycle time length and moving speed, and hence providing an objective basis for the doctors' judgment. <span>PD-Gait</span> utilizes acoustic signals in bands from 16 to 23 kHz to achieve device-free sensing, which would release both doctors and patients from the tedious wearing process and psychological burden caused by traditional wearable devices. To achieve robust measurement, we propose a novel acoustic ranging method to avoid “broken tones” and “uneven peak distribution” in the received data. The corresponding ranging accuracy is 0.1 m. We also propose auto-focus micro-Doppler features to extract robust stride cycle time length, and can achieve an accuracy of 0.052 s. We deployed <span>PD-Gait</span> in a brain hospital and collected data from 8 patients. The total walked distance is over 330 m. From the overall trend, our results are highly correlated with the doctor's judgment.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":"34 2","pages":""},"PeriodicalIF":0.0,"publicationDate":"2023-11-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138513631","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
The effect of distance metrics in a general purpose synthesizer of imperative programs: A second empirical study using enlarged search spaces 距离度量在命令式程序的通用合成器中的作用:使用扩大搜索空间的第二次实证研究
Software: Practice and Experience Pub Date : 2023-11-15 DOI: 10.1002/spe.3286
Alexandre R. S. Correia, Juliano M. Iyoda, Alexandre C. Mota
{"title":"The effect of distance metrics in a general purpose synthesizer of imperative programs: A second empirical study using enlarged search spaces","authors":"Alexandre R. S. Correia, Juliano M. Iyoda, Alexandre C. Mota","doi":"10.1002/spe.3286","DOIUrl":"https://doi.org/10.1002/spe.3286","url":null,"abstract":"Program synthesis is the task of automatically finding a program that satisfies the user intention. In previous work, we developed APS-GA, a program synthesizer based on a genetic algorithm. As genetic algorithms depend on a fitness function, so does APS-GA. Researchers argue that different distance metrics for a fitness function may reveal behavioral differences in the genetic algorithm. More recently, we presented initial evidence that APS-GA was not affected by different distance metrics for its fitness function. However, that study was carried out on a medium-sized scale.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":"21 4","pages":""},"PeriodicalIF":0.0,"publicationDate":"2023-11-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"138513614","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Usefulness of open domain model for identifying missing software requirements concepts 开放领域模型用于识别缺失的软件需求概念的有效性
Software: Practice and Experience Pub Date : 2023-11-05 DOI: 10.1002/spe.3285
Ziyan Zhao, Li Zhang, Xiaoli Lian
{"title":"Usefulness of open domain model for identifying missing software requirements concepts","authors":"Ziyan Zhao, Li Zhang, Xiaoli Lian","doi":"10.1002/spe.3285","DOIUrl":"https://doi.org/10.1002/spe.3285","url":null,"abstract":"Summary Detecting missing requirements during software development is crucial to avoid unexpected consequences. However, this task is challenging due to limited domain knowledge of requirements analysts and the dynamic nature of software requirements. Previous studies have shown that requirement‐oriented domain models can help identify omissions in requirements, but they are often incomplete for many domains. Meanwhile, domain models constructed from other artifacts are available online. This raises the question: Can these domain models be useful in identifying missing functional information in requirement specifications? To address this question, we conducted a study to measure the overlap between entities in domain models and requirements. We analyzed the occurrence of overlapped entities, considering four distribution characteristics: the type of entities in the domain model, the distribution of mapped entities in the domain model, the family belonging of the mapped entities in the domain model, and the distribution of mapped entities in the requirements. Based on our findings, we proposed recommendations for missing requirements. Additionally, we performed experiments, including the use of the proposed metric “ancestors of the highest level with the most mapped entities” (AHME). The results showed significant improvements with gains of 146% and 223% in the two domains, highlighting the benefits of these distribution characteristics.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":"52 3","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-11-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135725558","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
DRS: A deep reinforcement learning enhanced Kubernetes scheduler for microservice‐based system DRS:一个深度强化学习增强的Kubernetes调度器,用于基于微服务的系统
Software: Practice and Experience Pub Date : 2023-10-25 DOI: 10.1002/spe.3284
Zhaolong Jian, Xueshuo Xie, Yaozheng Fang, Yibing Jiang, Ye Lu, Ankan Dash, Tao Li, Guiling Wang
{"title":"DRS: A deep reinforcement learning enhanced Kubernetes scheduler for microservice‐based system","authors":"Zhaolong Jian, Xueshuo Xie, Yaozheng Fang, Yibing Jiang, Ye Lu, Ankan Dash, Tao Li, Guiling Wang","doi":"10.1002/spe.3284","DOIUrl":"https://doi.org/10.1002/spe.3284","url":null,"abstract":"Summary Recently, Kubernetes is widely used to manage and schedule the resources of microservices in cloud‐native distributed applications, as the most famous container orchestration framework. However, Kubernetes preferentially schedules microservices to nodes with rich and balanced CPU and memory resources on a single node. The native scheduler of Kubernetes, called Kube‐scheduler, may cause resource fragmentation and decrease resource utilization. In this paper, we propose a deep reinforcement learning enhanced Kubernetes scheduler named DRS. We initially frame the Kubernetes scheduling problem as a Markov decision process with intricately designed state , action , and reward structures in an effort to increase resource usage and decrease load imbalance. Then, we design and implement DRS mointor to perceive six parameters concerning resource utilization and create a thorough picture of all available resources globally. Finally, DRS can automatically learn the scheduling policy through interaction with the Kubernetes cluster, without relying on expert knowledge about workload and cluster status. We implement a prototype of DRS in a Kubernetes cluster with five nodes and evaluate its performance. Experimental results highlight that DRS overcomes the shortcomings of Kube‐scheduler and achieves the expected scheduling target with three workloads. With only 3.27% CPU overhead and 0.648% communication delay, DRS outperforms Kube‐scheduler by 27.29% in terms of resource utilization and reduces load imbalance by 2.90 times on average.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":"5 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-10-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135113393","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Managing asynchronous workloads in a multi‐tenant microservice enterprise environment 在多租户微服务企业环境中管理异步工作负载
Software: Practice and Experience Pub Date : 2023-10-20 DOI: 10.1002/spe.3278
Cesar Batista, Felipe Morais, Everton Cavalcante, Thais Batista, Bruno Proença, William Breno Rodrigues Cavalcante
{"title":"Managing asynchronous workloads in a multi‐tenant microservice enterprise environment","authors":"Cesar Batista, Felipe Morais, Everton Cavalcante, Thais Batista, Bruno Proença, William Breno Rodrigues Cavalcante","doi":"10.1002/spe.3278","DOIUrl":"https://doi.org/10.1002/spe.3278","url":null,"abstract":"Abstract A multi‐tenant microservice architecture involving components with asynchronous interactions and batch jobs requires efficient strategies for managing asynchronous workloads. This article addresses this issue in the context of a leading company developing tax software solutions for many national and multi‐national corporations in Brazil. A critical process provided by the company's cloud‐based solutions encompasses tax integration, which includes coordinating complex tax calculation tasks and needs to be supported by asynchronous operations using a message broker to guarantee order correctness. We explored and implemented two approaches for managing asynchronous workloads related to tax integration within a multi‐tenant microservice architecture in the company's context: (i) a polling‐based approach that employs a queue as a distributed lock (DL) and (ii) a push‐based approach named single active consumer (SAC) that relies on the message broker's logic to deliver messages. These approaches aim to achieve efficient resource allocation when dealing with a growing number of container replicas and tenants. In this article, we evaluate the correctness and performance of the DL and SAC approaches to shed light on how asynchronous workloads impact the management of multi‐tenant microservice architectures from delivery and deployment perspectives.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135616750","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 1
Code smells in pull requests: An exploratory study pull请求中的代码气味:一项探索性研究
Software: Practice and Experience Pub Date : 2023-10-20 DOI: 10.1002/spe.3283
Muhammad Ilyas Azeem, Saad Shafiq, Atif Mashkoor, Alexander Egyed
{"title":"Code smells in pull requests: An exploratory study","authors":"Muhammad Ilyas Azeem, Saad Shafiq, Atif Mashkoor, Alexander Egyed","doi":"10.1002/spe.3283","DOIUrl":"https://doi.org/10.1002/spe.3283","url":null,"abstract":"The quality of a pull request is the primary factor integrators consider for its acceptance or rejection. Code smells indicate sub‐optimal design or implementation choices in the source code that often lead to a fault‐prone outcome, threatening the quality of pull requests. This study explores code smells in 21k pull requests from 25 popular Java projects. We find that both accepted (37%) and rejected (44%) pull requests have code smells, affected mainly by god classes and long methods. Besides, we observe that smelly pull requests are more complex and challenging to understand as they have significantly large sizes, long latency times, more discussion and review comments, and are submitted by contributors with less experience. Our results show that features used in previous studies for pull request acceptance prediction could be potentially employed to predict smell in incoming pull requests. We propose a dynamic approach to predict the presence of such code smells in the newly added pull requests. We evaluate our approach on a dataset of 25 Java projects extracted from GitHub. We further conduct a benchmark study to compare the performance of eight machine learning classifiers. Results of the benchmark study show that XGBoost is the best‐performing classifier for smell prediction.","PeriodicalId":21899,"journal":{"name":"Software: Practice and Experience","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2023-10-20","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"135570146","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
相关产品
×
本文献相关产品
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信