• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 27
  • 9
  • 2
  • 1
  • Tagged with
  • 49
  • 49
  • 49
  • 18
  • 13
  • 9
  • 9
  • 8
  • 8
  • 7
  • 7
  • 7
  • 6
  • 6
  • 6
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
21

A Quantitative Comparison of Pre-Trained Model Registries to Traditional Software Package Registries

Jason Hunter Jones (18430302) 06 May 2024 (has links)
<p dir="ltr">Software Package Registries are an integral part of the Software Supply Chain, acting as collaborative platforms that unite contributors, users, and packages, and streamline package management processes. Much of the engineering work around reusing packages from these platforms deals with the issue of synthesis, combining multiple packages into a new package or downstream project. Recently, researchers have examined registries that specialize in providing Pre-Trained Models (PTMs), to explore the nuances of the PTM Supply Chain. These works suggest that the main engineering challenge of PTM reuse is not synthesis but selection. However, these findings have been primarily qualitative and lacking quantitative evidence of the observed differences. I therefore evaluate the following hypothesis:</p><p dir="ltr"><i>The prioritization of selection over synthesis in Pre-Trained Model reuse means that the evolution and reuse of Pre-Trained Models differs compared to traditional software. </i><i>The evolution of models will be more linear, and the reuse of models will be more centralized.</i></p>
22

Software Supply Chain Security: Attacks, Defenses, and the Adoption of Signatures

Taylor R Schorlemmer (14674685) 27 April 2024 (has links)
<p dir="ltr">Modern software relies heavily on third-party dependencies (often distributed via public package registries), making software supply chain attacks a growing threat. Prior work investigated attacks and defenses, but only taxonomized attacks or proposed defensive techniques, did not consistently define software supply chain attacks, and did not provide properties to assess the security of software supply chains. We do not have a unified definition of software supply chain attacks nor a set of properties that a secure software supply chain should follow.</p><p dir="ltr">Guaranteeing authorship in a software supply chain is also a challenge. Package maintainers can guarantee package authorship through software signing. However, it is unclear how common this practice is or if existing signatures are created properly. Prior work provided raw data on registry signing practices, but only measured single platforms, did not consider quality, did not consider time, and did not assess factors that may influence signing. We do not have up-to-date measurements of signing practices nor do we know the quality of existing signatures. Furthermore, we lack a comprehensive understanding of factors that influence signing adoption.</p><p dir="ltr">This thesis addresses these gaps. First, we systematize existing knowledge into: (1) a four-stage supply chain attack pattern; and (2) a set of properties for secure supply chains (transparency, validity, and separation). Next, we measure current signing quantity and quality across three kinds of package registries: traditional software (Maven Central, PyPI), container images (Docker Hub), and machine learning models (Hugging Face). Then, we examine longitudinal trends in signing practices. Finally, we use a quasi-experiment to estimate the effect that various factors had on software signing practices.</p><p dir="ltr">To summarize the findings of our quasi-experiment: (1) mandating signature adoption improves the quantity of signatures; (2) providing dedicated tooling improves the quality of signing; (3) getting started is the hard part — once a maintainer begins to sign, they tend to continue doing so; and (4) although many supply chain attacks are mitigable via signing, signing adoption is primarily affected by registry policy rather than by public knowledge of attacks, new engineering standards, etc. These findings highlight the importance of software package registry managers and signing infrastructure.</p>
23

Um framework para avaliação sistemática de técnicas de teste no contexto de programação concorrente / A Framework for systematic testing techniques evaluation applied to concurrent programming

