11 |
A CASE STUDY IN ASSURANCE CASE DEVELOPMENT FOR SCIENTIFIC SOFTWARSayari Nejad, Mojdeh January 2017 (has links)
Assurance Cases have been effectively used for improving the safety of real-time safety systems. However, until now, Assurance Case techniques have not been applied to building confidence in the correctness of Scientific Computing (SC) software.
Our approach is to employ Assurance Case techniques to the case of a specific medical image analysis software, 3dfim+, and then generalize the results/template for other medical and SC software. Using the Goal Structuring Notation (GSN), we develop an Assurance Case to support the top goal that "Program 3dfim+ delivers correct outputs when used for its intended use/purpose in its intended environment." This claim is supported by several sub-claims, including the claims that high-quality requirements exist and that the implementation complies with the requirements. The full argument decomposes each sub-claim further until at the bottom level evidence is provided. The evidence provided includes the requirements documentation, test cases and expert review. To simplify the Assurance Case diagram, a new generic module, parameterized over quality, was developed to argue that each quality has been achieved. Evaluation of the full Assurance Case shows that this approach is feasible for building confidence in SC software, even in the practical situation where confidence is sought, but redesign and reimplementation are not possible. The exercise uncovered issues with the original documentation for 3dfim+, including missing assumptions, and ambiguity with the chosen sign convention. Furthermore, although no errors in output were found, the Assurance Case highlights that confidence in the original 3dfim+ software could be improved through additional checks for input validity. / Thesis / Master of Science (MSc)
|
12 |
Measuring What Matters : Software Engineering and its Role in Scientific Software SuccessHansson, Tobias, Thand, Samuel January 2024 (has links)
Scientific software is vital for research across domains and can be reused when it is open-source. To promote this reuse, it is generally beneficial to adopt software engineering best practices to improve accessibility and popularity. However, given the distinct properties of scientific software, there is no consensus on how these practices are being or should be used in scientific software. Since previous evidence on this topic is primarily anecdotal or qualitative, this study used repository mining to quantitatively examine best practices and their relationship with popularity in 90 software engineering artifacts, which are examples of scientific software. The data varied significantly but showed that the studied artifacts generally did not prioritize software engineering best practices, and no significant relationships were found between these aspects and popularity. The results may suggest that scientific software developers prioritize scientific quality over software quality and that traditional software quality measures may not be suitable quality benchmarks in scientific software. However, accessibility issues were identified, highlighting potential societal concerns. Based on these findings, we offer practical advice for quality improvements from a software engineering perspective. Further research is needed to obtain more conclusive and general results.
|
13 |
Using Code Mutation to Study Code Faults in Scientific SoftwareHook, Daniel 22 April 2009 (has links)
Code faults can seriously degrade scientific software accuracy. Therefore, it is imperative that scientific software developers scrutinize their codes in an attempt to find these faults. This thesis explores, particularly, the efficacy of code testing as a method of scientific software code fault detection.
Software engineers, as experts in code quality, have developed many code testing techniques, but many of these techniques cannot readily be applied to scientific codes for at least two reasons. First, scientific software testers do not usually have access to an ideal oracle. Second, scientific software outputs, by nature, can only be judged for accuracy and not correctness. Testing techniques developed under the assumption that these two problems can be ignored--as most have been--are of questionable value to computational scientists.
To demonstrate the reality of these problems and to provide an example of how software engineers and scientists can begin to address them, this thesis discusses the development and application of a novel technique: Mutation Sensitivity Testing (MST). MST is based on traditional mutation testing, but--in place of a focus on mutant "killing"--MST focuses on assessing the mutation sensitivity of a test set. In this thesis, MST experiments are conducted using eight small numerical routines, four classes of mutation operators, and 1155 tests. The results are discussed and some conclusions are drawn. Two observations are of particular interest to computational scientists. First, it is found that oracles that exhibit uncertainties greater than (approximately) 80% of the expected output are of questionable value when they are used in the testing of scientific software. Second, it is found that a small number
of carefully selected tests may be sufficient to falsify a code. / Thesis (Master, Computing) -- Queen's University, 2009-04-19 13:34:08.943
|
14 |
Construção de serviços de colaboração em um ecossistema de software científicoMartins, Guilherme Gomes 13 September 2016 (has links)
Submitted by isabela.moljf@hotmail.com (isabela.moljf@hotmail.com) on 2017-02-13T11:42:31Z
No. of bitstreams: 1
guilhermegomesmartins.pdf: 2653766 bytes, checksum: c58fd5a1c1871badea4b7305135c8684 (MD5) / Approved for entry into archive by Adriana Oliveira (adriana.oliveira@ufjf.edu.br) on 2017-02-13T16:46:34Z (GMT) No. of bitstreams: 1
guilhermegomesmartins.pdf: 2653766 bytes, checksum: c58fd5a1c1871badea4b7305135c8684 (MD5) / Made available in DSpace on 2017-02-13T16:46:34Z (GMT). No. of bitstreams: 1
guilhermegomesmartins.pdf: 2653766 bytes, checksum: c58fd5a1c1871badea4b7305135c8684 (MD5)
Previous issue date: 2016-09-13 / CAPES - Coordenação de Aperfeiçoamento de Pessoal de Nível Superior / [Contexto] Experimentos científicos complexos envolvem a utilização de dados e recursos distribuídos que necessitam da colaboração de diversos pesquisadores. Por envolver pesquisadores geograficamente distribuídos, o desenvolvimento de um experimento pode ser caracterizado através de um ecossistema de experimentação científica, onde grupos de pesquisa distribuídos interagem trocando informações para realizar um experimento. Neste contexto, a plataforma E-SECO implementa uma abordagem de ecossistema de software científico com o objetivo de apoiar a experimentação entre grupos de pesquisadores distribuídos. Entretanto, não basta oferecer apenas recursos de colaboração para diferentes grupos de pesquisa. Para que os grupos possam de fato colaborar entre si, é necessário apoiar as suas atividades considerando o contexto de cada um deles, bem como as suas necessidades. [Objetivo] Diante disso, o objetivo deste trabalho é tratar a falta de um processo para apoiar o desenvolvimento de serviços de colaboração de modo a considerar informações do contexto de cada um dos grupos. Em específico, grupos que utilizam uma plataforma de ecossistema de software científico. [Método] Para isso, este trabalho apresenta duas estratégias: (i) um processo para o desenvolvimento de serviços de colaboração que considera a abordagem de Linha de Produtos de Software e de uma Arquitetura Orientada a Serviço, e (ii) um mecanismo para apoiar o alinhamento entre os serviços de colaboração considerando-se a necessidade de eles interoperarem. [Resultados] A partir deste processo, é possível disponibilizar serviços de colaboração que atendam às necessidades específicas de cada grupo de pesquisa e, com o mecanismo de apoio ao alinhamento de seus conceitos, potencializar a interoperabilidade em ecossistemas de software. Podem-se citar como contribuições deste trabalho a apresentação de um processo para o desenvolvimento de serviços de colaboração, um mecanismo de apoio ao alinhamento entre serviços de colaboração, e a investigação de sua viabilidade. / [Context] Complex scientific experiments involve the use of distributed data and resources that require the collaboration of several researchers. Considering that they comprise geographically distributed researchers, the conduction of an experiment can be characterized by a scientific experimentation ecosystem in which distributed research groups interact by exchanging information to perform an experiment. In this context, the E-SECO platform implements a software scientific ecosystem approach in order to support the development of services that support the distributed experimentation among groups of researchers. However, it is not enough to only offer collaboration features to support the development of services by different groups. It is also necessary to support its activities considering the context of each of group and their needs, as well as the mechanisms that compose a software ecosystem. [Objective] Thus, the objective of this study is to address the lack of a process to support the development of such collaboration services to consider information on the context of each group. In particular, groups which utilize a scientific platform software ecosystem. [Method] Therefore, this work presents two strategies: (i) a process for the development of collaborative services that considers the Software Product Line and a Service Oriented Architecture, and (ii) a mechanism to support the alignment between collaboration services considering the need of them to interoperate. [Results] Experiments were performed in order to verify the feasibility of the solution. From the proposed process, it is possible to provide collaboration services that fulfill the requirements of each research group and, with the support mechanism for the alignment of its concepts, it is possible to enhance the interoperability of software ecosystems. As contributions it can be cited: present a process for the development of collaboration services, and offer a mechanism to support the alignment between collaboration services.
|
15 |
Gestão para o processo de desenvolvimento de software científico utilizando uma abordagem ágil e adaptativa na microempresa / Management for the scientific software development process, using a agile and adaptive approach in small businessBerni, Jean Carlo Albiero 22 March 2010 (has links)
The scientific software development has particularities that, frequently, differ from usual rules in commercial software production. The emerging requirements that appear while the development process is running, needs for often communication between stakeholders (researchers) and developers, and necessary ways to customize the process, make this kind of software building activity more iterative than conventional. Agile methodologies for software development arise as alternatives for prescriptive methods and, as analyzed in this research,
have the answer for how to build software in dynamics environments. In this work is proposed a management method for the scientific software development process. The agile
methodologies Scrum and Extreme Programming were tailored to reach the peculiarity of scientific process, and the method definition. The model was applied in real projects in a small business company for validation and, through a qualitative analysis, the improvement of the development process could be checked. / O desenvolvimento de software científico possui particularidades que, frequentemente, diferem das regras comumente utilizadas na produção de softwares comerciais. Novos requisitos que surgem no decorrer do desenvolvimento, necessidades de comunicação constante com os stakeholders (pesquisadores) e adaptação nos processos fazem da produção desse tipo software uma atividade mais interativa do que o convencional. Metodologias ágeis para desenvolvimento de software surgem como alternativas aos métodos planejados ou prescritivos e, como analisado, atendem às carências decorrentes da elaboração de softwares
em ambientes dinâmicos. Neste trabalho, é proposto um método de gestão para o processo de desenvolvimento de software científico. Na definição do método, combinaram-se as
metodologias ágeis Scrum e Extreme Programming levando-se em consideração as características do processo científico. O método foi aplicado em projetos reais de uma microempresa de base tecnológica para sua validação e, através de uma análise qualitativa, pode-se verificar a melhoria dos processos de desenvolvimento da empresa.
|
16 |
Diffusion de l’information dans les médias sociaux : modélisation et analyse / Information diffusion in social media : modeling and analysisGuille, Adrien 25 November 2014 (has links)
Les médias sociaux ont largement modifié la manière dont nous produisons, diffusons et consommons l'information et sont de fait devenus des vecteurs d'information importants. L’objectif de cette thèse est d’aider à la compréhension du phénomène de diffusion de l’information dans les médias sociaux, en fournissant des moyens d’analyse et de modélisation.Premièrement, nous proposons MABED, une méthode statistique pour détecter automatiquement les évènements importants qui suscitent l'intérêt des utilisateurs des médias sociaux à partir du flux de messages qu'ils publient, dont l'originalité est d'exploiter la fréquence des interactions sociales entre utilisateurs, en plus du contenu textuel des messages. Cette méthode diffère par ailleurs de celles existantes en ce qu'elle estime dynamiquement la durée de chaque évènement, plutôt que de supposer une durée commune et fixée à l'avance pour tous les évènements. Deuxièmement, nous proposons T-BASIC, un modèle probabiliste basé sur la structure de réseau sous-jacente aux médias sociaux pour prédire la diffusion de l'information, plus précisément l'évolution du volume d'utilisateurs relayant une information donnée au fil du temps. Contrairement aux modèles similaires également basés sur la structure du réseau, la probabilité qu'une information donnée se diffuse entre deux utilisateurs n'est pas constante mais dépendante du temps. Nous décrivons aussi une procédure pour l'inférence des paramètres latents du modèle, dont l'originalité est de formuler les paramètres comme des fonctions de caractéristiques observables des utilisateurs. Troisièmement, nous proposons SONDY, un logiciel libre et extensible implémentant des méthodes tirées de la littérature pour la fouille et l'analyse des données issues des médias sociaux. Le logiciel manipule deux types de données : les messages publiés par les utilisateurs, et la structure du réseau social interconnectant ces derniers. Contrairement aux logiciels académiques existants qui se concentrent soit sur l'analyse des messages, soit sur l'analyse du réseau, SONDY permet d'analyser ces deux types de données conjointement en permettant l'analyse de l'influence par rapport aux évènements détectés. Les expérimentations menées à l'aide de divers jeux de données collectés sur le média social Twitter démontrent la pertinence de nos propositions et mettent en lumière des propriétés qui nous aident à mieux comprendre les mécanismes régissant la diffusion de l'information. Premièrement, en comparant les performances de MABED avec celles de méthodes récentes tirées de la littérature, nous montrons que la prise en compte des interactions sociales entre utilisateurs conduit à une détection plus précise des évènements importants, avec une robustesse accrue en présence de contenu bruité. Nous montrons également que MABED facilite l'interprétation des évènements détectés en fournissant des descriptions claires et précises, tant sur le plan sémantique que temporel. Deuxièmement, nous montrons la validité de la procédure proposée pour estimer les probabilités de diffusion sur lesquelles repose le modèle T-BASIC, en illustrant le pouvoir prédictif des caractéristiques des utilisateurs sélectionnées et en comparant les performances de la méthode d'estimation proposée avec celles de méthodes tirées de la littérature. Nous montrons aussi l'intérêt d'avoir des probabilités non constantes, ce qui permet de prendre en compte dans T-BASIC la fluctuation du niveau de réceptivité des utilisateurs des médias sociaux au fil du temps. Enfin, nous montrons comment, et dans quelle mesure, les caractéristiques sociales, thématiques et temporelles des utilisateurs affectent la diffusion de l'information. Troisièmement, nous illustrons à l'aide de divers scénarios l'utilité du logiciel SONDY, autant pour des non-experts, grâce à son interface utilisateur avancée et des visualisations adaptées, que pour des chercheurs du domaine, grâce à son interface de programmation. / Social media have greatly modified the way we produce, diffuse and consume information, and have become powerful information vectors. The goal of this thesis is to help in the understanding of the information diffusion phenomenon in social media by providing means of modeling and analysis.First, we propose MABED (Mention-Anomaly-Based Event Detection), a statistical method for automatically detecting events that most interest social media users from the stream of messages they publish. In contrast with existing methods, it doesn't only focus on the textual content of messages but also leverages the frequency of social interactions that occur between users. MABED also differs from the literature in that it dynamically estimates the period of time during which each event is discussed rather than assuming a predefined fixed duration for all events. Secondly, we propose T-BASIC (Time-Based ASynchronous Independent Cascades), a probabilistic model based on the network structure underlying social media for predicting information diffusion, more specifically the evolution of the number of users that relay a given piece of information through time. In contrast with similar models that are also based on the network structure, the probability that a piece of information propagate from one user to another isn't fixed but depends on time. We also describe a procedure for inferring the latent parameters of that model, which we formulate as functions of observable characteristics of social media users. Thirdly, we propose SONDY (SOcial Network DYnamics), a free and extensible software that implements state-of-the-art methods for mining data generated by social media, i.e. the messages published by users and the structure of the social network that interconnects them. As opposed to existing academic tools that either focus on analyzing messages or analyzing the network, SONDY permits the joint analysis of these two types of data through the analysis of influence with respect to each detected event.The experiments, conducted on data collected on Twitter, demonstrate the relevance of our proposals and shed light on some properties that give us a better understanding of the mechanisms underlying information diffusion. First, we compare the performance of MABED against those of methods from the literature and find that taking into account the frequency of social interactions between users leads to more accurate event detection and improved robustness in presence of noisy content. We also show that MABED helps with the interpretation of detected events by providing clearer textual description and more precise temporal descriptions. Secondly, we demonstrate the relevancy of the procedure we propose for estimating the pairwise diffusion probabilities on which T-BASIC relies. For that, we illustrate the predictive power of users' characteristics, and compare the performance of the method we propose to estimate the diffusion probabilities against those of state-of-the-art methods. We show the importance of having non-constant diffusion probabilities, which allows incorporating the variation of users' level of receptivity through time into T-BASIC. We also study how -- and in which proportion -- the social, topical and temporal characteristics of users impact information diffusion. Thirdly, we illustrate with various scenarios the usefulness of SONDY, both for non-experts -- thanks to its advanced user interface and adapted visualizations -- and for researchers -- thanks to its application programming interface.
|
17 |
[en] SCIENCE AS A GAME: PLAYFUL APPROACHES TO SCIENTIFIC SOFTWARE INTERFACE DESIGN / [pt] A CIÊNCIA COMO JOGO: ABORDAGENS LÚDICAS AO DESIGN DE INTERFACES PARA SOFTWARE CIENTÍFICOFRANCISCO OLIVEIRA DE QUEIROZ 03 July 2019 (has links)
[pt] De grande importância para pesquisa científica, o software científico se mostra, por vezes, desafiador no que se refere ao design de interfaces com o usuário. Por outro lado, a gamificação se oferece como potencial solução em questões de experiência com o usuário e interatividade. Nesta tese, desenvolvemos um método para a gamificação de software científico voltado para processos de design colaborativo, orientado por um modelo baseado em jogo, informado por aspectos de uso e desenvolvimento deste tipo de software e, também, por aspectos similares ao jogo na prática científica. / [en] Vastly important to scientific research, scientific software is often challenging regarding the design of its user interfaces. On the other hand, gamification is seen as a potential solution in matters of user experience and interactivity. In this thesis, we develop a method for the gamification of scientific software aimed at collaborative design processes, guided by a game-based model, informed by aspects of use and development of that type of software and, also by game-like aspects of scientific practice.
|
18 |
Vespucci: A free, cross-platform software tool for spectroscopic data analysis and imagingFoose, Daniel Patrick January 2016 (has links)
No description available.
|
Page generated in 0.3307 seconds