jehanweerasuriya/uni-ai-dataset huggingface dataset:
How to Evaluate Solutions in Pareto-Based Search-Based Software Engineering: A Critical Review and Methodological Guidance
Authors: Miqing Li, Tao Chen, Xin Yao
Published in: IEEE Transactions on Software Engineering (2020-11-09)

With modern requirements, there is an increasing tendency of considering multiple objectives/criteria simultaneously in many Software Engineering (SE) scenarios. Such a multi-objective optimization scenario comes with an important issue &#x2014; how to evaluate the outcome of optimization algorithms, which typically is a set of incomparable solutions (i.e., being Pareto nondominated to each other). This issue can be challenging for the SE community, particularly for practitioners of Search-Based SE (SBSE). On one hand, multi-objective optimization could still be relatively new to SE/SBSE researchers, who may not be able to identify the right evaluation methods for their problems. On the other hand, simply following the evaluation methods for general multi-objective optimization problems may not be appropriate for specific SBSE problems, especially when the problem nature or decision maker&#x2019;s preferences are explicitly/implicitly known. This has been well echoed in the literature by various inappropriate/inadequate selection and inaccurate/misleading use of evaluation methods. In this paper, we first carry out a systematic and critical review of quality evaluation for multi-objective optimization in SBSE. We survey 717 papers published between 2009 and 2019 from 36 venues in seven repositories, and select 95 prominent studies, through which we identify five important but overlooked issues in the area. We then conduct an in-depth analysis of quality evaluation indicators/methods and general situations in SBSE, which, together with the identified issues, enables us to codify a methodological guidance for selecting and using evaluation methods in different SBSE scenarios.
Software Engineering for Spreadsheets
Authors: Martin Erwig
Published in: IEEE Software (2009-08-28)

The idiosyncratic structure of spreadsheets allows the adaptation of proven software engineering principles to an end-user domain and thus makes software engineering accessible to many users.
The impact of software engineering research on modern programming languages
Authors: Barbara G. Ryder, Mary Lou Soffa, Margaret Burnett
Published in: ACM Transactions on Software Engineering and Methodology (2005-10-01)

Software engineering research and programming language design have enjoyed a symbiotic relationship, with traceable impacts since the 1970s, when these areas were first distinguished from one another. This report documents this relationship by focusing on several major features of current programming languages: data and procedural abstraction, types, concurrency, exceptions, and visual programming mechanisms. The influences are determined by tracing references in publications in both fields, obtaining oral histories from language designers delineating influences on them, and tracking cotemporal research trends and ideas as demonstrated by workshop topics, special issue publications, and invited talks in the two fields. In some cases there is conclusive data supporting influence. In other cases, there are circumstantial arguments (i.e., cotemporal ideas) that indicate influence. Using this approach, this study provides evidence of the impact of software engineering research on modern programming language design and documents the close relationship between these two fields.
A general theory of software engineering: Balancing human, social and organizational capitals
Authors: Claes Wohlin, Darja Šmite, Nils Brede Moe
Published in: Journal of Systems and Software (2015-08-13)

There exists no generally accepted theory in software engineering, and at the same time a scientific discipline needs theories. Some laws, hypotheses and conjectures exist, but yet no generally accepted theory. Several researchers and initiatives emphasize the need for theory in the discipline. The objective of this paper is to formulate a theory of software engineering. The theory is generated from empirical observations of industry practice, including several case studies and many years of experience in working closely between academia and industry. The theory captures the balancing of three different intellectual capitals: human, social and organizational capitals, respectively. The theory is formulated using a method for building theories in software engineering. It results in a theory where the relationships between the three different intellectual capitals are explored and explained. The theory is illustrated based on an industrial case study, where it is shown how decisions made in industry practice are explainable with the formulated theory, and the consequences of the decisions are made explicit. Based on the positive results, it is concluded that the theory may have a good explanatory power, although more evaluations are needed.
Demystifying LLM-Based Software Engineering Agents
Authors: Chunqiu Steven Xia, Yinlin Deng, Soren Dunn, Lingming Zhang
Published in: Proceedings of the ACM on software engineering. (2025-06-19)

