41 research outputs found

    Full Stack Is Not What It Used to Be

    Get PDF
    Peer reviewe

    Understanding the Relations Between Iterative Cycles in Software Engineering

    Get PDF
    Iterations are one of the most successful mechanisms in software development to ensure that the resulting system is satisfactory. Due to its strengths, various kinds of iterations have been integrated to software development with varying goals. In this paper, we consider different types of iterations related to software development, including prototyping, incremental development, sprints as in e.g. Scrum, and iterations as defined in Lean Startup. The goal is to understand the relations between the types of iterations, and to find out what kind of similarities and differences they have with each other. As a result, we find that while the goals are different, it is possible for the iterations to coexist, so that one form of iteration is used as a tool to complete the goals of another

    Collecting data to FIWARE

    Get PDF
    publishedVersio

    Towards Liquid Web Applications

    Get PDF
    Abstract. As the complexity of rich Web applications grows together with the power and number of Web browsers, the next Web engineering challenge to be addressed is to design and deploy Web applications to make coherent use of all devices. As users nowadays operate multiple personal computers, smart phones, tablets, and computing devices embedded into home appliances or cars, the architecture of current Web applications needs to be redesigned to enable what we call Liquid Software. Liquid Web applications not only can take full advantage of the computing, storage and communication resources available on all devices owned by the end user, but also can seamlessly and dynamically migrate from one device to another continuously following the user attention and usage context. In this paper we address the Liquid Software concept in the context of Web applications and survey to which extent and how current Web technologies can support its novel requirements

    Test Case Selection with Incremental ML

    Get PDF
    Context: Software projects applying continuous integration should run the tests very frequently, but often the number of test is huge and their execution takes a long time. This delays the feedback to the developer. Objective: Study if heuristic and especially incremental machine learning can help in finding an optimal test set that still finds the errors. Method: Several methods for reducing the tests were tested. Each method was applied to the example software its commit history, and the performance of the methods were compared. Results: The test set size can be radically reduced with automatic approaches. Furthermore, it was found that the incremental machine learning based test selection techniques eventually perform equally well or better than the best heuristic.Peer reviewe

    Practices for Supervising Master's Theses in Company Context : An Anti-Pattern Approach

    Get PDF
    Software Engineering (SE) university students often work part-time during their studies. In this setup the students can reform the practices of companies by transferring what they have learned to companies and correspondingly utilize what they have experienced at work in their studies. This symbiosis often continues as the students begin to work towards their thesis. The topic of the thesis relates to the problems in the company. These topics often solve a practical problem, which are not always in a perfect match with academic expectations. On the one hand the employer has certain expectations in terms of working for the company, whereas the supervising professor needs to follow the university guidelines. In this paper, we study this tension by focusing on the problems appearing in MSc thesis process in company context. We propose ways to act so that the different stakeholders - the student, the professor, and the company - reach the best possible results. We have analyzed the problems and their root causes. We have also taken the first steps toward anti-patterns for analysis and salvaging of the problems. The study is based on the authors' collective supervision experience, which covers over 1000 MSc theses, with the combined supervision experience of over 100 years.acceptedVersionPeer reviewe

    Report on FIWARE Platform

    Get PDF
    publishedVersio

    Autonomous Agents in Software Development: A Vision Paper

    Full text link
    Large Language Models (LLM) and Generative Pre-trained Transformers (GPT), are reshaping the field of Software Engineering (SE). They enable innovative methods for executing many software engineering tasks, including automated code generation, debugging, maintenance, etc. However, only a limited number of existing works have thoroughly explored the potential of GPT agents in SE. This vision paper inquires about the role of GPT-based agents in SE. Our vision is to leverage the capabilities of multiple GPT agents to contribute to SE tasks and to propose an initial road map for future work. We argue that multiple GPT agents can perform creative and demanding tasks far beyond coding and debugging. GPT agents can also do project planning, requirements engineering, and software design. These can be done through high-level descriptions given by the human developer. We have shown in our initial experimental analysis for simple software (e.g., Snake Game, Tic-Tac-Toe, Notepad) that multiple GPT agents can produce high-quality code and document it carefully. We argue that it shows a promise of unforeseen efficiency and will dramatically reduce lead-times. To this end, we intend to expand our efforts to understand how we can scale these autonomous capabilities further.Comment: 5 pages, 1 figur
    corecore