jehanweerasuriya/uni-ai-dataset huggingface dataset:
Software engineering and formal methods
Authors: Mike Hinchey, Michael Jackson, Patrick Cousot, Byron Cook, Jonathan P. Bowen, Tiziana Margaria
Published in: Communications of the ACM (2008-08-27)

The answer to software reliability concerns may lie in formal methods.
Software as Capital: An Economic Perspective on Software Engineering
Authors: Howard Baetjer
Published in:  (1997-10-27)

From the Publisher: Looks at software development through the eyes of a capital theorist, an economist fascinated by the constant evolution of new and better tools and processes. It asks, what is really happening in software development at the concept level? Why has programming practice evolved as it has? Why are certain tools and methodologies superior to others? What will it take to bring dramatic improvement to the industry? Answers lie in capital theory and the evolution of capital goods. The concept that designing capital goods is a social learning process leads to interesting conclusions about software process models and methodologies. The book examines the main failing of the software industry when compared to other industries: the absence of an extensive division of labor for software components. It sets out the reasons for the problem, an outline for the solution, and the benefits that will result from its solution.
Towards a software engineering approach to Web site development
Authors: Francesco Coda, Carlo Ghezzi, Giovanni Vigna, Franca Garzotto
Published in:  (1998-04-16)

The World Wide Web (WWW) has become "the" global infrastructure for delivering information and services. The demands and expectations of information providers and consumers are pushing WWW technology towards higher-level quality of presentation, including active contents and improved usability of the hypermedia distributed infrastructure. This technological evolution, however, is not supported by adequate Web design methodologies. Web site development is usually carried out without following a well-defined process and lacks suitable tool support. In addition, Web technologies are quite powerful but rather low-level and their semantics is often left largely unspecified. As a consequence, understanding the conceptual structure of a complex Web site and managing its evolution are complex and difficult tasks. The approach we advocate here is based on sound software engineering principles. The Web site development process goes through requirements analysis, design, and implementation in a high-level language. We define an object-oriented modeling framework, called WOOM, which provides constructs and abstractions for a high-level implementation of a Web site. An important feature of WOOM is that it clearly separates the data that are presented through the site from the context in which the user accesses such data. This feature not only enhances separation of concerns in the design stage, but also favors its subsequent evolution. The paper provides a view of the approach and of its current prototype implementation.
Software Engineering : A Practitioner's Approach
Authors: Roger S. Pressman, Bruce R. Maxim
Published in:  (1997-01-01)

For over 20 years, this has been the best-selling guide to software engineering for students and industry professionals alike. This seventh edition features a new part four on web engineering, which presents a complete engineering approach for the analysis, design and testing of web applications.
Situation Analytics: A Foundation for a New Software Engineering Paradigm
Authors: Carl K. Chang
Published in: Computer (2016-01-01)

Advances in cognitive science along with modern-day smart technologies and software services that take into account our mental state will enable a software industry that is poised to meet customers' needs on the fly in new and truly individualized ways.
Software engineering education: a modest proposal
Authors: Thomas B. Hilburn
Published in: IEEE Software (1997-01-01)

For the profession to advance, software engineering education must improve. The author proposes a conceptual model for achieving this that is founded on the triad of people, process, and technology. He then outlines a sample curriculum based on his model.
Software Engineering with Java
Authors: Stephen R. Schach
Published in:  (1996-10-24)

From the Publisher: This book is based on the same author's very successful book CLASSICAL AND OBJECT-ORIENTEDSOFTWARE ENGINEERING,3rd edition. While it stresses the essentials of software engineering including in-depth coverage of the Capability Maturity Model,CASE,and metrics,it does so using the language Java instead of C++. This text is appropriate for junior,senior,or first-year graduate courses in Software Engineering,Software Analysis and Design,Software Development,Advanced Programming,and Systems Analysis.
Software Engineering: An Idea Whose Time Has Come and Gone?
Authors: Tom DeMarco
Published in: IEEE Software (2009-06-25)

Certain principles long considered fundamental to software engineering are examined and found wanting.
Evaluating an Educational Escape Room Conducted Remotely for Teaching Software Engineering
Authors: Aldo Gordillo, Daniel López-Fernández, Sonsoles López‐Pernas, Juan Quemada
Published in: IEEE Access (2020-01-01)

