369 research outputs found

    Improving Software Project Health Using Machine Learning

    Get PDF
    In recent years, systems that would previously live on different platforms have been integrated under a single umbrella. The increased use of GitHub, which offers pull-requests, issue trackingand version history, and its integration with other solutions such as Gerrit, or Travis, as well as theresponse from competitors, created development environments that favour agile methodologiesby increasingly automating non-coding tasks: automated build systems, automated issue triagingetc. In essence, source-code hosting platforms shifted to continuous integration/continuousdelivery (CI/CD) as a service. This facilitated a shift in development paradigms, adherents ofagile methodology can now adopt a CI/CD infrastructure more easily. This has also created large,publicly accessible sources of source-code together with related project artefacts: GHTorrent andsimilar datasets now offer programmatic access to the whole of GitHub. Project health encompasses traceability, documentation, adherence to coding conventions,tasks that reduce maintenance costs and increase accountability, but may not directly impactfeatures. Overfocus on health can slow velocity (new feature delivery) so the Agile Manifestosuggests developers should travel light — forgo tasks focused on a project health in favourof higher feature velocity. Obviously, injudiciously following this suggestion can undermine aproject’s chances for success. Simultaneously, this shift to CI/CD has allowed the proliferation of Natural Language orNatural Language and Formal Language textual artefacts that are programmatically accessible:GitHub and their competitors allow API access to their infrastructure to enable the creation ofCI/CD bots. This suggests that approaches from Natural Language Processing and MachineLearning are now feasible and indeed desirable. This thesis aims to (semi-)automate tasks forthis new paradigm and its attendant infrastructure by bringing to the foreground the relevant NLPand ML techniques. Under this umbrella, I focus on three synergistic tasks from this domain: (1) improving theissue-pull-request traceability, which can aid existing systems to automatically curate the issuebacklog as pull-requests are merged; (2) untangling commits in a version history, which canaid the beforementioned traceability task as well as improve the usability of determining a faultintroducing commit, or cherry-picking via tools such as git bisect; (3) mixed-text parsing, to allowbetter API mining and open new avenues for project-specific code-recommendation tools

    Tuple-based morphisms for interoperability establishment of financial information models

    Get PDF
    Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para obtenção do grau de Mestre em Engenharia Electrotécnica e ComputadoresThe current financial crisis has demonstrated that there is a need for financial accounting data in a format which can be rapidly analyzed and exchanged. The appearance of XBRL in 2000 has helped create a ‘de facto’ standard data format for the exchange of financial information. However, XBRL by itself is not capable of ensuring a common semantic for the exchange of accounting information. Additionally, the existence of different accounting standards in different countries is a hindrance to efficient analysis and evaluation of companies by international analysts or investors. Therefore, there is a need to not only use a more advanced data format, but also for tools which can facilitate the exchange of accounting data, in particular when different accounting standards are used. This dissertation presents a tuple-based semantic and structural mapping for interoperability establishment of financial information models based on the use of ontologies and a ‘Communication Mediator’. It allows the mapping of accounting concepts of different accounting standards to be stored in the ‘Communication Mediator’. The mapping stored contains an ATL code expression, which with the aid of model transformation tools, can be utilized to perform the mapping between two different accounting models

    Automated Test Case Generation from Domain-Specific High-Level Requirement Models

    Get PDF
    One of the most researched aspects of the software engineering process is the verification and validation of software systems using various techniques. The need to ensure that the developed software system addresses its intended specifications has led to several approaches that link the requirements gathering and software testing phases of development. This thesis presents a framework that bridges the gap between requirement specification and testing of software using domain-specific modelling concepts. The proposed modelling notation, High-Level Requirement Modelling Language (HRML), addresses the drawbacks of Natural Language (NL) for high-level requirement specifications including ambiguity and incompleteness. Real-time checks are implemented to ensure valid HRML specification models are utilised for the automated test cases generation. The type of HRML requirement specified in the model determines the approach to be employed to generate corresponding test cases. Boundary Value Analysis and Equivalence Partitioning is applied to specifications with predefined range values to generate valid and invalid inputs for robustness test cases. Structural coverage test cases are also generated to satisfy the Modified Condition/Decision Coverage (MC/DC) criteria for HRML specifications with logic expressions. In scenarios where the conditional statements are combined with logic expressions, the MC/DC approach is extended to generate the corresponding tests cases. Evaluation of the proposed framework by industry experts in a case study, its scalability, comparative study and the assessment of its learnability by non-experts are reported. The results indicate a reduction in the test case generation process in the case study, however non-experts spent more time in modelling the requirement in HRML while the time taken for test case generation is also reduced

    Architecting Human Operator Trust in Automation to Improve System Effectiveness in Multiple Unmanned Aerial Vehicles (UAV)

    Get PDF
    Current Unmanned Aerial System (UAS) designs require multiple operators for each vehicle, partly due to imperfect automation matched with the complex operational environment. This study examines the effectiveness of future UAS automation by explicitly addressing the human/machine trust relationship during system architecting. A pedigreed engineering model of trust between human and machine was developed and applied to a laboratory-developed micro-UAS for Special Operations. This unprecedented investigation answered three primary questions. Can previous research be used to create a useful trust model for systems engineering? How can trust be considered explicitly within the DoD Architecture Framework? Can the utility of architecting trust be demonstrated on a given UAS architecture? By addressing operator trust explicitly during architecture development, system designers can incorporate more effective automation. The results provide the Systems Engineering community a new modeling technique for early human systems integration

    Enhancing the test and evaluation process: implementing agile development, test automation, and model-based systems engineering concepts

    Get PDF
    2020 Fall.Includes bibliographical references.With the growing complexity of modern systems, traditional testing methods are falling short. Test documentation suites used to verify the software for these types of large, complex systems can become bloated and unclear, leading to extremely long execution times and confusing, unmanageable test procedures. Additionally, the complexity of these systems can prevent the rapid understanding of complicated system concepts and behaviors, which is a necessary part of keeping up with the demands of modern testing efforts. Opportunities for optimization and innovation exist within the Test and Evaluation (T&E) domain, evidenced by the emergence of automated testing frameworks and iterative testing methodologies. Further opportunities lie with the directed expansion and application of related concepts such as Model-Based Systems Engineering (MBSE). This dissertation documents the development and implementation of three methods of enhancing the T&E field when applied to a real-world project. First, the development methodology of the system was transitioned from Waterfall to Agile, providing a more responsive approach when creating new features. Second, the Test Automation Framework (TAF) was developed, enabling the automatic execution of test procedures. Third, a method of test documentation using the Systems Modeling Language (SysML) was created, adopting concepts from MBSE to standardize the planning and analysis of test procedures. This dissertation provides the results of applying the three concepts to the development process of an airborne Electronic Warfare Management System (EWMS), which interfaces with onboard and offboard aircraft systems to receive and process the threat environment, providing the pilot or crew with a response solution for the protection of the aircraft. This system is representative of a traditional, long-term aerospace project that has been constantly upgraded over its lifetime. Over a two-year period, this new process produced a number of qualitative and quantitative results, including improving the quality and organization of the test documentation suite, reducing the minimum time to execute the test procedures, enabling the earlier identification of defects, and increasing the overall quality of the system under test. The application of these concepts generated many lessons learned, which are also provided. Transitioning a project's development methodology, modernizing the test approach, and introducing a new system of test documentation may provide significant benefits to the development of a system, but these types of process changes must be weighed against the needs of the project. This dissertation provides details of the effort to improve the effectiveness of the T&E process on an example project, as a framework for possible implementation on similar systems

    Alaska Majestic Lodge Project

    Get PDF
    Presented to the Faculty of the University of Alaska Anchorage in Partial Fulfillment of the Requirements for the Degree of MASTER OF SCIENCEThe Alaska Majestic Lodge Project proposed to deliver a remote wilderness fishing lodge business plan. The project proposal was derived from a business opportunity that entailed capitalizing on a niche in a sport fishing market in the Becharof National Wildlife Refuge. When in operation, the business is expected to be the only 100% Alaskan Native owned lodge in the region and shall provide services for up to two hundred people seasonally from May to October. The significance of the project can be demonstrated in reviewing the summer visitor year of 2011. Nearly 1.2 million Alaskan tourists spent an estimated 1.5billionintheState.In2013thevisitorvolumeincreasedto1.96millionpeople,withariseinspendingtoabout1.5 billion in the State. In 2013 the visitor volume increased to 1.96 million people, with a rise in spending to about 1.82 billion. Southwest Alaska received nearly $93 million in the summer of 2014. The journey to capture the opportunity has shown that there is a forecasted net profit of fifty-five percent with a return on the investment of four years, assuming the lodge meets sixty percent capacity. The process undertaken to perform industry and market research allowed for the furnishing of steps necessary to deliver a business plan that incorporated the uniqueness of the business, the profitability of it and the opportunity for guests to see the region through the eyes of its indigenous people.Abstract / Key Terms / Glossary / Introduction / Literature Review / Research Methods / Results / Analysis / Conclusions / Recommendations for further research / Acknowledgements / References / Appendix A / Appendix B / Appendix C / Appendix D / Appendix

    Development of an ERP with CI/CD application, Authentication and System Auditing

    Get PDF
    Developing and maintaining software like ERPs can be challenging because of the complexity and the amount of data that these systems require maintaining. Many of the software programs can grow with weak structure, which lead to great effort to maintain, and with more probability to error. This project proposes that a development cycle that incorporates DevOps can have major bene ts, by not only removing some hassle the programmers and systems admins have with testing and deploying the system, but can also give a early feedback if the changes made into the application brings problems to the systems. The design of a CI/CD pipeline and audit logs, and the implementation in an ERP development helped get more feedback and cause of root problems, which lead to more confidence in the developers to make changes, and to escalate more quickly since the deployment is automatized.Desenvolver "software" como os ERPs podem ser difícil de manter devido à complexidade e a quantidade de dados envolvida nestes sistemas. Isto leva a que muitos destes "softwares" cresçam com uma estrutura de código fraca, o que leva a um esforço adicional para manter, e com maior probabilidade para erros. Este projeto propõe que a incorporação do conceito de DevOps no ciclo de desenvolvimento traz muitas vantagens, não só a remover algum trabalho dos programadores e dos administradores de sistemas ao ser mais fácil testar o sistema e fazer deploy do mesmo, mas também fornece uma forma de feedback mais rápida para eventuais erros. O "design" de uma pipeline CI/CD e logs para auditoria do sistema, e a respetiva implementação destes conceitos no desenvolvimento consegue dar mais feedback a problemas, o que leva a uma maior confiança dos programadores para fazer alterações, e conseguir escalar a solução mais rapidamente visto que a implantação é automatizada

    A reactive architecture for cloud-based system engineering

    Get PDF
    PhD ThesisSoftware system engineering is increasingly practised over globally distributed locations. Such a practise is termed as Global Software Development (GSD). GSD has become a business necessity mainly because of the scarcity of resources, cost, and the need to locate development closer to the customers. GSD is highly dependent on requirements management, but system requirements continuously change. Poorly managed change in requirements affects the overall cost, schedule and quality of GSD projects. It is particularly challenging to manage and trace such changes, and hence we require a rigorous requirement change management (RCM) process. RCM is not trivial in collocated software development; and with the presence of geographical, cultural, social and temporal factors, it makes RCM profoundly difficult for GSD. Existing RCM methods do not take into consideration these issues faced in GSD. Considering the state-of-the-art in RCM, design and analysis of architecture, and cloud accountability, this work contributes: 1. an alternative and novel mechanism for effective information and knowledge-sharing towards RCM and traceability. 2. a novel methodology for the design and analysis of small-to-medium size cloud-based systems, with a particular focus on the trade-off of quality attributes. 3. a dependable framework that facilitates the RCM and traceability method for cloud-based system engineering. 4. a novel methodology for assuring cloud accountability in terms of dependability. 5. a cloud-based framework to facilitate the cloud accountability methodology. The results show a traceable RCM linkage between system engineering processes and stakeholder requirements for cloud-based GSD projects, which is better than existing approaches. Also, the results show an improved dependability assurance of systems interfacing with the unpredictable cloud environment. We reach the conclusion that RCM with a clear focus on traceability, which is then facilitated by a dependable framework, improves the chance of developing a cloud-based GSD project successfully

    Overview of central banks’ in-house credit assessment systems in the euro area

    Get PDF
    Los sistemas de evaluación del crédito desarrollados internamente por los bancos centrales nacionales (ICAS) son una fuente importante de valoración del riesgo de crédito dentro del marco de los activos de garantía de política monetaria del Eurosistema. En particular, los ICAS permiten que las entidades financieras aporten los préstamos concedidos a sociedades no financieras como garantía en las operaciones crediticias en las que se instrumenta la política monetaria del Eurosistema. En este sentido, los ICAS contribuyen a que los préstamos puedan ser utilizados como colateral, dado que generalmente no son aceptados como tal en la operativa privada de repos, y benefician potencialmente en mayor medida a los bancos de tamaño mediano o pequeño que financian a las pymes. Esto último conduce no solo a una ampliación del conjunto de activos de garantía disponibles en las entidades financieras y a una mejora del mecanismo de transmisión de la política monetaria, sino también a una menor dependencia de fuentes externas de valoración del riesgo de crédito, como las agencias externas de calificación. La importancia de los ICAS se ha puesto de manifiesto en las medidas aprobadas por el Eurosistema en abril de 2020 en respuesta a la crisis del COVID-19. Dichas medidas apoyaron un mayor uso de los préstamos como activos de garantía e, indirectamente, incrementaron la importancia de los ICAS como fuente de valoración del colateral. Este documento analiza en detalle el papel de los ICAS en el contexto de las operaciones crediticias de política monetaria del Eurosistema, describiendo las guías y los requerimientos más relevantes exigidos a los ICAS en términos, entre otros factores, de la estimación de las probabilidades de impago, el papel de los modelos estadísticos frente al análisis experto, la información utilizada en el proceso de evaluación y la validación periódica de su funcionamiento. Adicionalmente, describe los principales aspectos de cada uno de los ICAS actualmente aceptados como sistema de calificación por el Eurosistema, destacando tanto sus elementos comunes como los diferenciales.The in-house credit assessment systems (ICASs) developed by euro area national central banks (NCBs) are an important source of credit risk assessment within the Eurosystem collateral framework. They allow counterparties to mobilise as collateral the loans (credit claims) granted to non-financial corporations (NFCs). In this way, ICASs increase the usability of non-marketable credit claims that are normally not accepted as collateral in private market repo transactions, especially for small and medium-sized banks that lend primarily to small and medium-sized enterprises (SMEs). This ultimately leads not only to a widened collateral base and an improved transmission mechanism of monetary policy, but also to a lower reliance on external sources of credit risk assessment such as rating agencies. The importance of ICASs is exemplified by the collateral easing measures adopted in April 2020 in response to the coronavirus (COVID-19) crisis. The measures supported the greater use of credit claim collateral and, indirectly, increased the prevalence of ICASs as a source of collateral assessment. This paper analyses in detail the role of ICASs in the context of the Eurosystem’s credit operations, describing the relevant Eurosystem guidelines and requirements in terms of, among other factors, the estimation of default probabilities, the role of statistical models versus expert analysis, input data, validation analysis and performance monitoring. It then presents the main features of each of the ICASs currently accepted by the Eurosystem as credit assessment systems, highlighting similarities and differences
    • …
    corecore