jehanweerasuriya/uni-ai-dataset huggingface dataset:
On the reproducibility of empirical software engineering studies based on data retrieved from development repositories
Authors: Jesus M. Gonzalez-Barahona, Gregório Robles
Published in: Empirical Software Engineering (2011-10-17)

Among empirical software engineering studies, those based on data retrieved from development repositories (such as those of source code management, issue tracking or communication systems) are specially suitable for reproduction. However their reproducibility status can vary a lot, from easy to almost impossible to reproduce. This paper explores which elements can be considered to characterize the reproducibility of a study in this area, and how they can be analyzed to better understand the type of reproduction studies they enable or obstruct. One of the main results of this exploration is the need of a systematic approach to asses the reproducibility of a study, due to the complexity of the processes usually involved, and the many details to be taken into account. To address this need, a methodology for assessing the reproducibility of studies is also presented and discussed, as a tool to help to raise awareness about research reproducibility in this field. The application of the methodology in practice has shown how, even for papers aimed to be reproducible, a systematic analysis raises important aspects that render reproduction difficult or impossible. We also show how, by identifying elements and attributes related to reproducibility, it can be better understood which kind of reproduction can be done for a specific study, given the description of datasets, methodologies and parameters it uses.
An Overview of the Software Engineering Process and Tools in the Mozilla Project
Authors: Christian Robottom Reis, Rodolfo Cruz
Published in:  (2002-01-01)

The Mozilla Project is an Open Source Software project which is dedicated to development of the Mozilla Web browser and application framework. Possessing one of the largest and most complex communities of developers among Open Source projects, it presents interesting requirements for a software process and the tools to support it. Over the past four years, process and tools have been refined to a point where they are both stable and effective in serving the project&amp;apos;s needs.
Sentiment and Emotion in Software Engineering
Authors: Nicole Novielli, Alexander Serebrenik
Published in: IEEE Software (2019-08-15)

We are glad to present the "Sentiment and Emotion in Software Engineering" special issue ofIEEE Software. In recent years, this topic has gained attention from both the research community and industry. Indeed, academic researchers have organized a number of highly successful workshops, such as the International Workshop on Emotional Awareness in Software Engineering (SEmotion) in 2016-2019. The topic was also explored in a special issue ofThe Journal of Systems and Software.1Both small and large companies have considered emotions in some aspects of their work. For example, Microsoft considers emotions in the context of inclusive hiring and support of neurodiverse developers.2Meanwhile, SkyTV aims at enhancing productivity of teams3by increasing their emotional awareness. Yet another company, source{d}, designs techniques for detection of sentiment in source-code repositories.4
Quantum Software Engineering: Roadmap and Challenges Ahead
Authors: Juan M. Murillo, José Garcí­a-Alonso, Enrique Moguel, Johanna Barzen, Frank Leymann, Shaukat Ali, Tao Yue, Paolo Arcaini, Ricardo Pérez‐Castillo, Ignacio García‐Rodríguez de Guzmán, Mario Piattini, Antonio Ruiz–Cortés, Antonio Brogi, Jianjun Zhao, Andriy Miranskyy, Manuel Wimmer
Published in: ACM Transactions on Software Engineering and Methodology (2025-01-29)

As quantum computers advance, the complexity of the software they can execute increases as well. To ensure this software is efficient, maintainable, reusable, and cost-effective—key qualities of any industry-grade software—mature software engineering practices must be applied throughout its design, development, and operation. However, the significant differences between classical and quantum software make it challenging to directly apply classical software engineering methods to quantum systems. This challenge has led to the emergence of Quantum Software Engineering (QSE) as a distinct field within the broader software engineering landscape. In this work, a group of active researchers analyze in depth the current state of QSE research. From this analysis, the key areas of QSE are identified and explored in order to determine the most relevant open challenges that should be addressed in the next years. These challenges help identify necessary breakthroughs and future research directions for advancing QSE.
The History of Software Engineering
Authors: Grady Booch
Published in: IEEE Software (2018-09-01)

Grady Booch, one of UML’s original authors, offers his perspective on the history of software engineering. This article is part of a theme issue on software engineering’s 50th anniversary. The Web Extra, a version of the article with an expanded bibliography, is at https://extras.computer.org/extra/mso2018050108s1.pdf.
Using the Incremental Commitment Model to Integrate System Acquisition, Systems Engineering, and Software Engineering
Authors: Barry Boehm, Jo Ann Lane
Published in:  (2007-01-01)