With the rise of distance learning, new challenges have emerged for educators. Among these challenges, developing effective and motivating group activities for students in the remote classroom is one of the top priorities to be addressed. According to existing literature, educational escape rooms have proven to be engaging and effective learning activities when conducted face-to-face. However, no prior research has analyzed the instructional effectiveness of these activities when they are conducted remotely. Furthermore, none of the educational escape rooms reported in the literature has been designed for teaching software modeling. This article analyzes an educational escape room conducted remotely in a software engineering fundamentals course for teaching software modeling. A total of three evaluation instruments were used: a pre-test and a post-test to measure students' learning gains, a questionnaire to collect students' perceptions, and a web platform for automatically gathering data on students' interactions. The contribution of this article is two-fold. On the one hand, it provides, for the first time, evidence that remote educational escape rooms can be effective learning activities. On the other hand, it provides, also for the first time, proof that educational escape rooms are effective and engaging activities for teaching software modeling.
Kieker: A monitoring framework for software engineering research
Authors: Wilhelm Hasselbring, André van Hoorn
Published in: Software Impacts (2020-06-10)

Application-level monitoring and dynamic analysis of software systems are a basis for various tasks in software engineering research, such as performance evaluation and reverse engineering. The Kieker framework provides monitoring, analysis, and visualization support for these purposes. It commenced in 2006, and grew toward a high-quality open-source software that has been employed in a variety of software engineering research projects over the last decade. Several research groups constitute the open-source community to advance the Kieker framework. In this paper, we review Kieker's history, development, and impact both in research and technology transfer with industry.
The roots of software engineering
Authors: Michael S. Mahoney
Published in: Centrum Wiskunde & Informatica (CWI), the national research institute for mathematics and computer science in the Netherlands (1990-12-01)

At the International Conference on the History of Computing held in Los Alamos in 1976, R.W. Hamming placed his proposed agenda in the title of his paper: We Would Know What They Thought When They Did It. He pleaded for a history of computing that pursued the contextual development of ideas, rather than merely listing names, dates, and places of firsts. Moreover, he exhorted historians to go beyond the documents to informed speculation about the results of undocumented practice. What people actually did and what they thought they were doing may well not be accurately reflected in what they wrote and what they said they were thinking. His own experience had taught him that.
0006/2011 - Threats to Validity in Search-based Software Engineering Empirical Studies
Authors: Márcio de Oliveira Barros, Arilo Claudio Dias‐Neto
Published in: RelaTe-DIA (2011-01-01)

O uso de experimentos para avaliar e comparar algoritmos tem sido uma tendencia recente na area de computacao. O mesmo pode ser dito para a area de engenharia de software, onde os principais estudos experimentais nesta area foram publicados, normalmente, a menos de vinte anos. Experimentos em search-based software engineering (SBSE), ou engenharia de software baseada em buscas, compartilham as limitacoes provenientes da imaturidade de ambas suas areas de origem (engenharia de software e otimizacao combinatoria). Uma dessas limitacoes esta relacionada a carencia de uma lista de ameacas a validade que podem afetar experimentos em SBSE. Neste trabalho, e proposta uma lista de ameacas a validade para experimentos em SBSE baseada em um framework proposto na area de Engenharia de Software Experimental (ESE). Ainda e apresentada uma abordagem sistematica para avaliar quao abrangentes um artigo cientifico e em relacao a descricao de tais ameacas. Ao aplicar esta abordagem a artigos cientificos publicados nas duas primeiras edicoes do International Symposium on Search-Based Software Engineering (SSBSE), percebeu-se que as principais limitacoes do projeto experimental dos experimentos descritos nesses artigos estao relacionadas a descricao de ameacas a validade internas, externas e de constructo, enquanto que ameacas a validade de conclusao sao mais bem abordadas por estes artigos.
COGNITIVE SUPPORT IN SOFTWARE ENGINEERING TOOLS: A DISTRIBUTED COGNITION FRAMEWORK
Authors: Andrew Walenstein
Published in:  (2002-01-01)

Software development remains mentally challenging despite the continual advancement of training, techniques, and tools. Because completely automating software development is currently impossible, it makes sense to seriously consider how tools can improve the mental activities of developers apart from automating them away. Such mental assistance can be called &amp;quot;cognitive support&amp;quot;. Understanding and developing cognitive support in software engineering tools is an important research issue but, unfortunately, at the moment our theoretical foundations for it are inadequately developed. Furthermore, much of the relevant research has occurred outside of the software engineering community, and is therefore not easily available to the researchers who typically develop software engineering tools. Tool evaluation, comparison, and development are consequently impaired. The present work introduces a theoretical framework intended to seed further systematic study of cognitive support in the field of software engineering tools. This theoretical framework, called RODS, imports ideas and methods from a field of cognitive science called &amp;quot;distributed cognition&amp;quot;. The crucial concept in RODS is that cognitive support can be understood and explained in terms of the computational advantages that are conferred when cognition is redistributed between software developer and their tools and environment. The name RODS, in fact, comes from the four cognitive support principles the framework describes. With RODS in hand, it is possible to interpret good design in terms of how cognition is beneficially rearranged. To make such analyses fruitful, a cognitive modeling framework called HASTI is also proposed. The main purpose of HASTI is to provide an analysis of ways of modifying developer cognition usi...
Software engineering in the twenty-first century
Authors: Michael Lowry
Published in: AI Magazine (1992-09-25)

