jehanweerasuriya/uni-ai-dataset huggingface dataset:
Software engineering as seen through its research literature: A study in co-word analysis
Authors: Neal S. Coulter, Ira Monarch, Suresh Konda
Published in: Journal of the American Society for Information Science (1998-01-01)

This empirical research demonstrates the effectiveness of content analysis to map the research literature of the software engineering discipline. The results suggest that certain research themes in software engineering have remained constant, but with changing thrusts. Other themes have arisen, matured, and then faded as major research topics, while still others seem transient or immature. Co-word analysis is the specific technique used. This methodology identifies associations among publication descriptors (indexing terms) from the ACM Computing Classification System and produces networks of descriptors that reveal these underlying patterns. This methodology is applicable to other domains with a supporting corpus of textual data. While this study utilizes index terms from a fixed taxonomy, that restriction is not inherent; the descriptors can be generated from the corpus. Hence, co-word analysis and the supporting software tools employed here can provide unique insights into any discipline's evolution.
Using UML : Software Engineering With Objects and Components
Authors: Perdita Stevens, Rob Pooley
Published in:  (1999-01-01)

From the Publisher: Using UMLis designed to help any developer master effective software design with UML. This new edition has been fully revised to reflect UML 1.3.Experienced modeling language instructors Perdita Stevens and Rob Pooley focus on superior design techniques, comparing the available methodologies and offering advice on when to use each. They begin by describing the software process and lifecycle, and explaining how object-orientation and component-based engineering affect the design process. Next, they review each key UML 1.3 feature, including patterns, components, concurrency, types, and more.Using UML, Revised Editioncontains extensive case studies of real-life design, including real-time systems, data-oriented, and component-based designs. The book also contains a full section addressing the wider issues related to software design, including quality, testing, and organizational management. (Previous Edition: 0-201-36067-5.)For every developer interested in mastering UML.
Exploring the intersection between software industry and Software Engineering education - A systematic mapping of Software Engineering Trends
Authors: Orges Cico, Letizia Jaccheri, Anh Nguyen‐Duc, He Zhang
Published in: Journal of Systems and Software (2020-07-13)

Software has become ubiquitous in every corner of modern societies. During the last five decades, software engineering has also changed significantly to advance the development of various types and scales of software products. In this context, Software Engineering Education plays an important role in keeping students updated with software technologies, processes, and practices that are popular in industries. We investigate from literature the extent Software Engineering Education addresses major Software Engineering Trends in the academic setting. We conducted a systematic mapping study about teaching major Software Engineering Trends in project courses. We classified 126 papers based on their investigated Software Engineering Trends, specifically Software Engineering processes and practices, teaching approaches, and the evolution of Software Engineering Trends over time. We reveal that Agile Software Development is the major trend. The other Trends, i.e., Software Implementation, Usability and Value, Global Software Engineering, and Lean Software Startup, are relatively small in the academic setting, but continuously growing in the last five years. System of Systems is the least investigated among all Trends. The study points out the possible gaps between Software Industry and Education, which implies actionable insights for researchers, educators, and practitioners.
On the reliability of mapping studies in software engineering
Authors: Claes Wohlin, Per Runeson, Paulo Anselmo da Mota Silveira Neto, Emelie Engström, Ivan Machado, Eduardo Santana de Almeida
Published in: Journal of Systems and Software (2013-05-04)

Background Systematic literature reviews and systematic mapping studies are becoming increasingly common in software engineering , and hence it becomes even more important to better understand the reliability of such studies. Objective This paper presents a study of two systematic mapping studies to evaluate the reliability of mapping studies and point out some challenges related to this type of study in software engineering. Method The research is based on an in-depth case study of two published mapping studies on software product line testing. Results We found that despite the fact that the two studies are addressing the same topic, there are quite a number of differences when it comes to papers included and in terms of classification of the papers included in the two mapping studies. Conclusions From this we conclude that although mapping studies are important, their reliability cannot simply be taken for granted. Based on the findings we also provide four conjectures that further research has to address to make secondary studies (systematic mapping studies and systematic literature reviews) even more valuable to both researchers and practitioners.
A pattern recognition approach for software engineering data analysis
Authors: Lionel Briand, Victor R. Basili, William M. Thomas
Published in: IEEE Transactions on Software Engineering (1992-01-01)