Summit was to find ways of better integrating software engineering into the systems engineering and acquisition process. Concurrently, a National Research Council study was addressing the problem of better integrating human factors into the systems engineering and acquisition process. This paper presents a model that emerged from these and related efforts that shows promise of improving these integrations. This model, called the Incremental Commitment Model (ICM), organizes systems engineering and acquisition processes in ways that better accommodate the different strengths and difficulties of hardware, software, and human factors engineering approaches. It also provides points at which they can synchronize and stabilize, and at which their risks of going forward can be better assessed and fitted into a risk-driven stakeholder resource commitment process.
Collaborative Model-Driven Software Engineering: A Classification Framework and a Research Map
Authors: Mirco Franzago, Davide Di Ruscio, Ivano Malavolta, Henry Muccini
Published in: IEEE Transactions on Software Engineering (2017-09-21)

Context: Collaborative Model-Driven Software Engineering (MDSE) consists of methods and techniques where multiple stakeholders manage, collaborate, and are aware of each others' work on shared models. Objective: Collaborative MDSE is attracting research efforts from different areas, resulting in a variegated scientific body of knowledge. This study aims at identifying, classifying, and understanding existing collaborative MDSE approaches. Method: We designed and conducted a systematic mapping study. Starting from over 3,000 potentially relevant studies, we applied a rigorous selection procedure resulting in 106 selected papers, further clustered into 48 primary studies along a time span of 19 years. We rigorously defined and applied a classification framework and extracted key information from each selected study for subsequent analysis. Results: Our analysis revealed the following main fidings: (i) there is a growing scientific interest on collaborative MDSE in the last years; (ii) multi-view modeling, validation support, reuse, and branching are more rarely covered with respect to other aspects about collaborative MDSE; (iii) different primary studies focus differently on individual dimensions of collaborative MDSE (i.e., model management, collaboration, and communication); (iv) most approaches are language-specific, with a prominence of UML-based approaches; (v) few approaches support the interplay between synchronous and asynchronous collaboration. Conclusion: This study gives a solid foundation for classifying existing and future approaches for collaborative MDSE. Researchers and practitioners can use our results for identifying existing research/technical gaps to attack, better scoping their own contributions, or understanding existing ones.
Albert Einstein and empirical software engineering
Authors: Shari Lawrence Pfleeger
Published in: Computer (1999-01-01)

The author believes that scientists apply scientific investigative techniques to gain more understanding of what makes software "good" and how to make software well. Often, they adapt investigative techniques from other disciplines to define measures that make sense in the business, technical, and social contexts people use for decision making. However, the author believes that sometimes failure can educate as well as success. Examples from nineteenth-century physics show how a change in perspective can lead to explanations for previously misunderstood phenomena. The author claims that scientists must also consider whether their measurements constrict their view of what is really happening in the development process, and they must change or expand the approach if they are. Science clearly illustrates the limitations of an overly literal approach to building and maintaining software. Too often, the author believes, scientists tend to view software development the same way nineteenth-century physicists viewed the universe. Taking a cue from Einstein, scientists should shape their theories and models to fit a more probabilistic reality.
Software Engineering Meets Evolutionary Computation
Authors: Mark Harman
Published in: Computer (2011-10-01)

The concept of evolutionary computation has affected virtually every area of software design, not merely as a metaphor, but as a realistic algorithm for exploration, insight, and improvement.
Teaching software engineering through game design
Authors: Kajal Claypool, Mark Claypool
Published in: ACM SIGCSE Bulletin (2005-06-27)

Many projects currently used in Software Engineering curricula lack both the "fun factor" needed to engage students, as well as the practical realism of engineering projects that include other computer science disciplines such as Software Engineering, Networks, or Human Computer Interaction. This paper reports on our endeavor to enhance interest and retention in an existing Software Engineering curriculum through the use of computer game-based projects. Specifically, a set of game-centric, project-based modules have been developed that enable students to: (1) actively participate in the different phases of the software lifecycle taking a single project from requirement elicitation to testing and maintenance; (2) expose students to real issues in project and team management over the course of a 2-semester project; and at the same time (3) introduce students to the different aspects of computer game design. Preliminary results suggest the merits of our approach, showing improved class participation and performance.
The TAME project: towards improvement-oriented software environments
Authors: Victor R. Basili, H. Dieter Rombach
Published in: IEEE Transactions on Software Engineering (1988-06-01)

Experience from a dozen years of analyzing software engineering processes and products is summarized as a set of software engineering and measurement principles that argue for software engineering process models that integrate sound planning and analysis into the construction process. In the TAME (Tailoring A Measurement Environment) project at the University of Maryland, such an improvement-oriented software engineering process model was developed that uses the goal/question/metric paradigm to integrate the constructive and analytic aspects of software development. The model provides a mechanism for formalizing the characterization and planning tasks, controlling and improving projects based on quantitative analysis, learning in a deeper and more systematic way about the software process and product, and feeding the appropriate experience back into the current and future projects. The TAME system is an instantiation of the TAME software engineering process model as an ISEE (integrated software engineering environment). The first in a series of TAME system prototypes has been developed. An assessment of experience with this first limited prototype is presented including a reassessment of its initial architecture.&gt;
SE2004: Recommendations for Undergraduate Software Engineering Curricula
Authors: Timothy C. Lethbridge, Richard J. LeBlanc, Ann E. Kelley Sobel, Thomas B. Hilburn, Jorge Díaz-Herrera
Published in: IEEE Software (2006-11-01)