There is substantial evidence that AI technology can meet the requirements of the large potential market that will exist for knowledge-based software engineering at the turn of the century. In this article, which forms the conclusion to the AAAI Press book Automating Software Design, edited by Michael Lowry and Robert McCartney, Michael Lowry discusses the future of software engineering, and how knowledge-based software engineering (KBSE) progress will lead to system development environments. Specifically, Lowry examines how KBSE techniques promote additive programming methods and how they can be developed and introduced in an evolutionary way.
The software rush hour (software engineering)
Authors: N.C. Olsen
Published in: IEEE Software (1993-09-01)

The author states that, in his experience, software engineering most resembles a dynamically overloaded queue or rush-hour traffic jam. A change measurement model that is unique because it puts the development process in the context of the larger business enterprise and partitions work into dynamic tangible activities, separating work demand from work services, is proposed. Because the change-management model is based on the concept of a dynamically overloaded queue, existing mathematical approximations can be used to estimate gross process behavior. Specifically, the author proposes to use fluid-approximation models to mathematically simulate the software process as a dynamically overloaded queue, applying estimation techniques that are normally used to analyze rush-hour traffic delays.&gt;
Software Engineering: The Future of a Profession
Authors: Donald Musa
Published in: IEEE Software (1985-01-01)

Increasing and diverse pressures, manpower shortages, and technology transfer problems all plague the growing software engineering profession. Industry, government, education, and the professional society together must help.
Large-scale software engineering questions – expert opinion or empirical evidence?
Authors: Barbara Kitchenham, David Budgen, Pearl Brereton, Mark Turner, Stuart Charters, Stephen Linkman
Published in: IET Software (2007-10-19)

A recent report on the state of the UK information technology (IT) industry based most of its findings and recommendations on expert opinion. It is surprising that the report was unable to incorporate more empirical evidence. This paper aims to assess whether it is necessary to base IT industry and academic policy on expert opinion rather than on empirical evidence. Current evidence related to the rate of project failure is identified and the methods used to accumulate that evidence discussed. This shows that the report failed to identify relevant evidence and most evidence related to project failure is based on convenience samples. The status of empirical research in the computing disciplines is reviewed showing that empirical evidence covers a restricted range of subjects and seldom addresses the ‘Society’ level of analysis. Other more robust designs that would address large-scale IT questions are discussed. We recommend adopting a more systematic approach to accumulating and reporting evidence. In addition, we propose using quasi-experimental designs developed and used in the social sciences to improve the methodology used for undertaking large-scale empirical studies in software engineering.
Wisdom: A Software Engineering Method for Small Software Development Companies
Authors: Nuno Nunes, João Falcão e Cunha
Published in: IEEE Software (2000-09-01)

Wisdom is a new software engineering method addressing the specific needs of small teams that develop and maintain interactive systems. Because Wisdom defines a process, notation, and project philosophy, it can smoothly be applied in small companies leveraging on their communication, speed, and flexibility.
Ginger2: an environment for computer-aided empirical software engineering
Authors: Koji Torii, Ken Matsumoto, Kumiyo Nakakoji, Y. Takada, Shingo Takada, Kazuyuki Shima
Published in: IEEE Transactions on Software Engineering (1999-01-01)

Empirical software engineering can be viewed as a series of actions to obtain knowledge and a better understanding about some aspects of software development, given a set of problem statements in the form of issues, questions or hypotheses. Experience has made us aware of the criticality of integrating the various types of data that are collected and analyzed as well as the criticality of integrating the various types of activities that take place, such as experiment design and the experiment itself. This has led us to develop a Computer-Aided Empirical Software Engineering (CAESE) framework to support the empirical software engineering lifecycle. The paper first presents the CAESE framework that consists of three elements: (1) a process model for the "lifecycle" of empirical software engineering studies, including needs analysis, experiment design, actual experimentation, and analyzing and packaging results; (2) a model that helps empirical software engineers decide how to look at the "world" to be studied in a coherent manner; (3) an architecture, based on which CAESE environments can be built, consisting of tool sets for each phase of the process model, a process management mechanism, and the two types of integration mechanism that are vital for handling multiple types of data: data integration and control integration. Next, the paper describes the Ginger2 environment as an instantiation of our framework. It concludes with reports on case studies using Ginger2, which dealt with a variety of empirical data types including mouse and keystrokes, eye traces, 3D movement, skin resistance level, and videotaped data.
Industry-Academia research collaboration in software engineering: The Certus model
Authors: Dusica Marijan, Arnaud Gotlieb
Published in: Information and Software Technology (2020-11-02)