In order to plan, control, and evaluate the software development process, one needs to collect and analyze data in a meaningful way. Classical techniques for such analysis are not always well suited to software engineering data. A pattern recognition approach for analyzing software engineering data, called optimized set reduction (OSR), that addresses many of the problems associated with the usual approaches is described. Methods are discussed for using the technique for prediction, risk management, and quality evaluation. Experimental results are provided to demonstrate the effectiveness of the technique for the particular application of software cost estimation.&gt;
PLS-SEM for Software Engineering Research
Authors: Daniel Russo, Klaas-Jan Stol
Published in: ACM Computing Surveys (2021-05-03)

Software Engineering (SE) researchers are increasingly paying attention to organizational and human factors. Rather than focusing only on variables that can be directly measured, such as lines of code, SE research studies now also consider unobservable variables, such as organizational culture and trust. To measure such latent variables, SE scholars have adopted Partial Least Squares Structural Equation Modeling (PLS-SEM), which is one member of the larger SEM family of statistical analysis techniques. As the SE field is facing the introduction of new methods such as PLS-SEM, a key issue is that not much is known about how to evaluate such studies. To help SE researchers learn about PLS-SEM, we draw on the latest methodological literature on PLS-SEM to synthesize an introduction. Further, we conducted a survey of PLS-SEM studies in the SE literature and evaluated those based on recommended guidelines.
DESMET: a methodology for evaluating software engineering methods and tools
Authors: Barbara Kitchenham, Stephen Linkman, D. Law
Published in: Computing & Control Engineering Journal (1997-06-01)

DESMET was a DTI-backed project with the goal of developing and validating a methodology for evaluating software engineering methods and tools. The project identified nine methods of evaluation and a set of criteria to help evaluators select an appropriate method. Detailed guidelines were developed for three important evaluation methods: formal experiments, quantitative case studies and feature analysis evaluations. This article describes the way the DESMET project used the DESMET methodology both to evaluate the methodology itself and to provide direct assistance to the commercial organisations using it.
Changing the paradigm of software engineering
Authors: Václav Rajlich
Published in: Communications of the ACM (2006-07-25)

Software evolution, iterative, and agile development represent a fundamental departure from the previous waterfall-based paradigm of software engineering.
Ethical issues in empirical studies of software engineering
Authors: Janice Singer, Norman G. Vinson
Published in: IEEE Transactions on Software Engineering (2002-12-01)

The popularity of empirical methods in software engineering research is on the rise. Surveys, experiments, metrics, case studies, and field studies are examples of empirical methods used to investigate both software engineering processes and products. The increased application of empirical methods has also brought about an increase in discussions about adapting these methods to the peculiarities of software engineering. In contrast, the ethical issues raised by empirical methods have received little, if any, attention in the software engineering literature. This article is intended to introduce the ethical issues raised by empirical research to the software engineering research community and to stimulate discussion of how best to deal with these ethical issues. Through a review of the ethical codes of several fields that commonly employ humans and artifacts as research subjects, we have identified major ethical issues relevant to empirical studies of software engineering. These issues are illustrated with real empirical studies of software engineering.
Software Engineering Foundations: A Software Science Perspective
Authors: Yingxu Wang
Published in:  (2007-07-25)

To deal with the difficulties inherent in large-scale software development, the foundations of software engineering are yet to be explored. This comprehensive text is the first book to cover the theoretical and empirical foundations of software engineering. It provides a framework of software engineering methodologies and covers a wide range of foundations such as philosophy, informatics, and engineering economics. Self-contained and requiring only basic programming experience, this book is filled with in-depth comments, annotated references, real-world problems and heuristic questions. Software Engineering Foundations is an important book for software engineers and students alike.
A Survey on Deep Learning for Software Engineering
Authors: Yanming Yang, Xin Xia, David Lo, John Grundy
Published in: ACM Computing Surveys (2021-12-22)

In 2006, Geoffrey Hinton proposed the concept of training “Deep Neural Networks (DNNs)” and an improved model training method to break the bottleneck of neural network development. More recently, the introduction of AlphaGo in 2016 demonstrated the powerful learning ability of deep learning and its enormous potential. Deep learning has been increasingly used to develop state-of-the-art software engineering (SE) research tools due to its ability to boost performance for various SE tasks. There are many factors, e.g., deep learning model selection, internal structure differences, and model optimization techniques, that may have an impact on the performance of DNNs applied in SE. Few works to date focus on summarizing, classifying, and analyzing the application of deep learning techniques in SE. To fill this gap, we performed a survey to analyze the relevant studies published since 2006. We first provide an example to illustrate how deep learning techniques are used in SE. We then conduct a background analysis (BA) of primary studies and present four research questions to describe the trend of DNNs used in SE (BA), summarize and classify different deep learning techniques (RQ1), and analyze the data processing including data collection, data classification, data pre-processing, and data representation (RQ2). In RQ3, we depicted a range of key research topics using DNNs and investigated the relationships between DL-based model adoption and multiple factors (i.e., DL architectures, task types, problem types, and data types). We also summarized commonly used datasets for different SE tasks. In RQ4, we summarized the widely used optimization algorithms and provided important evaluation metrics for different problem types, including regression, classification, recommendation, and generation. Based on our findings, we present a set of current challenges remaining to be investigated and outline a proposed research road map highlighting key opportunities for future work.
A Comparison Between Five Models Of Software Engineering
Authors: Nabil Mohammed, Ali Munassar, A. Govardhan
Published in:  (2010-01-01)