Melo, Silvana Morita 04 April 2018 (has links)
Contexto: Embora diversas técnicas de teste de software tenham sido propostas para o contexto da programação concorrente, as informações sobre elas encontram-se de dispersas na literatura, não oferecendo uma caracterização apropriada e dados relevantes que possam auxiliar a compreensão e consequente aplicação efetiva dessas técnicas, dificultando o processo de transferência de conhecimento entre a academia e a comunidade interessada. Objetivo: Nesse contexto, o principal objetivo deste trabalho é oferecer subsídios, na forma de um framework, que seja capaz de apoiar a caracterização e seleção sistemática de técnicas de teste de software concorrente. Metodologia: Para atender esse objetivo, foi construído um corpo de conhecimento que reúne de maneira integrada informações relevantes ao processo de tomada de decisão sobre qual técnica de teste aplicar a um determinado projeto de software. Um design de experimentos é definido, funcionando como guia para condução de estudos empíricos que podem ser usados para a realimentação, atualização e evolução do corpo de conhecimento. Buscando sistematizar o processo de seleção de técnicas de teste, é definido um esquema de caracterização que considera as principais características da programação concorrente que influenciam a atividade de teste de software e calcula a adequação desses atributos aos atributos do projeto em desenvolvimento. Resultados e Conclusões: A fim de permitir que a comunidade interaja com o framework proposto, foi disponibilizada uma infraestrutura computacional que permite o acesso ao corpo de conhecimento e automatiza o processo de seleção de técnicas de teste de software concorrente. O estudo experimental conduzido para avaliação da proposta, mostrou que a abordagem contribui de maneira efetiva para caracterizar, comparar e quantificar a adequabilidade baseada em atributos, melhorando consideravelmente o processo de seleção de técnicas de teste para software concorrente segundo as expectativas dos usuários. / Background: Although a variety of concurrent software testing techniques have been proposed for the concurrent programming context, the information about them are scattered in the literature, not offering an appropriate characterization and relevant data that can aid the understanding and consequently the effective application of these techniques, hindering the process of knowledge transfer between the academia and the interested community. Objective: In this context, the main objective of this work is to provide subsidies in form of a framework which will be able to support the characterization and systematic selection of concurrent software testing techniques. Methodology: In order to meet this objective, a body of knowledge has been built that brings together, in an integrated way, information relevant for the decision-making process about what testing technique should be applied in a specific software project. A design of experiments is defined as a guide for conducting empirical studies that can be used for feedback, updating, and evolution of the body of knowledge. With the objective of systematizing the process of testing techniques selection is defined a characterization scheme that considers the main characteristics of the concurrent programming that influence the testing activity and calculates the adequacy for these attributes in comparison with the software project in development. Results and Conclusions: In order to allow the community interaction with the proposed framework was provided a computational infrastructure that allows access to the body of knowledge and the automation of the selection process. The empirical study conducted to evaluate the proposal showed that the approach effectively contributes to characterize, compare and quantify the adequacy based on the attributes, improving the selection process of concurrent software testing techniques according to the users expectations.
24

Variability Modeling in the Real

Berger, Thorsten 15 May 2013 (has links) (PDF)
Variability modeling is one of the key disciplines to cope with complex variability in large software product lines. It aims at creating, evolving, and configuring variability models, which describe the common and variable characteristics, also known as features, of products in a product line. Since the introduction of feature models more than twenty years ago, many variability modeling languages and notations have been proposed both in academia and industry, followed by hundreds of publications on variability modeling techniques that have built upon these theoretical foundations. Surprisingly, there are relatively few empirical studies that aim at understanding the use of such languages. What variability modeling concepts are actually used in practice? Do variability models applied in real-world look similar to those published in literature? In what technical and organizational contexts are variability models applicable? We present an empirical study that addresses this research gap. Our goals are i) to verify existing theoretical research, and ii) to explore real-world variability modeling languages and models expressed in them. We study concepts and semantics of variability modeling languages conceived by practitioners, and the usage of these concepts in real, large-scale models. Our aim is to support variability modeling research by providing empirical data about the use of its core modeling concepts, by identifying and characterizing further concepts that have not been as widely addressed, and by providing realistic assumptions about scale, structure, content, and complexity of real-world variability models. We believe that our findings are of relevance to variability modeling researchers and tool designers, for example, those working on interactive product configurators or feature dependency checkers. Our extracted models provide realistic benchmarks that can be used to evaluate new techniques. Recognizing the recent trend in software engineering to open up software platforms to facilitate inter-organizational reuse of software, we extend our empirical discourse to the emerging field of software ecosystems. As natural successors of successful product lines, ecosystems manage huge variability among and within their software assets, thus, represent a highly interesting class of systems to study variability modeling concepts and mechanisms. Our studied systems comprise eleven highly configurable software systems, two ecosystems with closed platforms, and three ecosystems relying on open platforms. Some of our subjects are among the largest successful systems in existence today. Results from a survey on industrial variability modeling complement these subjects. Our overall results provide empirical evidence that the well-researched concepts of feature modeling are used in practice, but also that more advanced concepts are needed. We observe that assumptions about variability models in the literature do not hold. Our study also reveals that variability models work best in centralized variability management scenarios, and that they are fragile and have to be controlled by a small team. We also identify a particular type of dependencies that is increasingly used in open platforms and helps sustain the growth of ecosystems. Interestingly, while enabling distributed variability, these dependencies rely on a centralized and stable vocabulary. Finally, we formulate new hypotheses and research questions that provide direction for future research.
25