Recent advancements in large language models (LLMs) have significantly advanced the automation of software development tasks, including code synthesis, program repair, and test generation. More recently, researchers and industry practitioners have developed various autonomous LLM agents to perform end-to-end software development tasks. These agents are equipped with the ability to use tools, run commands, observe feedback from the environment, and plan for future actions. However, the complexity of these agent-based approaches, together with the limited abilities of current LLMs, raises the following question: Do we really have to employ complex autonomous software agents? To attempt to answer this question, we build Agentless – an agentless approach to automatically resolve software development issues. Compared to the verbose and complex setup of agent-based approaches, Agentless employs a simplistic three-phase process of localization, repair, and patch validation, without letting the LLM decide future actions or operate with complex tools. Our results on the popular SWE-bench Lite benchmark show that surprisingly the simplistic Agentless is able to achieve both the highest performance (32.00%, 96 correct fixes) and low cost ($0.70) compared with all existing open-source software agents at the time of paper submission! Agentless also achieves more than 50% solve rate when using Claude 3.5 Sonnet on the new SWE-bench Verified benchmark. In fact, Agentless has already been adopted by OpenAI as the go-to approach to showcase the real-world coding performance of both GPT-4o and the new o1 models; more recently, Agentless has also been used by DeepSeek to evaluate their newest DeepSeek V3 and R1 models. Furthermore, we manually classified the problems in SWE-bench Lite and found problems with exact ground truth patches or insufficient/misleading issue descriptions. As such, we construct SWE-bench Lite-𝑆 by excluding such problematic issues to perform more rigorous evaluation and comparison. Our work highlights the currently overlooked potential of a simplistic, cost-effective technique in autonomous software development. We hope Agentless will help reset the baseline, starting point, and horizon for autonomous software agents, and inspire future work along this crucial direction. We have open-sourced Agentless at: https://github.com/OpenAutoCoder/Agentless
Software Engineering Standards: A User's Road Map
Authors: James W. Moore
Published in:  (1998-01-01)

From the Publisher: Describes the scope, roles, uses, and development trends of the most widely used software engineering standards. The book concentrates on important software engineering activities - quality and project management, system engineering, dependability, and safety. The analysis and regrouping of the standard collections exposes you to key relationships between standards. James Moore provides valuable insights that allow you to select standards to fill your specific needs with precision. Software Engineering Standards: A User's Road Map presents two types of diagrams that will guide you in designating and selecting the standards that meet your specific goals. The first is a layered view of standards that illustrates the internal relationships among standards within a collection. The road map, the second type, illustrates the external relationships among standards in same or different collections. By using the road map diagrams each chapter begins at a different starting point and leads you toward the selection of the software engineering standards that achieve your goals.
Making Software Engineering Research Relevant
Authors: Sarah Beecham, Pádraig O’Leary, Seán Baker, Ita Richardson, John Noll
Published in: Computer (2014-04-01)

Practitioners perceive research on global software engineering as useful, yet they rarely read academic articles on the topic. Instead, they look to books, blogs, colleagues, forums, and their own experiences for solutions. Making research more relevant to practice requires a new mindset.
Computational challenges in cell simulation: a software engineering approach
Authors: Koichi Takahashi, Katsuyuki Yugi, Kazuaki Hashimoto, Yohei Yamada, Christopher J. F. Pickett, Masaru Tomita
Published in: IEEE Intelligent Systems (2002-09-01)

Molecular biology's advent in the 20th century has exponentially increased our knowledge about the inner workings of life. We have dozens of completed genomes and an array of high-throughput methods to characterize gene encodings and gene product operation. The question now is how we will assemble the various pieces. In other words, given sufficient information about a living cell's molecular components, can we predict its behavior? We introduce the major classes of cellular processes relevant to modeling, discuss software engineering's role in cell simulation, and identify cell simulation requirements. Our E-Cell project aims to develop the theories, techniques, and software platforms necessary for whole-cell-scale modeling, simulation, and analysis. Since the project's launch in 1996, we have built a variety of cell models, and we are currently developing new models that vary with respect to species, target subsystem, and overall scale.
Do feelings matter? On the correlation of affects and the self‐assessed productivity in software engineering
Authors: Daniel Graziotin, Xiaofeng Wang, Pekka Abrahamsson
Published in: Journal of Software Evolution and Process (2014-08-06)

Abstract Software engineering (SE) research lacks theory and methodologies for addressing human aspects in software development. Development tasks are undertaken through cognitive processing activities. Affects (emotions, moods, and feelings) have a linkage to cognitive processing activities and the productivity of individuals. SE research needs to incorporate affect measurements to valorize human factors and to enhance management styles. The objective of this study is to analyze the affects dimensions of valence, arousal, and dominance of software developers and their real‐time correlation with their self‐assessed productivity (sPR). A repeated measurements design was conducted with eight participants (four students and four professionals), conveniently sampled and studied individually over 90 min of programming. The analysis was performed by fitting a linear mixed‐effects (LME) model. The results showed that valence and dominance are positively correlated with the sPR. The model was able to express about 38% of deviance from the sPR. Many lessons were learned when employing psychological measurements in SE and for fitting LME. This article demonstrates the value of applying psychological tests in SE and echoes a call to valorize the human individualized aspects of software developers. It reports a body of knowledge about affects, their classification, their measurement, and the best practices to perform psychological measurements in SE with LME models. Copyright © 2014 John Wiley &amp; Sons, Ltd.
Software engineering technology infusion within NASA
Authors: Marvin V. Zelkowitz
Published in: IEEE Transactions on Engineering Management (1996-01-01)