The recommendations in Software Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering, form a volume of the larger Computing Curriculum project of the IEEE-CS and ACM. SE2004 evolved from an analysis of desired student outcomes for a software engineering graduate as compared to those for computer science and computer engineering graduates. This survey of the recommendations summarizes the recommended Software Engineering Education Knowledge (SEEK), which outlines the knowledge that a software engineering undergraduate should learn while at university. The survey also summarizes a set of 19 guidelines prepared to help educators implement a software engineering program as well as the courses and a sample of the curriculum patterns that SE2004 proposes.This article is part of a special issue on Software Engineering Curriculum Development.
High Confidence Software Engineering Technologies
Authors: Ji Wang
Published in: Dianzi xuebao (2003-01-01)

As the software plays more and more important roles in today′s information society,the software reliabitity,safety and security are strongly required.The state of art of its engineering technologies for this high confidence software and the challenges it faced are descirbed in this paper.Based on the formal methods,this confidence software developing trends and its key technical points are also discussed.
Bayesian Data Analysis in Empirical Software Engineering Research
Authors: Carlo A. Furia, Robert Feldt, Richard Torkar
Published in: IEEE Transactions on Software Engineering (2019-01-01)

Statistics comes in two main flavors: frequentist and Bayesian. For historical and technical reasons, frequentist statistics have traditionally dominated empirical data analysis, and certainly remain prevalent in empirical software engineering. This situation is unfortunate because frequentist statistics suffer from a number of shortcomings-such as lack of flexibility and results that are unintuitive and hard to interpret-that curtail their effectiveness when dealing with the heterogeneous data that is increasingly available for empirical analysis of software engineering practice. In this paper, we pinpoint these shortcomings, and present Bayesian data analysis techniques that provide tangible benefits-as they can provide clearer results that are simultaneously robust and nuanced. After a short, high-level introduction to the basic tools of Bayesian statistics, we present the reanalysis of two empirical studies on the effectiveness of automatically generated tests and the performance of programming languages. By contrasting the original frequentist analyses with our new Bayesian analyses, we demonstrate the concrete advantages of the latter. To conclude we advocate a more prominent role for Bayesian statistical techniques in empirical software engineering research and practice.
A hypertext based software-engineering environment
Authors: Jacob L. Cybulski, Karl Reed
Published in: IEEE Software (1992-03-01)

HyperCASE, an architectural framework for integrating CASE tools under an extended hypertext system, is described. HyperCASE's objective is to provide a powerful, user-friendly, integrated development platform that can significantly raise productivity. Its specific goal is to support software developers in project management, system analysis, design, and coding. HyperCASE integrates tools by combining a hypertext-based user interface with a common knowledge-based document repository. It includes extensive natural-language capabilities tailored to the CASE domain. These are used in the interface to the software repository, providing an alternative to hypertext information management and interdocument navigation. English input can be analyzed during informal system-requirements specification, allowing a significant degree of automation for design and concept reuse at the earliest development stages. HyperCASE's three subsystems, HyperEdit, the graphical user interface, HyperBase, the knowledge base, and HyperDict, the data dictionary, are discussed.&gt;
A Flipped Classroom Approach to Teaching Empirical Software Engineering
Authors: Lucas Gren
Published in: IEEE Transactions on Education (2020-01-15)

Contribution: A flipped classroom approach to teaching empirical software engineering increases student learning by providing more time for active learning in class. Background: There is a need for longitudinal studies of the flipped classroom approach in general. Although a few cross-sectional studies show that a flipped classroom approach can increase student learning by providing more time for other in-class activities, such as active learning, such studies are also rare in the context of teaching software engineering. Intended Outcomes: To assess the usefulness of a flipped classroom approach in teaching software engineering. Application Design: The study was conducted at an international master's program in Sweden, given in English, and partially replicated at a university in Africa. Findings: The results suggest that students' academic success, as measured by their exam grades, can be improved by introducing a flipped classroom to teach software engineering topics, but this may not extend to their subjective liking of the material, as measured by student evaluations. Furthermore, the effect of the change in the teaching methodology was not replicated when changing the teaching team.
Software-Engineering Design Patterns for Machine Learning Applications
Authors: Hironori Washizaki, Foutse Khomh, Yann‐Gaël Guéhéneuc, Hironori Takeuchi, Naotake Natori, Takuo Doi, Satoshi Okuda
Published in: Computer (2022-03-01)