Impediments for Automated Software Test Execution

Wiklund, Kristian January 2015 (has links)
Automated software test execution is a critical part of the modern software development process, where rapid feedback on the product quality is expected. It is of high importance that impediments related to test execution automation are prevented and removed as quickly as possible. An enabling factor for all types of improvement is to understand the nature of what is to be improved. The goal with this thesis is to further the knowledge about common problems encountered by software developers using test execution automation, in order to enable improvement of test execution automation in industrial software development. The research has been performed through industrial case studies and literature reviews. The analysis of the data have primarily been performed using qualitative methods, searching for patterns, themes, and concepts in the data.  Our main findings include: (a) a comprehensive list of potential impediments reported in the published body of knowledge on test execution automation, (b) an in-depth analysis of how such impediments may affect the performance of a development team, and (c) a proposal for a qualitative model of interactions between the main groups of phenomena that contribute to the formation of impediments in a test execution automation project. In addition to this, we contribute qualitative and quantitative empirical data from our industrial case studies.  Through our results, we find that test execution automation is a commonly under-estimated activity,  not only in terms of resources but also in terms of the complexity of the work. There is a clear tendency to perform the work ad hoc, down-prioritize the automation in favor of other activities,  and ignore the long-term effects in favor of short-term gains. This is both a technical and a cultural problem that need to be managed by awareness of the problems that may arise, and also have to be solved in the long term through education and information. We conclude by proposing a theoretical model of the socio-technical system that needs to be managed to be successful with test execution automation. / Syftet med denna avhandling är att utöka den vetenskapliga kunskapen om problem som kan uppstå under användning av automatiserad testning i industriell programvaruutveckling. Utveckling av programvara består principiellt av ett antal processteg: kravbehandling, detaljerad systemkonstruktion, implementation i form av programmering, och slutligen testning som säkerställer att kvaliteten på programvaran är tillräcklig för dess tilltänkta användare. Testning representerar en stor del av tiden och kostnaden för utveckling av programvaran, och detta gör att det är attraktivt att automatisera testningen. Automatiserade tester kan bidra med många positiva effekter. Testning som utförs om och om igen, för att säkerställa att gammal funktionalitet inte slutar att fungera när ändringar görs i programvaran, kan med fördel göras automatiserat. Detta frigör kvalificerad personal till kvalificerat arbete. Automatisering kan även minska ledtiden för testningen och därmed möjliggöra snabbare leveranser till kund. Ett annat mål med testautomatisering är att vara säker på att samma tester utförs på ett likartat sätt varje gång produkten testas, så att den håller en jämn och stabil kvalitetsnivå. Automatiserad testning är dock en mer komplex och kostsam verksamhet än vad man kan tro, och problem som uppstår under dess användning kan ha stora konsekvenser. Detta gäller i ännu större utsträckning i organisationer som använder moderna utvecklingsmetoder där automatisering är grundstenen för en effektiv kvalitetskontroll. För att kunna undvika så många problem som möjligt, är det därför mycket viktigt att förstå vad som händer när man använder testautomatisering i stor skala. Denna avhandling presenterar resultat från fallstudier i svensk industri, som, kombinerat med en systematisk genomgång av befintlig forskning inom området, har utförts för att söka djupare kunskap och möjligheter till generalisering. Arbetet har varit beskrivande, och förklarande, och bygger på empirisk forskningsmetodik.  I avhandlingen bidrar vi med (a) information om de problem relaterade till automatiserad testning som vi har identifierat i de empiriska fallstudierna, (b) en diskussion av dessa problem i relation till andra studier i området, (c) en systematisk litteraturstudie som ger en översikt över relevanta publikationer i området, (d) en analys av bevisen som insamlats genom litteraturstudien, samt (e) en modell av det organisatoriska och tekniska system som måste hanteras för att man skall nå framgång med ett testautomatiseringsprojekt. Resultaten tyder på att rent tekniska problem inte utgör huvuddelen av de problem som upplevs med testautomatisering. Istället handlar det till stora delar om organisationell dynamik: hantering av förändringen det innebär att införa automatisering, planering av automatisering och dess användning, samt vilka finansiella förväntningar man har på automatiseringen. / ITS-EASY Post Graduate School for Embedded Software and Systems
26

