6 research outputs found

    An Empirical Investigation of Code Smell ‘Deception’ and Research Contextualisation through Paul’s Criteria

    Get PDF
    Code smells represent code decay and as such should be eradicated from a system to prevent future maintenance problems. A range of twenty smells described by Fowler and Beck each require varying numbers and combinations of refactorings in order to be eradicated — but exactly how many are needed when we consider related, nested refactorings is unclear. In this paper, we enumerate these refactorings when categorised according to Mantyla’s smell taxonomy. We then show how, ironically, the ‘smelliest’ of smells (and hence most difficult to eradicate) are actually those best understood by developers. So, code smells are not only unpleasant to have around, but are deceptive in their nature and make-up. The study is thus a warning against attempting to eradicate what are seemingly easily eradicated smells — these are often the smells the developer needs to be most wary of. Finally, we incorporate the answers to six questions suggested by Paul for ‘How to write a paper properly’ to position the paper in a reflective way

    Examining the Influence of Adoptability, Alignment, and Agility Approaches on the Sustainable Performance of Aviation Industry: An Empirical Investigation of Supply Chain Perspective

    Get PDF
    In a continuously changing environment, the aviation sector faces the challenge of balancing adaptability to technological changes, alignment with environmental and social considerations, and agility in responding to unforeseen challenges. Keeping in view these challenges this study has explored the impact of the adaptability, alignment, and agility approaches on the sustainable performance of the aviation industry operating in Pakistan. Applying the empirical and quantitative methods the data has been collected from the professionals of the aviation industry supply chain and operations field and assessed the influence of Adoptability, Alignment, and Agility on sustainable performance indicators, including environmental stewardship, social responsibility, and economic viability. The SmartPls, structural equation model (SEM) has been applied to scrutinize the path relationships of variables. Overall the findings reveal a nuanced landscape, and it shows that traditional Adoptability may not directly impact Economic Performance (ECP), but it significantly influences Environmental (ENP), Operational (OPP), and Social Performance (SOP). Therefore, the Agility and Alignment strategies exhibit a consistent positive impact across all performance dimensions and emphasize their pivotal role in fostering holistic sustainability within the aviation sector. This study recommends that the sustainable aviation industry advocates for tailored strategies to address economic sustainability concerns, emphasizing the need for organizations to readjust their approaches. The study also highlights the vibrant nature of the aviation industry, urging continuous monitoring, evaluation, and adaptation of strategies to align with evolving sustainability paradigms. The purpose of this study and its results is to provide valuable insights for industry practitioners, policymakers, and researchers, guiding the development of strategic frameworks to enhance the long-term sustainability of the aviation industry logistics and supply chain management

    On the real world practice of Behaviour Driven Development

    Get PDF
    Surveys of industry practice over the last decade suggest that Behaviour Driven Development is a popular Agile practice. For example, 19% of respondents to the 14th State of Agile annual survey reported using BDD, placing it in the top 13 practices reported. As well as potential benefits, the adoption of BDD necessarily involves an additional cost of writing and maintaining Gherkin features and scenarios, and (if used for acceptance testing,) the associated step functions. Yet there is a lack of published literature exploring how BDD is used in practice and the challenges experienced by real world software development efforts. This gap is significant because without understanding current real world practice, it is hard to identify opportunities to address and mitigate challenges. In order to address this research gap concerning the challenges of using BDD, this thesis reports on a research project which explored: (a) the challenges of applying agile and undertaking requirements engineering in a real world context; (b) the challenges of applying BDD specifically and (c) the application of BDD in open-source projects to understand challenges in this different context. For this purpose, we progressively conducted two case studies, two series of interviews, four iterations of action research, and an empirical study. The first case study was conducted in an avionics company to discover the challenges of using an agile process in a large scale safety critical project environment. Since requirements management was found to be one of the biggest challenges during the case study, we decided to investigate BDD because of its reputation for requirements management. The second case study was conducted in the company with an aim to discover the challenges of using BDD in real life. The case study was complemented with an empirical study of the practice of BDD in open source projects, taking a study sample from the GitHub open source collaboration site. As a result of this Ph.D research, we were able to discover: (i) challenges of using an agile process in a large scale safety-critical organisation, (ii) current state of BDD in practice, (iii) technical limitations of Gherkin (i.e., the language for writing requirements in BDD), (iv) challenges of using BDD in a real project, (v) bad smells in the Gherkin specifications of open source projects on GitHub. We also presented a brief comparison between the theoretical description of BDD and BDD in practice. This research, therefore, presents the results of lessons learned from BDD in practice, and serves as a guide for software practitioners planning on using BDD in their projects

    Impacto de las características personales de los programadores en la efectividad de Test-Driven-Development (TDD)

    Get PDF
    Contexto: El desarrollo dirigido por pruebas (Test Driven Development - TDD), es una estrategia de programación propuesta por Kent Beck (Beck,2002) como alternativa al desarrollo de software tradicional, ha sido una técnica ampliamente estudiada en la ingeniería de software experimental, especialmente con la realización de estudios que intentan demostrar su efectividad en términos de calidad del código y productividad de los programadores. Objetivos: En este trabajo de tesis doctoral, se propone la realización de una familia de experimentos (Basili,1999), para determinar la influencia de factores personales en la Calidad externa y en la Productividad al aplicar TDD en comparación con el desarrollo iterativo con pruebas al final (ITLD). Metodología: Se realizó una serie de 7 estudios experimentales en el ámbito académico e industrial, partiendo de un experimento tomado como base. Posteriormente los resultados fueron sintetizados mediante un meta- análisis tipo Individual Patient Data (IPD) con descomposición en subgrupos. Resultados: Se obtuvieron diferentes resultados en cuanto a la influencia de los factores humanos sobre la Calidad externa y Productividad, dependiendo del tipo de reclutamiento de los participantes que fueron agrupados como voluntarios (volunteer), no voluntarios (conscripted) y aquellos que participaron de los experimentos como un curso de entrenamiento (Training course), o también agrupados como profesionales y estudiantes. la Calidad externa no produjo diferencias significativas al aplicar TDD, aunque en ciertos casos hubo mejoras al aplicar TDD con estudiantes que participaron como conscripted, pero en otros casos la calidad externa decreció cuando fueron estudiantes que participaron como voluntarios. Por otra parte, los desarrolladores que usaron TDD fueron más productivos que aquellos que usaron ITLD. La experiencia en el uso de herramientas de prueba produjo resultados significativos para la Calidad externa y Productividad, aunque esto depende del tipo de reclutamiento y del carácter profesional o estudiante. Así mismo, la experiencia en Java incidió significativamente en la Calidad externa y el conocimiento del entorno Eclipse en la Productividad. La edad y el grado de completitud o cantidad de código entregado por los participantes al realizar las tareas experimentales fue un factor que influyó significativamente en la Productividad, independientemente de la técnica utilizada. Otro resultado obtenido es que conforme los participantes profesionales tienen mayor edad, su grado de completitud fue disminuyendo, aunque existió cierto interés por realizar un mejor trabajo al aplicar TDD. Conclusiones: Creemos que uno de los principales aportes de nuestro estudio, que lo consideramos de carácter exploratorio, es haber comprobado cómo la motivación, en este caso determinada por el tipo de reclutamiento, incide en el interés de los sujetos sean profesionales o estudiantes al realizar las tareas experimentales y por tanto influye en su productividad. También observamos que la edad es otro factor humano que debe ser objeto de una mayor investigación en trabajos futuros.Facultad de Informátic
    corecore