Research collaborations between software engineering industry and academia can provide significant benefits to both sides, including improved innovation capacity for industry, and real-world environment for motivating and validating research ideas. However, building scalable and effective research collaborations in software engineering is known to be challenging. While such challenges can be varied and many, in this paper we focus on the challenges of achieving participative knowledge creation supported by active dialog between industry and academia and continuous commitment to joint problem solving. This paper aims to understand what are the elements of a successful industry-academia collaboration that enable the culture of participative knowledge creation. We conducted participant observation collecting qualitative data spanning 8 years of collaborative research between a software engineering research group on software V&V and the Norwegian IT sector. The collected data was analyzed and synthesized into a practical collaboration model, named the Certus Model. The model is structured in seven phases, describing activities from setting up research projects to the exploitation of research results. As such, the Certus model advances other collaborations models from literature by delineating different phases covering the complete life cycle of participative research knowledge creation. The Certus model describes the elements of a research collaboration process between researchers and practitioners in software engineering, grounded on the principles of research knowledge co-creation and continuous commitment to joint problem solving. The model can be applied and tested in other contexts where it may be adapted to the local context through experimentation.
Software engineering for robotics [From the Guest Editors]
Authors: Davide Brugali, Erwin Prassler
Published in: IEEE Robotics & Automation Magazine (2009-03-01)

This special issue on software engineering (SE) for robotics captures a snapshot of current research issues and state-of-the-practice in robotic software development, a topic that has recently received increasing attention from the robotics community, thanks to some popular initiatives such as the Microsoft move into robotics.
Burnout in software engineering: A systematic mapping study
Authors: Tien Rahayu Tulili, Andrea Capiluppi, Ayushi Rastogi
Published in: Information and Software Technology (2022-11-25)

Burnout is a work-related syndrome that, similar to many occupations, influences most software developers. For decades, studies in software engineering(SE) have explored the causes of burnout and its consequences among IT professionals. This paper is a systematic mapping study (SMS) of the studies on burnout in SE, exploring its causes and consequences, and how it is studied (e.g., choice of data). We conducted a systematic mapping study and identified 92 relevant research articles dating as early as the early 1990s, focusing on various aspects and approaches to detect burnout in software developers and IT professionals. Our study shows that early research on burnout was primarily qualitative, which has steadily moved to more quantitative, data-driven in the last decade. The emergence of machine learning (ML) approaches to detect burnout in developers has become a de-facto standard. Our study summarises what we now know about burnout, how software artifacts indicate burnout, and how machine learning can help its early detection. As a comprehensive analysis of past and present research works in the field, we believe this paper can help future research and practice focus on the grand challenges ahead and offer necessary tools.
Artificial Intelligence and Software Engineering: Status and Future Trends.
Authors: Jörg Rech, Klaus‐Dieter Althoff
Published in:  (2004-01-01)

S.5-11 : Ill., Lit.
Automotive software engineering
Authors: Manfred Broy
Published in:  (2003-05-03)

The amount of software in cars grows exponentially. Driving forces of this development are cheaper and more powerful hardware and the demand for innovations by new functions. The rapid increase of software and software based functionality brings various challenges (see [21], [23], [25], [26]) for the automotive industries, for their organization, key competencies, processes, methods, tools, models, product structures, division of work, logistics, maintenance, and long term strategies. From a software engineering perspective, the automotive industry is an ideal and fascinating application domain for advanced techniques. Although the automotive industry may adopt general results and solutions from the software engineering body of knowledge gained in other domains, the specific constraints and domain specific requirements in the automotive industry ask for individual solutions and bring various challenges for automotive software engineering. In cars we find literally all interesting problems and challenging issues of software and systems engineering.
International Journal of Software Engineering
Authors: Publisher Nejmeddine Tagoug
Published in: ADVANCED SCIENCES INDEX (2014-11-14)

The International Journal of Software Engineering(IJSE) is a peer-reviewed, open access journal meant to publish original and significant results and articles in all areas of software engineering research.The aim of this Journal is to bring together researchers and practitioners from academia and industry to focus on the understanding of Modern Software Engineering concepts and establishing new collaborations in this area. Topic covered : Software Development. Requirements Engineering. Software Processes. Entreprise Software Technologies. Software Engineering Methods and Techniques. Software Testing. Software Reliability and Metrics. System Modeling. Component Based Software Engineering. Software Architecture and Design. Agile Software Techniques. Software Project Management. Software Reuse. Verification and Validation. Quality Management.