The study of socio-technical coordination using a socio-technical congruence model

Kwan, Irwin Hin-Bong 15 August 2011 (has links)
Coordination in software development, especially in global software development, is important because a team cannot perform well unless its team members communicate and maintain awareness of each other's activities. In order to improve socio-technical coordination, which is coordination among team members who work on interdependent technical entities, it must be conceptualized and measured. One measurement of coordination is socio-technical congruence, which calculates the alignment between technical relationships and social relationships. The problem is that there are a large number of social and technical factors to consider when using socio-technical congruence to study coordination. Current limitations with socio-technical congruence include the inability to represent the size of gaps in coordination between people, the sparse understanding of the role of awareness in conjunction with other coordination mechanisms, and the lack of a technique with which to model people who are involved in certain communication patterns, but not assigned to technical tasks. To address these limitations, this dissertation describes a socio-technical congruence model to study socio-technical coordination. The model focuses on refining conceptualizations of technical and social relationships between people, on describing an improved gap technique for calculating socio-technical alignment, and on providing guidelines on how to study coordination in teams using the socio-technical congruence model. I first develop the model theoretically from related work. I then conduct two empirical investigations to address limitations of the model. The first study examines awareness in a small global team using observational studies. The second study examines important communicators and people who emerge in coordination} despite having no technical relationships by examining email archives from the same team. I conduct a third empirical investigation of a large global team to apply the model to study the relationship between socio-technical congruence and team performance using the project's repository. Finally, I revisit the model and improve it based on the empirical findings. The model refines conceptualizations of relationships, classifies emergent people who are suddenly involved with a task or a team during the project, and represents multi-variable relationships. It includes a template and an accompanying process for applying socio-technical congruence to study socio-technical coordination. This model enables researchers to study socio-technical coordination and analyze its effect on software engineering outcomes such as performance and quality. / Graduate
27

Mecanismos utilizados para conduzir estudos empíricos na engenharia de software: um mapeamento sistemático