This research deals with a vital and important issue in computer world. It is concerned with the software management processes that examine the area of software development through the development models, which are known as software development life cycle. It represents five of the development models namely, waterfall, Iteration, V-shaped, spiral and Extreme programming. These models have advantages and disadvantages as well. Therefore, the main objective of this research is to represent different models of software development and make a comparison between them to show the features and defects of each model.
Value-based software engineering
Authors: Barry Boehm
Published in: ACM SIGSOFT Software Engineering Notes (2003-03-01)

The Value-Based Software Engineering (VBSE) agenda described in the preceding article has the objectives of integrating value considerations into current and emerging software engineering principles and practices, and of developing an overall framework in which they compatibly reinforce each other. In this paper, we provide a case study illustrating some of the key VBSE practices, and focusing on a particular anomaly in the monitoring and control area: the "Earned Value Management System." This is a most useful technique for monitoring and controlling the cost, schedule, and progress of a complex project. But it has absolutely nothing to say about the stakeholder value of the system being developed. The paper introduces an example order-processing software project, and shows how the use of Benefits Realization Analysis, stake-holder value proposition elicitation and reconciliation, and business case analysis provides a framework for stakeholder-earned-value monitoring and control.
Search Based Software Engineering: A Comprehensive Analysis and Review of Trends Techniques and Applications
Authors: Mark Harman, SA Mansouri, Y Zhang
Published in:  (2009-04-01)

In the past five years there has been a dramatic increase in work on Search Based Software Engineering (SBSE), an approach to software engineering in which search based optimisation algorithms are used to address problems in Software Engineering. SBSE has been applied to problems throughout the Software Engineering lifecycle, from requirements and project planning to maintenance and re-engineering. The approach is attractive because it offers a suite of adaptive automated and semi-automated solutions in situations typified by large complex problem spaces with multiple competing and conflicting objectives. This paper provides a review and classification of literature on SBSE. The paper identifies research trends and relationships between the techniques applied and the applications to which they have been applied and highlights gaps in the literature and avenues for further research.
Software engineering as seen through its research literature: A study in co‐word analysis
Authors: Neal S. Coulter, Ira Monarch, Suresh Konda
Published in: Journal of the American Society for Information Science (1998-01-01)

This empirical research demonstrates the effectiveness of content analysis to map the research literature of the software engineering discipline. The results suggest that certain research themes in software engineering have remained constant, but with changing thrusts. Other themes have arisen, matured, and then faded as major research topics, while still others seem transient or immature. Co-word analysis is the specific technique used. This methodology identifies associations among publication descriptors (indexing terms) from the ACM Computing Classification System and produces networks of descriptors that reveal these underlying patterns. This methodology is applicable to other domains with a supporting corpus of textual data. While this study utilizes index terms from a fixed taxonomy, that restriction is not inherent; the descriptors can be generated from the corpus. Hence, co-word analysis and the supporting software tools employed here can provide unique insights into any discipline's evolution.
The obstacles and myths of usability and software engineering
Authors: Ahmed Seffah, Eduard Metzker
Published in: Communications of the ACM (2004-12-01)

Avoiding the usability pitfalls involved in managing the software development life cycle.
A Method for Assessing the Software Engineering Capability of Contractors
Authors: Watts S. Humphrey, William L. Sweet, R. K. Edwards, G. R. LaCroix, M. F. Owens, H. P. Schulz
Published in: KiltHub Repository (1987-01-01)

This document provides guidelines and procedures for assessing the ability of potential DoD contractors to develop software in accordance with modern software engineering methods. It includes specific questions and a method for evaluating the results.
Combining empirical results in software engineering
Authors: Lesley M. Pickard, Barbara Kitchenham, Peter W. Jones
Published in: Information and Software Technology (1998-12-01)