In this study, a multivocal literature review identified 15 software-engineering design patterns for machine learning applications. Findings suggest that there are opportunities to increase the patterns’ adoption in practice by raising awareness of such patterns within the community.
Software Engineering Meets Services and Cloud Computing
Authors: Stephen S. Yau, Ho G. An
Published in: Computer (2011-09-22)

Service-oriented software engineering incorporates the best features of both the services and cloud computing paradigms, offering many advantages for software development and applications, but also exacerbating old concerns.
A User Interface (UI) and User eXperience (UX) evaluation framework for cyberlearning environments in computer science and software engineering education
Authors: Hakam W. Alomari, Vijayalakshmi Ramasamy, James D. Kiper, Geoff Potvin
Published in: Heliyon (2020-05-01)

Despite the widespread availability and increasing use of cyberlearning environments, there remains a need for more research about their usefulness in undergraduate education, particularly in STEM education. The process of evaluating the usefulness of a cyberlearning environment is an essential measure of its success and is useful in assisting the design process and ensuring user satisfaction. Unfortunately, there are relatively few empirical studies that provide a comprehensive test of the usefulness of cyberlearning in education. Additionally, there is a lack of standards upon whose usefulness evaluators agree. In this research, we present multiple user studies that can be used to assess the usefulness of a cyberlearning environment used in Computer Science and Software Engineering courses through testing its usability and measuring its utility using user interface and user experience evaluations. Based on these assessments, we propose an evaluation framework to evaluate cyberlearning environments. To help illustrate the framework utility and usability evaluations, we explain them through an example SEP-CyLE (Software Engineering and Programming Cyberlearning Environment). The evaluation techniques used are cognitive walkthroughs with a think-aloud protocol and a heuristic evaluation survey. We further use a network-based analysis to find the statistically significant correlated responses in the heuristic evaluation survey with regard to the students' perceptions of using SEP-CyLE. Our goal is to improve cyberlearning practice and to emphasize the need for evaluating cyberlearning environments with respect to its designated tasks and its users using UI/UX evaluations. Our experiments demonstrated participants were able to utilize SEP-CyLE efficiently to accomplish the tasks we posed to them and to enhance their software development concepts, specifically, software testing. We discovered areas of improvement in the visibility and navigation of SEP-CyLE's current design. We provide our recommendations for improving SEP-CyLE and provide guidance and possible directions for future research on designing cyberlearning environments for computer education.
Agents in object‐oriented software engineering
Authors: Alessandro Garcia, Carlos Lucena, Donald Cowan
Published in: Software Practice and Experience (2004-01-23)

Abstract Software engineers of multi‐agent systems (MASs) are faced with different concerns such as autonomy, adaptation, interaction, collaboration, learning, and mobility, which are essentially different from classical concerns addressed in object‐oriented software engineering. MAS developers, however, have relied mostly on object‐oriented design techniques and programming languages, such as Java. This often leads to a poor separation of MAS concerns and in turn to the production of MASs that are difficult to maintain and reuse. This paper discusses software engineering approaches for MASs, and presents a new method for integrating agents into object‐oriented software engineering from an early stage of design. The proposed approach encourages the separate handling of MAS concerns, and provides a disciplined scheme for their composition. Our proposal explores the benefits of aspect‐oriented software development for the incorporation of agents into object‐oriented systems. We also illustrate our aspect‐oriented approach through the Portalware multi‐agent system, a Web‐based environment for the development of e‐commerce portals. Copyright © 2004 John Wiley &amp; Sons, Ltd.
On the importance of the separation-of-concerns principle in secure software engineering
Authors: Bart De Win, Frank Piessens, Wouter Joosen, Tine Verhanneman
Published in:  (2003-01-01)

The separation-of-concerns principle is one of the essential principles in software engineering. It says that software should be decomposed in such a way that di#erent &amp;quot;concerns&amp;quot; or aspects of the problem at hand are solved in well-separated modules or parts of the software. Yet, many security experts feel uneasy about trying to isolate security-related concerns, because security is such a pervasive property of a piece of software.
Frame-Based Software Engineering
Authors: Paul Bassett
Published in: IEEE Software (1987-07-01)

One of reusability's main problems is how to easily modify available components. This frame-based approach handles the problem.
Checklists for Software Engineering Case Study Research
Authors: Martin Höst, Per Runeson
Published in:  (2007-01-01)

Case study is an important research methodology for software engineering. We have identified the need for checklists supporting researchers and reviewers in conducting and reviewing case studies. We derived checklists for researchers and reviewers respectively, using systematic qualitative procedures. Based on nine sources on case studies, checklists are derived and validated, and hereby presented for further use and improvement. 1.