BORGES JÚNIOR, Alex Nery 27 February 2015 (has links)
Submitted by Fabio Sobreira Campos da Costa (fabio.sobreira@ufpe.br) on 2016-08-17T12:14:52Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertação_AlexNery_V18 (VFinal_Biblioteca).pdf: 3946748 bytes, checksum: 139ad5265a5a9bfe6cb97a591113354a (MD5) / Made available in DSpace on 2016-08-17T12:14:54Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertação_AlexNery_V18 (VFinal_Biblioteca).pdf: 3946748 bytes, checksum: 139ad5265a5a9bfe6cb97a591113354a (MD5) Previous issue date: 2015-02-27 / FACEPE / Contexto – Tem-se observado que o interesse em conduzir estudos empíricos vem aumentando na comunidade de Engenharia de Software, permitindo melhorar a qualidade das pesquisas e acelerar a adoção de novas tecnologias no mercado de software. Para fomentar pesquisas empíricas nesse contexto, é essencial entender os ambientes, diretrizes, processos, ferramentas e outros recursos disponíveis para conduzir tais estudos. Objetivo – Esta pesquisa tem o objetivo de identificar mecanismos de suporte (metodologias, framework, ferramentas, guias, processos, etc.) utilizados para planejar e conduzir estudos empíricos na comunidade de Engenharia de Software Empírica. Além disso, espera-se mapear outras evidências importantes na área, como os métodos empíricos mais utilizados e a evolução, ao longo dos anos, do uso de estratégias e mecanismos de pesquisa empírica. Método – Foi adotado o Estudo de Mapeamento Sistemático, conduzido de acordo com guias e diretrizes de Engenharia de Software Baseada em Evidências. Resultado – Foram identificados 375 mecanismos. Este trabalho fornece um catálogo com informações de todos os mecanismos e em quais estratégias empíricas são aplicados. Serão abordados os mecanismos mais utilizados para guiar os principais métodos empíricos. Este trabalho também discute outras informações relevantes da comunidade de Engenharia de Software Empírica. Observou-se que a maioria dos mecanismos utilizados como referência para guiar estudos empíricos é adotado de outras áreas científicas. Além disso, muitos estudos não aplicam estratégias empíricas e / ou não citam referências para apoiar sua pesquisa. Experimento e estudo de caso são os métodos empíricos mais aplicados. Conclusão – Esta pesquisa evidenciou que a realização de estudos empíricos na Engenharia de Software tem aumentado ao longo dos anos. No entanto, ainda há lacunas a serem preenchidas, como o desenvolvimento de novos ambientes e recursos para auxiliar atividades específicas nessa área. Portanto, um catálogo de mecanismos de suporte, onde e como foram aplicados, é um trunfo importante para a comunidade de Engenharia de Software. Tal recurso pode promover a realização de estudos empíricos, no sentido de auxiliar a escolha sobre quais estratégias e guias usar em uma pesquisa. Além disso, foram identificadas novas perspectivas e lacunas que podem orientar a definição de outras pesquisas voltadas para a melhoria e disseminação de estudos empíricos na área. / Context – It is possible to observe that empirical studies are gaining recognition in the Software Engineering research community, allowing improve quality of researches and accelerate the adoption of new technologies in the software market. In order to foster empirical research in this context, it is essential understand the environments, guidelines, process, tools, and other mechanisms available to conduct such studies. Objective – This research aims to identify support mechanisms (methodology, framework, tool, guidelines, process, etc.) used to plan and to conduct empirical studies in the Empirical Software Engineering community. In addition, it is expected to map other evidence of this area, as the most widely used empirical methods and the evolution of the use of empirical strategies and mechanisms along the years. Method – The method adopted was the Systematic Mapping Study conducted according to guidelines of Evidence-Based Software Engineering. Result - A total of 375 mechanisms were identified. This work provide a catalog with information of all the identified mechanisms and the empirical strategies in which they were used to support. And also describes the most used support mechanisms to guide the main types of empirical strategies in Software Engineering. This study also discusses relevant findings of the Empirical Software Engineering community. It was observed that the most mechanisms used as a reference to guide empirical studies are not specific to this area. Besides, many studies did not apply empirical strategies and/or did not cite any resource to support their research. Experiment and case study are the empirical strategies most applied. Conclusion – This research showed that the performance of empirical studies in Software Engineering has increased over the years. However, there are still gaps to be filled, as the development of support mechanisms to specific activities in this area. Therefore, the list of support mechanisms, where and how they were applied is an important asset to the Software Engineering community. Such asset can foster empirical studies aiding the choice regarding which strategies and mechanisms to use in a research, as well as pointing out examples where they were used, mainly to newcomers researchers. Also, were identified new perspectives and gaps that foster other research for the improvement and dissemination of empirical research in this area.
28

Mecanismos utilizados para conduzir estudos empíricos na engenharia de software: um mapeamento sistemático