In this paper we investigate the techniques used in medical research to combine results from independent empirical studies of a particular phenomenon: meta-analysis and vote-counting. We use an example to illustrate the benefits and limitations of each technique and to indicate the criteria that should be used to guide your choice of technique. Meta-analysis is appropriate for homogeneous studies when raw data or quantitative summary information, e.g. correlation coefficient, are available. It can also be used for heterogeneous studies where the cause of the heterogeneity is due to well-understood partitions in the subject population. In other circumstances, meta-analysis is usually invalid. Although intuitively appealing, vote-counting has a number of serious limitations and should usually be avoided. We suggest that combining study results is unlikely to solve all the problems encountered in empirical software engineering studies, but some of the infrastructure and controls used by medical researchers to improve the quality of their empirical studies would be useful in the field of software engineering.
Managing Technical Debt in Software Engineering (Dagstuhl Seminar 16162)
Authors: Paris Avgeriou, Philippe Kruchten, İpek Özkaya, Carolyn Seaman
Published in: DROPS (Schloss Dagstuhl – Leibniz Center for Informatics) (2016-01-01)

This report documents the program and outcomes of Dagstuhl Seminar 16162, “Managing Technical Debt in Software Engineering.” We summarize the goals and format of the seminar, results from the breakout groups, a definition for technical debt, a draft conceptual model, and a research road map that culminated from the discussions during the seminar. The report also includes the abstracts of the talks presented at the seminar and summaries of open discussions.
Measurement and experimentation in software engineering
Authors: Bruce Curtis
Published in: Proceedings of the IEEE (1980-01-01)

The contributions of measurement and experimentation to the state of the art in software engineering are reviewed. The role of measurement in developing theoretical models is discussed, and concerns for reliability and validity are stressed. Current approaches to measuring software characteristics are presented as examples. In particular, software complexity metrics related to control flow, module interconnectedness, and Halstead's Software Science are discussed. The use of experimental methods in evaluating cause-effect relationships is also discussed. Example programs of experimental research which investigated conditional statements and control flow are reviewed. The conclusion argues that many advances in software engineering will be related to improvements in the measurement and experimental evaluation of software techniques and practices.
An application of games‐based learning within software engineering
Authors: Thomas Connolly, Mark Stansfield, Thomas Hainey
Published in: British Journal of Educational Technology (2007-04-25)

Abstract For some time now, computer games have played an important role in both children and adults' leisure activities. While there has been much written on the negative aspects of computer games, it has also been recognised that they have potential advantages and benefits. There is no doubt that computer games are highly engaging and incorporate features that are extremely compelling. It is these highly engaging features of computer games that have attracted the interests of educationalists. The use of games‐based learning has been growing for many years now; however, within software engineering, there is still a dearth of empirical evidence to support this approach. In this paper, we examine the literature on the use of computer games to teach software engineering concepts and describe a computer game we have been developing to teach these concepts.
Value-based software engineering: a case study
Authors: Barry Boehm, LiGuo Huang
Published in: Computer (2003-03-01)

The information technology field's accelerating rate of change makes feedback control essential for organizations to sense, evaluate, and adapt to changing value propositions in their competitive marketplace. Although traditional project feedback control mechanisms can manage the development efficiency of stable projects in well-established value situations, they do little to address the project's actual value, and can lead to wasteful misuse of an organization's scarce resources. The value-based approach to software development integrates value considerations into current and emerging software engineering principles and practices, while developing an overall framework in which these techniques compatibly reinforce each other.
The essence of software engineering
Authors: Ivar Jacobson, Pan-Wei Ng, Paul E. McMahon, Ian Spence, Svante Lidman
Published in: Communications of the ACM (2012-11-29)

A thinking framework in the form of an actionable kernel.
Data Mining for Software Engineering
Authors: Tao Xie, Suresh Thummalapenta, David Lo, Chao Liu
Published in: Computer (2009-08-01)

To improve software productivity and quality, software engineers are increasingly applying data mining algorithms to various software engineering tasks. However, mining SE data poses several challenges. The authors present various algorithms to effectively mine sequences, graphs, and text from such data.
Using benchmarking to advance research: a challenge to software engineering
Authors: Susan Elliott Sim, Steve Easterbrook, Richard C. Holt
Published in:  (2003-05-03)

Benchmarks have been used in computer science to compare the performance of computer systems, information retrieval algorithms, databases, and many other technologies. The creation and widespread use of a benchmark within a research area is frequently accompanied by rapid technical progress and community building. These observations have led us to formulate a theory of benchmarking within scientific disciplines. Based on this theory, we challenge software engineering research to become more scientific and cohesive by working as a community to define benchmarks. In support of this challenge, we present a case study of the reverse engineering community, where we have successfully used benchmarks to advance the state of research.