Abstract technology transfer is of crucial concern to both government and industry today. In this paper, several software engineering technologies used within NASA are studied, and the mechanisms, schedules, and efforts at transferring these technologies are investigated. The goals of this study are: (1) to understand the difference between technology transfer (the adoption of a new method by large segments of an industry) as an industrywide phenomenon and the adoption of a new technology by an individual organization (called technology infusion); and (2) to see if software engineering technology transfer differs from other engineering disciplines. While there is great interest today in developing technology transfer models for industry, it is the technology infusion process that actually causes changes in the current state of the practice.
The relationship between theory and practice in software engineering
Authors: Robert L. Glass
Published in: Communications of the ACM (1996-11-01)

article Free AccessThe relationship between theory and practice in software engineering Author: Robert L. Glass Computing Trends and Software Practitioner Computing Trends and Software PractitionerView Profile Authors Info & Claims Communications of the ACMVolume 39Issue 1101 November 1996pp 11–13https://doi.org/10.1145/240455.240458Published:01 November 1996Publication History 26citation617DownloadsMetricsTotal Citations26Total Downloads617Last 12 Months105Last 6 weeks15 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF
Case Study Research in Software Engineering—It is a Case, and it is a Study, but is it a Case Study?
Authors: Claes Wohlin
Published in: Information and Software Technology (2021-01-18)

Case studies are regularly published in the software engineering literature, and guidelines for conducting case studies are available. Based on a perception that the label “case study” is assigned to studies that are not case studies, an investigation has been conducted. The aim was to investigate whether or not the label “case study” is correctly used in software engineering research. To address the objective, 100 recent articles found through Scopus when searching for case studies in software engineering have been investigated and classified. Unfortunately, the perception of misuse of the label “case study” is correct. Close to 50% of the articles investigated were judged as not being case studies according to the definition of a case study. We either need to ensure correct use of the label “case study”, or we need another label for its definition. Given that “case study” is a well-established label, it is probably impossible to change the label. Thus, we introduce an alternative definition of case study emphasising its real-life context, and urge researchers to carefully follow the definition of different research methods when presenting their research.
Improving Student Engagement With Project-Based Learning: A Case Study in Software Engineering
Authors: Paula Morais, Maria João Ferreira, Bruno Veloso
Published in: IEEE Revista Iberoamericana de Tecnologias del Aprendizaje (2021-02-01)

In the area of Information and Communication Technologies, in addition to the problem of engagement, students often have difficulties in learning subjects related to modeling and programming. The reasons for these difficulties are well known and described in the literature, pointing to difficulties in abstraction and logic thinking. Knowing that the value of flexible and personalized learning, teachers are changing the way they teach, using different active learning methodologies, such as flipped classroom, project-based learning, and peer instruction. This paper describes an experiment conducted to improve the learning experiences of the students enrolled in the Computer Science bachelor's degree course, attending three curricular units: Information Systems Development, Data Structures, and Web Languages and Technologies. The approach followed by the teachers used project-based learning as an active learning methodology. This methodology allows us to achieve four main objectives: (i) improve student engagement; (ii) improve learning outcomes achievement (iii) increase the course success rate and (iv) allow students to experience the need for the software development lifecycle, feeling that software engineering is not a block-based process but depending on previous activity, often leads to the need to go back in the process. The results obtained with the use of the active methodology were well accepted by the students and allowed both teachers and students to reach the objectives set.
Software Engineering for Scientists
Authors: Diane Kelly, Spencer Smith, Nicholas Jie Meng
Published in: Computing in Science & Engineering (2011-08-31)

At two recent workshops, participants discussed the juxtaposition of software engineering with the development of scientific computational software.
A Whisper of Evidence in Global Software Engineering
Authors: Darja Èmite, Claes Wohlin
Published in: IEEE Software (2011-06-28)