BORGES JÚNIOR, Alex Nery 27 February 2015 (has links)
Submitted by Fabio Sobreira Campos da Costa (fabio.sobreira@ufpe.br) on 2016-08-17T12:23:47Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertação_AlexNery_V18 (VFinal_Biblioteca).pdf: 3946748 bytes, checksum: 139ad5265a5a9bfe6cb97a591113354a (MD5) / Made available in DSpace on 2016-08-17T12:23:47Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertação_AlexNery_V18 (VFinal_Biblioteca).pdf: 3946748 bytes, checksum: 139ad5265a5a9bfe6cb97a591113354a (MD5) Previous issue date: 2015-02-27 / FACEPE / Contexto – Tem-se observado que o interesse em conduzir estudos empíricos vem aumentando na comunidade de Engenharia de Software, permitindo melhorar a qualidade das pesquisas e acelerar a adoção de novas tecnologias no mercado de software. Para fomentar pesquisas empíricas nesse contexto, é essencial entender os ambientes, diretrizes, processos, ferramentas e outros recursos disponíveis para conduzir tais estudos. Objetivo – Esta pesquisa tem o objetivo de identificar mecanismos de suporte (metodologias, framework, ferramentas, guias, processos, etc.) utilizados para planejar e conduzir estudos empíricos na comunidade de Engenharia de Software Empírica. Além disso, espera-se mapear outras evidências importantes na área, como os métodos empíricos mais utilizados e a evolução, ao longo dos anos, do uso de estratégias e mecanismos de pesquisa empírica. Método – Foi adotado o Estudo de Mapeamento Sistemático, conduzido de acordo com guias e diretrizes de Engenharia de Software Baseada em Evidências. Resultado – Foram identificados 375 mecanismos. Este trabalho fornece um catálogo com informações de todos os mecanismos e em quais estratégias empíricas são aplicados. Serão abordados os mecanismos mais utilizados para guiar os principais métodos empíricos. Este trabalho também discute outras informações relevantes da comunidade de Engenharia de Software Empírica. Observou-se que a maioria dos mecanismos utilizados como referência para guiar estudos empíricos é adotado de outras áreas científicas. Além disso, muitos estudos não aplicam estratégias empíricas e / ou não citam referências para apoiar sua pesquisa. Experimento e estudo de caso são os métodos empíricos mais aplicados. Conclusão – Esta pesquisa evidenciou que a realização de estudos empíricos na Engenharia de Software tem aumentado ao longo dos anos. No entanto, ainda há lacunas a serem preenchidas, como o desenvolvimento de novos ambientes e recursos para auxiliar atividades específicas nessa área. Portanto, um catálogo de mecanismos de suporte, onde e como foram aplicados, é um trunfo importante para a comunidade de Engenharia de Software. Tal recurso pode promover a realização de estudos empíricos, no sentido de auxiliar a escolha sobre quais estratégias e guias usar em uma pesquisa. Além disso, foram identificadas novas perspectivas e lacunas que podem orientar a definição de outras pesquisas voltadas para a melhoria e disseminação de estudos empíricos na área. / Context – It is possible to observe that empirical studies are gaining recognition in the Software Engineering research community, allowing improve quality of researches and accelerate the adoption of new technologies in the software market. In order to foster empirical research in this context, it is essential understand the environments, guidelines, process, tools, and other mechanisms available to conduct such studies. Objective – This research aims to identify support mechanisms (methodology, framework, tool, guidelines, process, etc.) used to plan and to conduct empirical studies in the Empirical Software Engineering community. In addition, it is expected to map other evidence of this area, as the most widely used empirical methods and the evolution of the use of empirical strategies and mechanisms along the years. Method – The method adopted was the Systematic Mapping Study conducted according to guidelines of Evidence-Based Software Engineering. Result - A total of 375 mechanisms were identified. This work provide a catalog with information of all the identified mechanisms and the empirical strategies in which they were used to support. And also describes the most used support mechanisms to guide the main types of empirical strategies in Software Engineering. This study also discusses relevant findings of the Empirical Software Engineering community. It was observed that the most mechanisms used as a reference to guide empirical studies are not specific to this area. Besides, many studies did not apply empirical strategies and/or did not cite any resource to support their research. Experiment and case study are the empirical strategies most applied. Conclusion – This research showed that the performance of empirical studies in Software Engineering has increased over the years. However, there are still gaps to be filled, as the development of support mechanisms to specific activities in this area. Therefore, the list of support mechanisms, where and how they were applied is an important asset to the Software Engineering community. Such asset can foster empirical studies aiding the choice regarding which strategies and mechanisms to use in a research, as well as pointing out examples where they were used, mainly to newcomers researchers. Also, were identified new perspectives and gaps that foster other research for the improvement and dissemination of empirical research in this area.
29

Analysis of human-centric software engineering experiments: a systematic mapping study

