Liping Zhao, Waad Alhoshan, Alessio Ferrari, Keletso J. Letsholo, Muideen A. Ajagbe, Erol-Valeriu Chioasca, R. Batista-Navarro
Natural language processing supported requirements engineering is an area of research and development that seeks to apply NLP techniques, tools and resources to a variety of requirements documents or artifacts to support a range of linguistic analysis tasks performed at various RE phases. Such tasks include detecting language issues, identifying key domain concepts and establishing traceability links between requirements. This article surveys the landscape of NLP4RE research to understand the state of the art and identify open problems. The systematic mapping study approach is used to conduct this survey, which identified 404 relevant primary studies and reviewed them according to five research questions, cutting across five aspects of NLP4RE research, concerning the state of the literature, the state of empirical research, the research focus, the state of the practice, and the NLP technologies used. Results: 1) NLP4RE is an active and thriving research area in RE that has amassed a large number of publications and attracted widespread attention from diverse communities; 2) most NLP4RE studies are solution proposals having only been evaluated using a laboratory experiment or an example application; 3) most studies have focused on the analysis phase, with detection as their central linguistic analysis task and requirements specification as their commonly processed document type; 4) 130 new tools have been proposed to support a range of linguistic analysis tasks, but there is little evidence of adoption in the long term, although some industrial applications have been published; 5) 140 NLP techniques, 66 NLP tools and 25 NLP resources are extracted from the selected studies.
{"title":"Natural Language Processing (NLP) for Requirements Engineering: A Systematic Mapping Study Dataset","authors":"Liping Zhao, Waad Alhoshan, Alessio Ferrari, Keletso J. Letsholo, Muideen A. Ajagbe, Erol-Valeriu Chioasca, R. Batista-Navarro","doi":"10.17632/ZS9VKK7SB7.1","DOIUrl":"https://doi.org/10.17632/ZS9VKK7SB7.1","url":null,"abstract":"Natural language processing supported requirements engineering is an area of research and development that seeks to apply NLP techniques, tools and resources to a variety of requirements documents or artifacts to support a range of linguistic analysis tasks performed at various RE phases. Such tasks include detecting language issues, identifying key domain concepts and establishing traceability links between requirements. This article surveys the landscape of NLP4RE research to understand the state of the art and identify open problems. The systematic mapping study approach is used to conduct this survey, which identified 404 relevant primary studies and reviewed them according to five research questions, cutting across five aspects of NLP4RE research, concerning the state of the literature, the state of empirical research, the research focus, the state of the practice, and the NLP technologies used. Results: 1) NLP4RE is an active and thriving research area in RE that has amassed a large number of publications and attracted widespread attention from diverse communities; 2) most NLP4RE studies are solution proposals having only been evaluated using a laboratory experiment or an example application; 3) most studies have focused on the analysis phase, with detection as their central linguistic analysis task and requirements specification as their commonly processed document type; 4) 130 new tools have been proposed to support a range of linguistic analysis tasks, but there is little evidence of adoption in the long term, although some industrial applications have been published; 5) 140 NLP techniques, 66 NLP tools and 25 NLP resources are extracted from the selected studies.","PeriodicalId":381434,"journal":{"name":"arXiv: Software Engineering","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2020-07-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116367885","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}
Pub Date : 2019-04-30DOI: 10.20944/PREPRINTS201904.0326.V1
Gerardo L. Febres
This work presents some characteristics of MoNet, a computerized platform for the modeling and visualization of complex systems. Emphasis is on the ideas that allowed the successful progressive development of this modeling platform, which goes along with the implementation of applications to the modeling of several studied systems. The platform has the capacity to represent different aspects of systems modeled at different observation scales. This tool offers advantages in the sense of favoring the perception of the phenomenon of the emergence of information, associated with changes of scale. Some criteria used for the construction of this modeling platform are included. The power of current computers has made practical representing graphic resources such as shapes, line thickness, overlaying-text tags, colors and transparencies, in the graphical modeling of systems made up of many elements. By visualizing diagrams conveniently designed to highlight contrasts, these modeling platforms allow the recognition of patterns that drive our understanding of systems and their structure. Graphs that reflect the benefits of the tool regarding the visualization of systems at different scales of observation are presented to illustrate the application of the platform.
{"title":"Basis to Develop a Platform for Multiple-Scale Complex Systems Modeling and Visualization: MoNet","authors":"Gerardo L. Febres","doi":"10.20944/PREPRINTS201904.0326.V1","DOIUrl":"https://doi.org/10.20944/PREPRINTS201904.0326.V1","url":null,"abstract":"This work presents some characteristics of MoNet, a computerized platform for the modeling and visualization of complex systems. Emphasis is on the ideas that allowed the successful progressive development of this modeling platform, which goes along with the implementation of applications to the modeling of several studied systems. The platform has the capacity to represent different aspects of systems modeled at different observation scales. This tool offers advantages in the sense of favoring the perception of the phenomenon of the emergence of information, associated with changes of scale. Some criteria used for the construction of this modeling platform are included. The power of current computers has made practical representing graphic resources such as shapes, line thickness, overlaying-text tags, colors and transparencies, in the graphical modeling of systems made up of many elements. By visualizing diagrams conveniently designed to highlight contrasts, these modeling platforms allow the recognition of patterns that drive our understanding of systems and their structure. Graphs that reflect the benefits of the tool regarding the visualization of systems at different scales of observation are presented to illustrate the application of the platform.","PeriodicalId":381434,"journal":{"name":"arXiv: Software Engineering","volume":"8 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-04-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127759508","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}
Pub Date : 2017-02-23DOI: 10.18255/1818-1015-2017-6-704-717
D. Carvalho, M. Mazzara, Bogdan Mingela, Larisa Safina, Alexander Tchitchigin, Nikolay Troshkov
Static verification of a program source code correctness is an important element of software reliability. Formal verification of software programs involves proving that a program satisfies a formal specification of its behavior. Many languages use both static and dynamic type checking. With such approach, the static type checker verifies everything possible at compile time, and dynamic checks the remaining. The current state of the Jolie programming language includes a dynamic type system. Consequently, it allows avoidable run-time errors. A static type system for the language has been formally defined on paper but lacks an implementation yet. In this paper, we describe a prototype of Jolie Static Type Checker (JSTC), which employs a technique based on a SMT solver. We describe the theory behind and the implementation, and the process of static analysis.
{"title":"Jolie Static Type Checker: a prototype","authors":"D. Carvalho, M. Mazzara, Bogdan Mingela, Larisa Safina, Alexander Tchitchigin, Nikolay Troshkov","doi":"10.18255/1818-1015-2017-6-704-717","DOIUrl":"https://doi.org/10.18255/1818-1015-2017-6-704-717","url":null,"abstract":"Static verification of a program source code correctness is an important element of software reliability. Formal verification of software programs involves proving that a program satisfies a formal specification of its behavior. Many languages use both static and dynamic type checking. With such approach, the static type checker verifies everything possible at compile time, and dynamic checks the remaining. The current state of the Jolie programming language includes a dynamic type system. Consequently, it allows avoidable run-time errors. A static type system for the language has been formally defined on paper but lacks an implementation yet. In this paper, we describe a prototype of Jolie Static Type Checker (JSTC), which employs a technique based on a SMT solver. We describe the theory behind and the implementation, and the process of static analysis.","PeriodicalId":381434,"journal":{"name":"arXiv: Software Engineering","volume":"38 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-02-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124151602","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}
The reproduction and replication of research results has become a major issue for a number of scientific disciplines. In computer science and related computational disciplines such as systems biology, the challenges closely revolve around the ability to implement (and exploit) novel algorithms and models. Taking a new approach from the literature and applying it to a new codebase frequently requires local knowledge missing from the published manuscripts and transient project websites. Alongside this issue, benchmarking, and the lack of open, transparent and fair benchmark sets present another barrier to the verification and validation of claimed results. In this paper, we outline several recommendations to address these issues, driven by specific examples from a range of scientific domains. Based on these recommendations, we propose a high-level prototype open automated platform for scientific software development which effectively abstracts specific dependencies from the individual researcher and their workstation, allowing easy sharing and reproduction of results. This new e-infrastructure for reproducible computational science offers the potential to incentivise a culture change and drive the adoption of new techniques to improve the quality and efficiency -- and thus reproducibility -- of scientific exploration.
{"title":"Reproducibility in Research: Systems, Infrastructure, Culture","authors":"Tom Crick, B. Hall, Samin S. Ishtiaq","doi":"10.5334/JORS.73","DOIUrl":"https://doi.org/10.5334/JORS.73","url":null,"abstract":"The reproduction and replication of research results has become a major issue for a number of scientific disciplines. In computer science and related computational disciplines such as systems biology, the challenges closely revolve around the ability to implement (and exploit) novel algorithms and models. Taking a new approach from the literature and applying it to a new codebase frequently requires local knowledge missing from the published manuscripts and transient project websites. Alongside this issue, benchmarking, and the lack of open, transparent and fair benchmark sets present another barrier to the verification and validation of claimed results. \u0000In this paper, we outline several recommendations to address these issues, driven by specific examples from a range of scientific domains. Based on these recommendations, we propose a high-level prototype open automated platform for scientific software development which effectively abstracts specific dependencies from the individual researcher and their workstation, allowing easy sharing and reproduction of results. This new e-infrastructure for reproducible computational science offers the potential to incentivise a culture change and drive the adoption of new techniques to improve the quality and efficiency -- and thus reproducibility -- of scientific exploration.","PeriodicalId":381434,"journal":{"name":"arXiv: Software Engineering","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-03-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115326540","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}
This volume contains the proceedings of F-IDE 2014, the first international workshop on Formal Integrated Development Environment, which was held as an ETAPS 2014 satellite event, on April 6, 2014, in Grenoble (France). High levels of safety, security and also privacy standards require the use of formal methods to specify and develop compliant software (sub)systems. Any standard comes with an assessment process, which requires a complete documentation of the application in order to ease the justification of design choices and the review of code and proofs. Thus tools are needed for handling specifications, program constructs and verification artifacts. The aim of the F-IDE workshop is to provide a forum for presenting and discussing research efforts as well as experience returns on design, development and usage of formal IDE aiming at making formal methods "easier" for both specialists and non-specialists.
{"title":"Proceedings 1st Workshop on Formal Integrated Development Environment","authors":"Catherine Dubois, D. Giannakopoulou, D. Méry","doi":"10.4204/EPTCS.149","DOIUrl":"https://doi.org/10.4204/EPTCS.149","url":null,"abstract":"This volume contains the proceedings of F-IDE 2014, the first international workshop on Formal Integrated Development Environment, which was held as an ETAPS 2014 satellite event, on April 6, 2014, in Grenoble (France). High levels of safety, security and also privacy standards require the use of formal methods to specify and develop compliant software (sub)systems. Any standard comes with an assessment process, which requires a complete documentation of the application in order to ease the justification of design choices and the review of code and proofs. Thus tools are needed for handling specifications, program constructs and verification artifacts. The aim of the F-IDE workshop is to provide a forum for presenting and discussing research efforts as well as experience returns on design, development and usage of formal IDE aiming at making formal methods \"easier\" for both specialists and non-specialists.","PeriodicalId":381434,"journal":{"name":"arXiv: Software Engineering","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131341536","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}
The aim of the FESCA workshop is to bring together both young and senior researchers from formal methods, software engineering, and industry interested in the development and application of formal modelling approaches as well as associated analysis and reasoning techniques with practical benefits for component-based software engineering. Component-based software design has received considerable attention in industry and academia in the past decade. In recent years, with the emergence of new platforms (such as smartphones), new areas advocating software correctness along with new challenges have appeared. These include development of new methods and adapting existing ones to accommodate unique features of the platforms, such as inherent distribution, openness, and continuous migration. On the other hand, with the growing power of computers, more and more is possible with respect to practical applicability of modelling and specification methods as well as verification tools to real-life software, i.e, to scale to more complex systems. FESCA aims to address the open question of how formal methods can be applied effectively to these new contexts and challenges. The workshop is interested in both the development and application of formal methods in component-based development and tries to cross-fertilize their research and application.
{"title":"Proceedings 11th International Workshop on Formal Engineering approaches to Software Components and Architectures","authors":"Bara Buhnova, Lucia Happe, Jan Kofrovn","doi":"10.4204/EPTCS.147","DOIUrl":"https://doi.org/10.4204/EPTCS.147","url":null,"abstract":"The aim of the FESCA workshop is to bring together both young and senior researchers from formal methods, software engineering, and industry interested in the development and application of formal modelling approaches as well as associated analysis and reasoning techniques with practical benefits for component-based software engineering. \u0000Component-based software design has received considerable attention in industry and academia in the past decade. In recent years, with the emergence of new platforms (such as smartphones), new areas advocating software correctness along with new challenges have appeared. These include development of new methods and adapting existing ones to accommodate unique features of the platforms, such as inherent distribution, openness, and continuous migration. On the other hand, with the growing power of computers, more and more is possible with respect to practical applicability of modelling and specification methods as well as verification tools to real-life software, i.e, to scale to more complex systems. \u0000FESCA aims to address the open question of how formal methods can be applied effectively to these new contexts and challenges. The workshop is interested in both the development and application of formal methods in component-based development and tries to cross-fertilize their research and application.","PeriodicalId":381434,"journal":{"name":"arXiv: Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130316047","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}
Formal methods and testing are two important approaches that assist in the development of high quality software. For long time these approaches have been seen as competitors and there was very little interaction between the two communities. In recent years a new consensus has developed in which they are seen as more complementary. In this report we present an approach based on the ASD(Analytical Software Design) suite by Verum and the Microsoft Spec Explorer Model Based Testing(MBT) tool. ASD is a model-based design approach that can produce verified software components that can be combined into complete systems. However, ASD cannot verify existing components, nor complex component interactions involving data transfers. We have developed a tool that allows us to convert ASD models to Spec Explorer, allowing us to do more complete verification of software systems using dynamic testing at little additional cost and effort. We demonstrate this by applying our approach to an industrial-size case study. Keywords: Model Based Testing, Formal Verification, Dynamic Testing, Static Verification, EMF, ASD, Spec Explorer
形式化方法和测试是帮助开发高质量软件的两种重要方法。很长一段时间以来,这两种方法都被视为竞争对手,两者之间很少有互动。近年来形成了一种新的协商一致意见,认为它们更具有互补性。在本报告中,我们提出了一种基于Verum的ASD(分析软件设计)套件和Microsoft Spec Explorer基于模型的测试(MBT)工具的方法。ASD是一种基于模型的设计方法,可以产生经过验证的软件组件,这些组件可以组合成完整的系统。然而,ASD不能验证现有的组件,也不能验证涉及数据传输的复杂组件交互。我们已经开发了一个工具,它允许我们将ASD模型转换为Spec Explorer,允许我们在很少的额外成本和努力下使用动态测试对软件系统进行更完整的验证。我们通过将我们的方法应用于一个工业规模的案例研究来证明这一点。关键词:基于模型的测试,形式验证,动态测试,静态验证,EMF, ASD, Spec Explorer
{"title":"Using formal specifications to support model based testing ASDSpec : a tool combining the best of two techniques","authors":"van der Ap Arjan Meer, R. Kherrazi, M. Hamilton","doi":"10.4204/EPTCS.141.1","DOIUrl":"https://doi.org/10.4204/EPTCS.141.1","url":null,"abstract":"Formal methods and testing are two important approaches that assist in the development of high quality software. For long time these approaches have been seen as competitors and there was very little interaction between the two communities. In recent years a new consensus has developed in which they are seen as more complementary. In this report we present an approach based on the ASD(Analytical Software Design) suite by Verum and the Microsoft Spec Explorer Model Based Testing(MBT) tool. ASD is a model-based design approach that can produce verified software components that can be combined into complete systems. However, ASD cannot verify existing components, nor complex component interactions involving data transfers. We have developed a tool that allows us to convert ASD models to Spec Explorer, allowing us to do more complete verification of software systems using dynamic testing at little additional cost and effort. We demonstrate this by applying our approach to an industrial-size case study. Keywords: Model Based Testing, Formal Verification, Dynamic Testing, Static Verification, EMF, ASD, Spec Explorer","PeriodicalId":381434,"journal":{"name":"arXiv: Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-03-27","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130031729","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}
Formal approaches to software development are techniques that aim at developing quality software by employing notations, analysis processes, etc., based on mathematical grounds. Although traditionally they aim at increasing software correctness, formal techniques have been applied to various other aspects of software quality. Moreover, while originally formal methods employed complex "heavyweight" mechanisms for analysis (often manual or semi automated), there has been progress towards embracing "lightweight", many times fully automated, analysis techniques, that broaden the adoption of formal methods in various software engineering contexts. The Latin American Workshop on Formal Methods brings together researchers working in formal methods, and related areas such as automated analysis. In particular, the workshop provides a venue for Latin American researchers working in these areas, to promote their interaction and collaboration. The workshop was held in August as a satellite event of CONCUR 2013. It took place in Buenos Aires, Argentina's capital and largest city, and one of the most interesting cultural places in South America.
{"title":"Proceedings First Latin American Workshop on Formal Methods","authors":"Nazareno Aguirre, L. Ribeiro","doi":"10.4204/EPTCS.139","DOIUrl":"https://doi.org/10.4204/EPTCS.139","url":null,"abstract":"Formal approaches to software development are techniques that aim at developing quality software by employing notations, analysis processes, etc., based on mathematical grounds. Although traditionally they aim at increasing software correctness, formal techniques have been applied to various other aspects of software quality. Moreover, while originally formal methods employed complex \"heavyweight\" mechanisms for analysis (often manual or semi automated), there has been progress towards embracing \"lightweight\", many times fully automated, analysis techniques, that broaden the adoption of formal methods in various software engineering contexts. \u0000The Latin American Workshop on Formal Methods brings together researchers working in formal methods, and related areas such as automated analysis. In particular, the workshop provides a venue for Latin American researchers working in these areas, to promote their interaction and collaboration. \u0000The workshop was held in August as a satellite event of CONCUR 2013. It took place in Buenos Aires, Argentina's capital and largest city, and one of the most interesting cultural places in South America.","PeriodicalId":381434,"journal":{"name":"arXiv: Software Engineering","volume":"7 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-01-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133135623","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}
This volume contains the proceedings of the first workshop on Advances in Systems of Systems (AISOS'13), held in Roma, Italy, March 16. System-of-Systems describes the large scale integration of many independent self-contained systems to satisfy global needs or multi-system requests. Examples are smart grid, intelligent buildings, smart cities, transport systems, etc. There is a need for new modeling formalisms, analysis methods and tools to help make trade-off decisions during design and evolution avoiding leading to sub-optimal design and rework during integration and in service. The workshop should focus on the modeling and analysis of System of Systems. AISOS'13 aims to gather people from different communities in order to encourage exchange of methods and views.
{"title":"Proceedings 1st Workshop on Advances in Systems of Systems","authors":"K. Larsen, Axel Legay, Ulrik Nyman","doi":"10.4204/EPTCS.133","DOIUrl":"https://doi.org/10.4204/EPTCS.133","url":null,"abstract":"This volume contains the proceedings of the first workshop on Advances in Systems of Systems (AISOS'13), held in Roma, Italy, March 16. System-of-Systems describes the large scale integration of many independent self-contained systems to satisfy global needs or multi-system requests. Examples are smart grid, intelligent buildings, smart cities, transport systems, etc. There is a need for new modeling formalisms, analysis methods and tools to help make trade-off decisions during design and evolution avoiding leading to sub-optimal design and rework during integration and in service. The workshop should focus on the modeling and analysis of System of Systems. AISOS'13 aims to gather people from different communities in order to encourage exchange of methods and views.","PeriodicalId":381434,"journal":{"name":"arXiv: Software Engineering","volume":"103 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-11-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132023298","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}
Pub Date : 2013-09-07DOI: 10.6084/M9.FIGSHARE.791560.V1
Huang Daisie, Lapp Hilmar
The vast majority of the long tail of scientific software, the myriads of tools that implement the many analysis and visualization methods for different scientific fields, is highly specialized, purpose-built for a research project, and has to rely on community uptake and reuse for its continued development and maintenance. Although uptake cannot be controlled over even guaranteed, some of the key factors that influence whether new users or developers decide to adopt an existing tool or start a new one are about how easy or difficult it is to use or enhance a tool for a purpose for which it was not originally designed. The science of software engineering has produced techniques and practices that would reduce or remove a variety of barriers to community uptake of software, but for a variety of reasons employing trained software engineers as part of the development of long tail scientific software has proven to be challenging. As a consequence, community uptake of long tail tools is often far more difficult than it would need to be, even though opportunities for reuse abound. We discuss likely reasons why employing software engineering in the long tail is challenging, and propose that many of those obstacles could be addressed in the form of a cross-cutting non-profit center of excellence that makes software engineering broadly accessible as a shared service, conceptually and in its effect similar to shared instrumentation.
{"title":"Software Engineering as Instrumentation for the Long Tail of Scientific Software","authors":"Huang Daisie, Lapp Hilmar","doi":"10.6084/M9.FIGSHARE.791560.V1","DOIUrl":"https://doi.org/10.6084/M9.FIGSHARE.791560.V1","url":null,"abstract":"The vast majority of the long tail of scientific software, the myriads of tools that implement the many analysis and visualization methods for different scientific fields, is highly specialized, purpose-built for a research project, and has to rely on community uptake and reuse for its continued development and maintenance. Although uptake cannot be controlled over even guaranteed, some of the key factors that influence whether new users or developers decide to adopt an existing tool or start a new one are about how easy or difficult it is to use or enhance a tool for a purpose for which it was not originally designed. The science of software engineering has produced techniques and practices that would reduce or remove a variety of barriers to community uptake of software, but for a variety of reasons employing trained software engineers as part of the development of long tail scientific software has proven to be challenging. As a consequence, community uptake of long tail tools is often far more difficult than it would need to be, even though opportunities for reuse abound. We discuss likely reasons why employing software engineering in the long tail is challenging, and propose that many of those obstacles could be addressed in the form of a cross-cutting non-profit center of excellence that makes software engineering broadly accessible as a shared service, conceptually and in its effect similar to shared instrumentation.","PeriodicalId":381434,"journal":{"name":"arXiv: Software Engineering","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-09-07","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115079026","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}