A systematic review of global software engineering (GSE) literature from 2000 to 2007 shows the field to be immature. Studies report many challenges but little evidence regarding specific GSE practices directly related to project success or failure. There is evidence that distance matters and, furthermore, that GSE--although driven by cost-reduction goals--seldom brings immediate cost savings.
Predictive Models in Software Engineering: Challenges and Opportunities
Authors: Yanming Yang, Xin Xia, David Lo, Tingting Bi, John Grundy, Xiaohu Yang
Published in: ACM Transactions on Software Engineering and Methodology (2022-01-31)

Predictive models are one of the most important techniques that are widely applied in many areas of software engineering. There have been a large number of primary studies that apply predictive models and that present well-performed studies in various research domains, including software requirements, software design and development, testing and debugging, and software maintenance. This article is a first attempt to systematically organize knowledge in this area by surveying a body of 421 papers on predictive models published between 2009 and 2020. We describe the key models and approaches used, classify the different models, summarize the range of key application areas, and analyze research results. Based on our findings, we also propose a set of current challenges that still need to be addressed in future work and provide a proposed research road map for these opportunities.
ImageJ2: ImageJ for the next generation of scientific image data
Authors: Curtis Rueden, Johannes Schindelin, Mark Hiner, Barry E. DeZonia, Alison E. Walter, Ellen T. Arena, Kevin W. Eliceiri
Published in: BMC Bioinformatics (2017-11-29)

BACKGROUND: ImageJ is an image analysis program extensively used in the biological sciences and beyond. Due to its ease of use, recordable macro language, and extensible plug-in architecture, ImageJ enjoys contributions from non-programmers, amateur programmers, and professional developers alike. Enabling such a diversity of contributors has resulted in a large community that spans the biological and physical sciences. However, a rapidly growing user base, diverging plugin suites, and technical limitations have revealed a clear need for a concerted software engineering effort to support emerging imaging paradigms, to ensure the software's ability to handle the requirements of modern science. RESULTS: We rewrote the entire ImageJ codebase, engineering a redesigned plugin mechanism intended to facilitate extensibility at every level, with the goal of creating a more powerful tool that continues to serve the existing community while addressing a wider range of scientific requirements. This next-generation ImageJ, called "ImageJ2" in places where the distinction matters, provides a host of new functionality. It separates concerns, fully decoupling the data model from the user interface. It emphasizes integration with external applications to maximize interoperability. Its robust new plugin framework allows everything from image formats, to scripting languages, to visualization to be extended by the community. The redesigned data model supports arbitrarily large, N-dimensional datasets, which are increasingly common in modern image acquisition. Despite the scope of these changes, backwards compatibility is maintained such that this new functionality can be seamlessly integrated with the classic ImageJ interface, allowing users and developers to migrate to these new methods at their own pace. CONCLUSIONS: Scientific imaging benefits from open-source programs that advance new method development and deployment to a diverse audience. ImageJ has continuously evolved with this idea in mind; however, new and emerging scientific requirements have posed corresponding challenges for ImageJ's development. The described improvements provide a framework engineered for flexibility, intended to support these requirements as well as accommodate future needs. Future efforts will focus on implementing new algorithms in this framework and expanding collaborations with other popular scientific software suites.
Exploring initial challenges for green software engineering
Authors: Patricia Lago, Rick Kazman, Niklaus Meyer, Maurizio Morisio, Hausi Müller, Frances Paulisch
Published in: ACM SIGSOFT Software Engineering Notes (2013-01-23)

The GREENS workshop provides a forum for practitioners and academics to share knowledge, ideas, practices and current results related to green and sustainable software engineering. This first workshop was held at ICSE 2012 in Zurich, Switzerland. It featured a keynote talk, twelve research position statements and two breakout sessions that discussed topics that ranged from bringing sustainability and energy efficiency into all software lifecycle stages, to green measures and estimations, practices, notations, and tools to both greening the software engineering process, and greening the resulting Information and Communication Technology systems. This report presents the themes of the workshop, summarizes the results of the discussions held in the breakout sessions, as well as the identified research challenges.
Cleanroom software engineering for zero-defect software
Authors: Richard C. Linger
Published in:  (1993-05-21)

Cleanroom software engineering is a theory-based, team-oriented process for developing very high quality software under statistical quality control. Cleanroom combines formal methods of object-based box structure specification and design, function- theoretic correctness veri/ication, and statistical usage testing for quality certification, to produce sofmare that is zero defects with high probability. Cleanroom management is based on a lfe cycle of incremental development of user- function sofmare increments that accumulate into the PnaI product. Cleanroom teams in IBM and other organizations are achieving remarkable quality results in both new system development and modifications and extensions to existing systems.