FALCÃO, Larissa Catão Tenório 18 February 2016 (has links)
Submitted by Natalia de Souza Gonçalves (natalia.goncalves@ufpe.br) on 2016-09-28T12:40:17Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertacao - Larissa Falcao - Final - Correcoes Biblioteca - Entrega.pdf: 1172723 bytes, checksum: b0a57a917a5abab25c66870d353d906f (MD5) / Made available in DSpace on 2016-09-28T12:40:17Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) Dissertacao - Larissa Falcao - Final - Correcoes Biblioteca - Entrega.pdf: 1172723 bytes, checksum: b0a57a917a5abab25c66870d353d906f (MD5) Previous issue date: 2016-02-18 / CNPq / Software Engineering professionals need to have information about new support mechanisms to decide, not at random, what option is best adapting it needs. One way of obtaining this information is through empirical studies that make the mechanisms used to support the design and development of software, be evaluated in practice. Thus, scientific research through experiments and empirical studies are fundamental during the evaluation of any new technology to software development. In this context, researchers perform experiments to check their proposals under controlled conditions. Therefore, experiments are an important category of empirical studies and are the classical approach for identifying cause-effect relationships. The goal of this dissertation is qualitatively and quantitatively characterizes and analyze human-centric experiments in software engineering, published in three journals andthree conferences proceedings from 2003 to 2013. To reach this objective was performed a systematic mapping study that includes all full papers published at EASE, ESEM, ICSE, ESEJ, JSS, TSE. Based on manual searches in those important conferences and journals in Software Engineering, were analyzed 3671 papers. 244 primary studies were identified as relevant, reporting experiments. In these experiments, we obtained qualitative and quantified data about authors and institutions, subjects, tasks performed, environment, replication and threats to validity. From the analysis performed, this work conclude that despite guidelines exist now, there is a large gap in the report of the experiments. The main contribution of this work is to provide the reporting status of human-centric software engineering experiments and how this field has matured. This work also proposes a list of information that an experiment report expected to have. / Profissionais de engenharia de software precisam ter informações sobre os novos mecanismos de apoio, a fim de decidir sem ser ao acaso, qual é a melhor opção que se adapta ao que se precisa. Uma maneira de obter essas informações é através de estudos empíricos, que permitem que os mecanismos utilizados para apoiar a concepção e desenvolvimento de software sejam avaliados na prática. Assim, a pesquisa científica através de experimentos e estudos empíricos são de fundamental importância na avaliação de qualquer nova tecnologia para desenvolvimento de software. Pesquisadores realizam experimentos para verificar as suas propostas sob condições controladas. Portanto, os experimentos são uma categoria importante de estudos empíricos e são a abordagem clássica para identificar relações de causaefeito. O objetivo deste trabalho é caracterizar qualitativa e quantitativamente, e analisar experimentos centrados em humanos em engenharia de software, publicados em três jornais e três conferências de 2003 a 2013. Para atingir este objetivo foi realizado um estudo de mapeamento sistemático que inclui todos os artigos completos publicados no EASE, ESEM, ICSE, ESEJ, JSS, TSE. Com base em pesquisas manuais nessas importantes conferências e periódicos em Engenharia de Software, foram analisados 3671 artigos. 244 estudos primários foram identificados como relevantes, relatando experimentos. Nesses experimentos foram obtidos dados qualitativos e quantificados sobre autores e instituições, participantes, tarefas realizadas, o ambiente, replicação e ameaças à validade. A partir da análise realizada, este trabalho conclui que apesar dos guias existirem agora, há uma grande lacuna no relatório desses experimentos. A principal contribuição deste trabalho é fornecer o status dos relatórios de experimentos centrados em humanos em engenharia de software e como este campo amadureceu. Este trabalho também propõe uma lista de informações que um relatório de experimento deve ter.
30

A Substantive Theory of Decision-Making in Software Project Management

