Conteúdo / Publicações científicas
Experiência,
com evidências.
Pesquisas sobre testes, manutenibilidade, evolução de software e práticas de engenharia. Os títulos bibliográficos são mantidos no idioma original para facilitar a busca e a citação.
Explore todo o conteúdo ↗50 conteúdos disponíveis
TestKnight: An Interactive Assistant to Stimulate Test Engineering
O teste de software é um dos aspectos mais importantes do desenvolvimento de software moderno. Para garantir a qualidade do software, o ideal é que os desenvolvedores escre...
Ver publicação : TestKnight: An Interactive Assistant to Stimulate Test EngineeringData-Driven Extract Method Recommendations: A Study at ING
A identificação sólida de oportunidades de refatoração ainda é um problema em aberto na engenharia de software. Estudos recentes têm demonstrado a eficácia dos modelos de a...
Ver publicação : Data-Driven Extract Method Recommendations: A Study at INGLog-based Software Monitoring: A Systematic Mapping Study
O desenvolvimento e as operações de software moderno dependem do monitoramento para entender como os sistemas se comportam na produção. Os dados fornecidos pelos logs de ap...
Ver publicação : Log-based Software Monitoring: A Systematic Mapping StudyLogging Practices with Mobile Analytics: An Empirical Study on Firebase
Os logs de software são de grande valor em projetos industriais e de código aberto. O registro de análise móvel permite que os desenvolvedores coletem registros dos usuário...
Ver publicação : Logging Practices with Mobile Analytics: An Empirical Study on FirebaseInteractive Static Software Performance Analysis in the IDE
Detectar problemas de desempenho devido a código abaixo do ideal durante o processo de desenvolvimento pode ser uma tarefa difícil, especialmente quando se trata de localiz...
Ver publicação : Interactive Static Software Performance Analysis in the IDEAtoms of Confusion in Java
Embora escrever código às vezes pareça trivial, surgem problemas quando os humanos interpretam mal o que o código realmente faz. Uma das causas potenciais são os “átomos de...
Ver publicação : Atoms of Confusion in JavaHow Developers Engineer Test Cases: An Observational Study
Um dos principais desafios que os desenvolvedores enfrentam ao testar seus sistemas reside em casos de testes de engenharia que sejam bons o suficiente para revelar bugs. E...
Ver publicação : How Developers Engineer Test Cases: An Observational StudyAn Exploratory Study of Log Placement Recommendation in an Enterprise System
O registro em log é uma prática de desenvolvimento que desempenha um papel importante nas operações e no monitoramento de sistemas complexos. Os desenvolvedores colocam ins...
Ver publicação : An Exploratory Study of Log Placement Recommendation in an Enterprise SystemLearning Off-By-One Mistakes: An Empirical Study
Erros em condições binárias são uma fonte de erros em muitos sistemas de software. Eles acontecem quando os desenvolvedores usam, por exemplo, < or > em vez de <= ...
Ver publicação : Learning Off-By-One Mistakes: An Empirical StudyThe Prevalence of Code Smells in Machine Learning projects
A Inteligência Artificial (IA) e o Aprendizado de Máquina (ML) estão difundidos no cenário atual da ciência da computação. No entanto, ainda existe uma falta de experiência...
Ver publicação : The Prevalence of Code Smells in Machine Learning projectsSearch-Based Software Re-Modularization: A Case Study at Adyen
Decidir o que constitui um único módulo, quais classes pertencem a qual módulo ou o conjunto certo de módulos para um sistema de software específico sempre foi uma tarefa d...
Ver publicação : Search-Based Software Re-Modularization: A Case Study at AdyenAutomatically Identifying Parameter Constraints in Complex Web APIs: A Case Study at Adyen
As APIs da Web podem ter restrições de parâmetros, de modo que nem todos os parâmetros são sempre obrigatórios ou sempre opcionais. Além disso, a presença ou o valor de um ...
Ver publicação : Automatically Identifying Parameter Constraints in Complex Web APIs: A Case Study at AdyenGrading 600+ students: A Case Study on Peer and Self Grading
Classificar turmas grandes tornou-se uma tarefa desafiadora e cara para muitas universidades. A Universidade de Tecnologia de Delft (TU Delft), localizada na Holanda, obser...
Ver publicação : Grading 600+ students: A Case Study on Peer and Self GradingThe Effectiveness of Supervised Machine Learning Algorithms in Predicting Software Refactoring
Refatoração é o processo de alteração da estrutura interna do software para melhorar sua qualidade sem modificar seu comportamento externo. Antes de realizar atividades de ...
Ver publicação : The Effectiveness of Supervised Machine Learning Algorithms in Predicting Software RefactoringSelecting third-party libraries: The practitioners' perspective
A seleção de bibliotecas de terceiros é um elemento essencial de praticamente qualquer projeto de desenvolvimento de software. No entanto, decidir quais bibliotecas escolhe...
Ver publicação : Selecting third-party libraries: The practitioners' perspectiveOffSide: Learning to Identify Mistakes in Boundary Conditions
Erros nas condições de contorno são a causa de muitos bugs no software. Esses erros acontecem quando, por exemplo, os desenvolvedores fazem uso de ‘<’ or ‘>’ nos caso...
Ver publicação : OffSide: Learning to Identify Mistakes in Boundary ConditionsDomain-Based Fuzzing for Supervised Learning of Anomaly Detection in Cyber-Physical Systems
Uma nova abordagem é proposta para a construção de modelos de detectores de anomalias utilizando aprendizagem supervisionada a partir dos traços de operações normais e anor...
Ver publicação : Domain-Based Fuzzing for Supervised Learning of Anomaly Detection in Cyber-Physical SystemsComprehending Test Code: An Empirical Study
Os desenvolvedores gastam grande parte de seu tempo e esforço na compreensão do código-fonte. Embora muitos estudos tenham investigado como os desenvolvedores abordam essas...
Ver publicação : Comprehending Test Code: An Empirical StudyCurrent Challenges in Practical Object-Oriented Software Design
De acordo com o extenso corpo de conhecimento de 50 anos em programação e design orientado a objetos, bons designs de software são, entre outras características, pouco acop...
Ver publicação : Current Challenges in Practical Object-Oriented Software DesignAn Empirical Catalog of Code Smells for the Presentation Layer of Android Apps
Os desenvolvedores de software, incluindo os da plataforma móvel Android, buscam constantemente melhorar a manutenibilidade e evolução de seus aplicativos. Os code smells s...
Ver publicação : An Empirical Catalog of Code Smells for the Presentation Layer of Android AppsMonitoring-Aware IDEs
A engenharia de software moderno em grande escala exige que os desenvolvedores de software não se concentrem apenas em escrever código, mas também examinem continuamente os...
Ver publicação : Monitoring-Aware IDEsTracing Back Log Data to its Log Statement: From Research to Practice
Os logs são amplamente utilizados como fonte de informação para compreender a atividade dos sistemas de computador e monitorar sua saúde e estabilidade. No entanto, a maior...
Ver publicação : Tracing Back Log Data to its Log Statement: From Research to PracticePragmatic Software Testing Education
O teste de software é um tópico importante no ensino de engenharia de software e, ainda assim, altamente desafiador do ponto de vista educacional: os alunos são obrigados a...
Ver publicação : Pragmatic Software Testing EducationFactors Affecting Cloud Infra-Service Development Lead Times: A Case Study at ING
O desenvolvimento de infra-serviços em nuvem mudou na última década na direção de um processo de desenvolvimento de código de software, também conhecido como infraestrutura...
Ver publicação : Factors Affecting Cloud Infra-Service Development Lead Times: A Case Study at INGUnusual Events in GitHub Repositories
Em projetos de software grandes e ativos, torna-se impraticável para um desenvolvedor ficar atento a todas as atividades do projeto. Embora possa não ser necessário saber s...
Ver publicação : Unusual Events in GitHub RepositoriesUnderstanding Developers’ Needs on Deprecation as a Language Feature
A descontinuação é um recurso de linguagem que permite aos produtores de API marcar um recurso como obsoleto. Nosso objetivo é obter uma compreensão profunda das necessidad...
Ver publicação : Understanding Developers’ Needs on Deprecation as a Language FeatureWhen Testing Meets Code Review: Why and How Developers Review Tests
O teste automatizado é considerado um processo essencial para garantir a qualidade do software. No entanto, escrever e manter código de teste de alta qualidade é desafiador...
Ver publicação : When Testing Meets Code Review: Why and How Developers Review TestsPyDriller: Python Framework for Mining Software Repositories
Os repositórios de software contêm informações históricas e valiosas sobre o desenvolvimento geral de sistemas de software. Repositórios de software de mineração (MSR) são ...
Ver publicação : PyDriller: Python Framework for Mining Software RepositoriesHow Modern News Aggregators Help Development Communities Shape and Share Knowledge
Muitos desenvolvedores contam com sites agregadores de notícias modernos, como reddit e hackernews, para se manterem atualizados com os mais recentes desenvolvimentos e ten...
Ver publicação : How Modern News Aggregators Help Development Communities Shape and Share KnowledgeMock objects for testing java systems: Why and how developers use them, and how they evolve
Ao testar artefatos de software que possuem diversas dependências, tem-se a possibilidade de instanciar essas dependências ou usar objetos simulados para simular o comporta...
Ver publicação : Mock objects for testing java systems: Why and how developers use them, and how they evolveWhere does Google find API documentation?
A documentação de APIs populares está espalhada por vários formatos, desde documentação de referência com curadoria de fornecedores até threads Stack Overflow. Para os dese...
Ver publicação : Where does Google find API documentation?An Exploratory Study on Faults in Web API Integration in a Large-Scale Payment Company
As arquiteturas orientadas a serviços são mais populares do que nunca e cada vez mais empresas e organizações dependem de serviços oferecidos por meio de APIs Web. Os recur...
Ver publicação : An Exploratory Study on Faults in Web API Integration in a Large-Scale Payment CompanySearch-Based Test Data Generation for SQL Queries
Os sistemas centrados em banco de dados dependem fortemente de consultas SQL para gerenciar e manipular seus dados. Esses comandos SQL podem variar desde seleções muito sim...
Ver publicação : Search-Based Test Data Generation for SQL QueriesThe Adoption of JavaScript Linters in Practice: A Case Study on ESLint
Um linter é uma ferramenta de análise estática que alerta os desenvolvedores de software sobre possíveis erros de código ou violações dos padrões de codificação. Ao usar es...
Ver publicação : The Adoption of JavaScript Linters in Practice: A Case Study on ESLintTo Mock or Not To Mock? An Empirical Study on Mocking Practices
Ao escrever testes de unidade automatizados, os desenvolvedores geralmente lidam com artefatos de software que possuem diversas dependências. Nestes casos, tem-se a possibi...
Ver publicação : To Mock or Not To Mock? An Empirical Study on Mocking PracticesA Collaborative Approach to Teaching Software Architecture
Ensinar arquitetura de software é difícil. O tema é abstrato e é melhor compreendido vivenciando-o, o que requer escala adequada para compreender plenamente sua complexidad...
Ver publicação : A Collaborative Approach to Teaching Software ArchitectureAn Experience Report on Applying Passive Learning in a Large-Scale Payment Company
As técnicas de aprendizagem passiva inferem modelos gráficos sobre o comportamento de um sistema a partir de grandes registros de rastreamento. A comunidade de pesquisa tem...
Ver publicação : An Experience Report on Applying Passive Learning in a Large-Scale Payment CompanyWhy and How JavaScript Developers Use Linters
Ferramentas automáticas de análise estática ajudam os desenvolvedores a identificar automaticamente problemas de código em seus softwares. Eles podem ser de extremo valor e...
Ver publicação : Why and How JavaScript Developers Use LintersCode smells for Model-View-Controller architectures
Estudos anteriores mostraram os efeitos negativos que o código de baixa qualidade pode ter nos proxies de manutenção, como a propensão a alterações de código e a defeitos. ...
Ver publicação : Code smells for Model-View-Controller architecturesA Validated Set of Smells in Model-View-Controller Architecture
Os code smells são sintomas de escolhas inadequadas de design e implementação que podem prejudicar a compreensão do código e possivelmente aumentar a propensão a mudanças e...
Ver publicação : A Validated Set of Smells in Model-View-Controller ArchitectureDevelopers' Perceptions on Object-Oriented Design and System Architecture
Os desenvolvedores de software geralmente contam com padrões de arquitetura de software bem conhecidos, como MVC, para construir seus aplicativos. Em muitos desses padrões,...
Ver publicação : Developers' Perceptions on Object-Oriented Design and System ArchitectureSATT: Tailoring Code Metric Thresholds for Different Software Architectures
A análise métrica de código é uma abordagem bem conhecida para avaliar a qualidade de um sistema de software. No entanto, as ferramentas e técnicas atuais não levam em cons...
Ver publicação : SATT: Tailoring Code Metric Thresholds for Different Software ArchitecturesDoes test-driven development improve class design? A qualitative study on developers’ perceptions
Antecedentes: Os desenvolvedores comumente afirmam que escrever testes unitários melhora a qualidade interna de um software, além de ter um efeito mais óbvio na qualidade e...
Ver publicação : Does test-driven development improve class design? A qualitative study on developers’ perceptionsImproving Code Quality on Automated Tests of Web Applications: A Set of Patterns
Existem diferentes níveis de testes automatizados, como unidade, integração ou sistema testando. Ao lidar com aplicações web, o ato de escrever testes automatizados geralme...
Ver publicação : Improving Code Quality on Automated Tests of Web Applications: A Set of PatternsPreparing for a Test Driven Development Session
O desenvolvimento orientado a testes (TDD) é uma técnica de desenvolvimento usada para projetar classes em um sistema de software, primeiro criando testes antes de implemen...
Ver publicação : Preparing for a Test Driven Development SessionAre the Methods in Your Data Access Objects (DAOs) in the Right Place? A Preliminary Study
Isolar o código que trata da infraestrutura do sistema do código que trata das regras de domínio é uma boa prática ao desenvolver aplicativos. O código que lida com o banco...
Ver publicação : Are the Methods in Your Data Access Objects (DAOs) in the Right Place? A Preliminary StudyMetricMiner: Supporting Researchers in Mining Software Repositories
Pesquisadores utilizam técnicas de repositório de software de mineração (MSR) para estudar engenharia de software de forma empírica, por meio de análise de artefatos, como ...
Ver publicação : MetricMiner: Supporting Researchers in Mining Software RepositoriesWhat Do the Asserts in a Unit Test Tell Us about Code Quality? A Study on Open Source and Industrial Projects
Os testes de unidade e o código de produção estão intrinsecamente conectados. Uma classe fácil de testar geralmente apresenta características desejáveis, como baixo acoplam...
Ver publicação : What Do the Asserts in a Unit Test Tell Us about Code Quality? A Study on Open Source and Industrial ProjectsIncreasing Learning in an Agile Environment: Lessons Learned in an Agile Team
O aprendizado é uma parte importante do processo de desenvolvimento de software. Há muitas vantagens para os desenvolvedores dispostos a aprender: maior qualidade interna e...
Ver publicação : Increasing Learning in an Agile Environment: Lessons Learned in an Agile TeamMost common mistakes in test-driven development practice: Results from an online survey with developers
O desenvolvimento orientado a testes (TDD) é uma prática de desenvolvimento de software que supostamente leva a melhor qualidade e menos defeitos no código. TDD é uma práti...
Ver publicação : Most common mistakes in test-driven development practice: Results from an online survey with developersNenhum conteúdo encontrado.
Tente outro termo ou escolha outra categoria.