CUNHA, José Adson Oliveira Guedes da 15 September 2016 (has links)
Submitted by Fabio Sobreira Campos da Costa (fabio.sobreira@ufpe.br) on 2017-04-19T14:49:21Z No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) TeseDoutorado_JoseAdsonOliveiraGuedesCunha_CInUFPE_vFinal.pdf: 2184943 bytes, checksum: 928987ce07e4113b3596a20086cbc4c7 (MD5) / Made available in DSpace on 2017-04-19T14:49:21Z (GMT). No. of bitstreams: 2 license_rdf: 1232 bytes, checksum: 66e71c371cc565284e70f40736c94386 (MD5) TeseDoutorado_JoseAdsonOliveiraGuedesCunha_CInUFPE_vFinal.pdf: 2184943 bytes, checksum: 928987ce07e4113b3596a20086cbc4c7 (MD5) Previous issue date: 2016-09-15 / Background: In software project management, the decision-making process is a complex set of tasks mainly based on human relations, individual knowledge, and cultural background. The factors that affect the decisions of Software Project Managers (SPMs), as well as their potential consequences, require attention because project delays and failures might be related to a series of poor decisions. Aims: To understand how SPMs make decisions based on how they interpret their experiences in the workplace. Further, to identify antecedents, moderators and consequences of those decisions to increase the effectiveness of project management. Method: Firstly, an exploratory study based on semi-structured interviews was conducted with SPMs from a large Brazilian governmental organization and from a small Portuguese private organization to shed light on the causal factors of SPMs’ cognitive biases and how they deal with them, including techniques and tools they used to minimize the cognitive biases’ adverse effects. The initial findings suggested that we needed a more grounded understanding of the mechanisms of decision-making. Thus, a broader research protocol based on semi-structured interviews was carried out with SPMs within a large Brazilian governmental organization and a large Brazilian private organization. We also conducted interviews with software engineers and PMO managers to triangulate the data, which was analyzed using techniques from grounded theory. Data from observations, document analysis and selected studies from a systematic literature review were also used. Results: We found that decision-making in software project management is based on knowledge sharing in which the SPM acts as a facilitator. This phenomenon is influenced by individual factors, such as experience, knowledge, leadership style, and skills, and by situational factors such as the autonomy of the SPM, task complexity and team members' technical competence. Conclusions: Due to the uncertainty and dynamism inherent to software projects, the SPMs focus on making, monitoring and adjusting decisions in na argument-driven way. Also, the involvement of the team members in decision-making aims to minimize the SPM's decision regret and cognitive biases as well as to maximize the team member's commitment. / Contexto: No gerenciamento de projetos de software, o processo de tomada de decisão refere-se a um conjunto complexo de tarefas baseadas, principalmente, nas relações humanas e no conhecimento e background de cada indivíduo. Os fatores que afetam as decisões dos gerentes de projeto de software (GPs), bem como as suas consequências potenciais necessitam de atenção uma vez que atrasos e falhas de projeto estão relacionados a uma série de más decisões. Objetivos: Entender como os GPs tomam decisões com base em como eles interpretam suas experiências no ambiente de trabalho. Além disso, pretende-se identificar os antecedentes, moderadores e consequências dessas decisões para aumentar a eficácia no gerenciamento de projetos. Método: Primeiramente foi realizado um estudo exploratório com base em entrevistas semi-estruturadas com GPs de uma organização governamental brasileira de grande porte e de uma organização privada portuguesa de pequeno porte para analisar os fatores causais dos vieses cognitivos dos GPs e como estes lidam com eles, incluindo técnicas e as ferramentas utilizadas para minimizar os efeitos adversos dos vieses cognitivos. Os resultados iniciais sugeriram uma compreensão mais fundamentada dos mecanismos de tomada de decisão. Dessa forma, um protocolo mais amplo de pesquisa baseado em entrevistas semi-estruturadas foi realizado com GPs de uma organização governamental e de uma organização privada, ambas brasileiras e de grande porte. Foram realizadas entrevistas com engenheiros de software e gerentes de escritório de projetos para triangular os dados, que foram analisados usando técnicas de teoria fundamentada. Também foram utilizados dados de observações, análise de documentos e estudos selecionados a partir de uma revisão sistemática da literatura. Resultados: Verificou-se que a tomada de decisão no gerenciamento de projetos de software é baseada no compartilhamento de conhecimento em que o gerente de projetos de software atua como um facilitador. Este fenômeno é influenciado por fatores individuais, como experiência, conhecimento, estilo de liderança, e habilidades, e por fatores situacionais, tais como a autonomia, complexidade da tarefa, e competência técnica dos membros de equipe. Conclusões: Devido à incerteza e dinamismo inerente aos projetos de software, os GPs concentram-se em agir, monitorar e ajustar as decisões com base em argumentos. Além disso, o envolvimento dos membros da equipe na tomada de decisão visa minimizar o arrependimento de decisões e influência de vieses cognitivos por parte dos GPs, bem como maximizar o comprometimento dos membros da equipe.

Page generated in 0.0776 seconds