waashk/dblp huggingface dataset:
bridging lightweight and heavyweight task organization: the role of tags in adopting new task categories. in collaborative software development projects, tasks are often used as a mechanism to coordinate and track shared development work. modern development environments provide explicit support for task management where tasks are typically organized and managed through predefined categories. although there have been many studies that analyze data available from task management systems, there has been relatively little work on the design of task management tools. in this paper we explore how tagging with freely assigned keywords provides developers with a lightweight mechanism to further categorize and annotate development tasks. we investigate how tags that are frequently used over a long period of time reveal the need for additional predefined categories of keywords in task management tool support. finally, we suggest future work to explore how integrated lightweight tool features in a development environment may improve software development practices.
software development governance (sdg) workshop. this is the introduction of the 3rd workshop on software development governance (sdg), which will take place as part of icse 2010. this year we have combined two successful workshops (sdg - software development governance and lmsa -- leadership and management in software architecture) since both workshops deal with decisions that are part of the development process e.g., business and organizational decisions that impact the technical decisions concerned with the product architecture and the product quality.
1st international workshop on replication in empirical software engineering research (reser). the reser 2010 workshop provides a venue in which empirical software engineering researchers may present and discuss theoretical foundations and methods of replication, as well as the results of replicated studies.
sm@rt: representing run-time system data as mof-compliant models. runtime models represent the dynamic data of running systems, and enable developers to manipulate the data in an abstract, model-based way. this paper presents sm@rt, a tool that help realize runtime models on a wide class of systems. receiving a meta-model specifying the target system's data type and an api description specifying how to manipulate the data, sm@rt automatically generates the synchronizer to maintain the runtime model for this system.
synthesize software product line. in the development of a software product line (spl), it is useful to compare various products in order to identify reusable assets and synthesize them in an optimized way. current differencing approaches provide the difference on a low level thus still leaves the spl practitioner considerable manual synthesis work. this paper presents a comparison approach based on common variability language (cvl), which is able to identify the difference on a higher conceptual level. we believe that our cvl compare approach will offer better model comparison support in the context of identifying and synthesizing spls.
flat: feature location and textual tracing tool. feature location is the process of finding the source code that implements a functional requirement of a software system. it plays an important role in software maintenance activities, but when it is performed manually, it can be challenging and time-consuming, especially for large, long-lived systems. this paper describes a tool called flat3 that integrates textual and dynamic feature location techniques along with feature annotation capabilities and a useful visualization technique, providing a complete suite of tools that allows developers to quickly and easily locate the code that implements a feature and then save these annotations for future use.
workshop on emerging trends in software metrics (wetsom 2010). the workshop on emerging trends in software metrics aims at bringing together researchers and practitioners to discuss the progress of software metrics. the motivation for this workshop is the low impact that software metrics has on current software development. the goals of this workshop are to critically examine the evidence for the effectiveness of existing metrics and to identify new directions for development of software metrics.
cloud service engineering. building on compute and storage virtualization, cloud computing provides scalable, network-centric, abstracted it infrastructure, platforms, and applications as on-demand services that are billed by consumption. cloud service engineering is the application of a systematic approach to leverage cloud computing in the context of the internet in its combined role as a platform for technical, economic, organizational and social networks. this tutorial introduces concepts and technology of cloud computing and cloud service engineering, providing an overview of state-of-the-art in research and practice. we show how to set up a private cloud that delivers infrastructure-as-a-service (iaas). eucalyptus and opennebula are popular open source software frameworks for creating on-premise clouds. promises, challenges and solutions for integrating services of a private cloud with public cloud services such as amazon ec2 and sqs are discussed. we show how the best of both worlds - private and public clouds - can be combined to build scalable and secure systems.
staying afloat in an expanding sea of choices: emerging best practices for eclipse rich client platform development. the eclipse rich client platform attracts considerable attention for being a promising candidate for providing the component model java never had. this is even truer since the incorporation of osgi for providing services within the framework. however, the rapid sequence of new versions and the continuous growth of features lead to a discussion that almost exclusively focused on technological aspects while leaving application developers in the midst of a sea of sometimes conflicting choices of how to implement their business-oriented applications. this lack of guidance leads to systems with vastly different architectures (or lack thereof) which often force complete rewrites when further development steps are to be taken. the best practices and architectural blueprints that provide this guidance in the field of object- or service-orientation haven't emerged yet. in this experience report, we render our observations made in several projects over the last years about the challenges that cooperating teams of application developers face when using rcp. we provide a first business-oriented architectural blue-print and best practices that have helped us greatly to overcome these challenges.
second international workshop on software research and climate change. this workshop will explore the contributions that software research can make to the challenge of tackling climate change. software is a critical enabling technology in nearly all aspects of climate change, from the computational models used by climate scientists to improve our understanding of the impact of human activities on earth systems, through to the information and control systems needed to build an effective carbon-neutral society. the intent of the workshop is to explore how software research can contribute to this challenge, to build a community of researchers interested in responding to the challenge, and to map out a research agenda.
emerging faculty symposium 2010. the challenge and prospect of becoming a new teaching faculty member at a research university is one that most people accept with enthusiasm and energy, but also with some trepidation: &bull; how do i get a position? &bull; how do i get to develop and publish strong research results? &bull; how will i be able to balance the many aspects of work as well as my personal life? &bull; what is my academic path to tenure and beyond?
suite 2010: 2nd international workshop on search-driven development - users, infrastructure, tools & evaluation. suite is a workshop that focuses on exploring the notion of search as a fundamental activity during software development. the first edition of suite (suite 2009 [4]) was held at icse 2009. suite 2010, like its predecessor, devotes its attention to various research topics pertaining to the information needs of software developers. in suite 2010, we plan to emphasize open issues identified in suite 2009. we aim to continue building an active network of people interested in the research area that suite addresses.
2010 icse international workshop on advances and applications of problem orientation (waapo-2010). software problems originate from real world problems. a software solution must address its real world problem in a satisfactory way. a software engineer must therefore understand the real world problem that their software intends to address. to be able to do this, the software engineer must understand the problem context and how it is to be affected by the proposed software, expressed as the requirements. without this knowledge the engineer can only hope to chance upon the right solution for the problem. application of problem-oriented approaches may well be a way of meeting this challenge.
cuts: a system execution modeling tool for realizing continuous system integration testing. this paper presents the component workload emulator (cowork-er) utilization test suite (cuts), which is a system execution modeling tool for validating quality-of-service (qos) properties, e.g., end-to-end response time, throughput, and scalability, on the target architecture continuously throughout the software lifecycle.
detecting recurring and similar software vulnerabilities. new software security vulnerabilities are discovered on almost daily basis and it is vital to be able to identify and resolve them as early as possible. fortunately, many software vulnerabilities are recurring or very similar, thus, one could effectively detect and fix a vulnerability in a system by consulting the similar vulnerabilities and fixes from other systems. in this paper, we propose, securesync, an automatic approach to detect and provide suggested resolutions for recurring software vulnerabilities on multiple systems sharing/using similar code or api libraries. the core of securesync includes a usage model and a mapping algorithm for matching vulnerable code across different systems, a model for the comparison of vulnerability reports, and a tracing technique from a report to corresponding source code. our preliminary evaluation with case studies showed the potential usefulness of securesync.
staying aware of relevant feeds in context. to stay aware of relevant information and avoid productivity loss, a developer has to continuously read through new incoming information. our approach supports the integration of dynamic and static information in a development environment that allows the developer to continuously monitor the relevant information in context of his work.
reverse engineering with the reclipse tool suite. design pattern detection is a reverse engineering methodology that helps software engineers to analyze and understand legacy software by recovering its design and thereby aiding in the preparation of re-engineering activities. we present reclipse, a reverse engineering tool suite for static and dynamic design pattern detection in combination with a pattern candidate rating used to assess the detection results' reliability.
testful: automatic unit-test generation for java classes. this paper presents testful, an eclipse plugin for the generation of tests for java classes. it is based on the idea of search-based testing, working both at class and method level. the former puts objects in useful states, used by the latter to exercise the uncovered parts of the class.
visar3d: an approach to software architecture teaching based on virtual and augmented reality. this paper aims to present an approach entitled visar3d to support software architecture teaching by means of virtual and augmented reality. thus, it intends to define a 3d visualization environment which includes exploration, interaction and simulation resources to establish a practical and attractive learning, focusing on large scale systems.
coaching agile software projects: tutorial proposal - icse 2010. our tutorial for icse 2010 focuses on coaching agile software teams. based on eight years of experience guiding agile software projects in the academia and industry, we focus in the tutorial on a coaching framework for agile software projects. the tutorial participants become familiar with coaching practices and gain experience with some of the practices. the tutorial has two main parts. in the first part, we present the coaching framework, including the goals, structure, and guiding principles. in the second part, we focus on the following central themes in agile development processes which, we suggest, are appropriate to be included in such a coaching framework: teamwork and collaboration, time and measures, learning and reflection, and change and leadership. since 2003, we have facilitated this tutorial and similar ones in different settings (industry, academia, conferences). the coaching framework, as well as the themes, case studies, and analysis approach presented in the tutorial, are summarized in our book agile software engineering published by springer in 2008 (hazzan and dubinsky, 2008).
a proposal for consistency checking in dynamic software product line models using ocl. ubiquitous applications use context information to provide services and relevant information for their users. on the other hand, in software product line approaches, commonality and variability of a system family should be identified and documented through variability modeling. thus, one of the challenges to build context-aware product lines, called dynamic software product lines, is the consistent representation of context information that influences the variability model. this work proposes the use of uml profiles and ocl to formalize and represent variability and context concepts in a consistent manner.
a framework for handling variants of software models. the united nations centre for trade facilitation and electronic business (un/cefact) envisions seamless information exchange between business partners in electronic commerce. therefore, un/cefact provides the uml profile for core components for the definition of document models based on uml class diagrams. having used this approach for three years in practice, it became evident that managing document model versions is a prerequisite for successfully utilizing core components. while managing software versions in the area of software engineering is well understood and successfully applied in industrial projects, the direct application of the same techniques for versioning models is conditionally appropriate. in this research abstract we propose to combine techniques from traditional software configuration management with the concepts of reference modeling, where similar problems are addressed in a different context.
impact analysis for event-based components and systems. in my dissertation, i aim to develop a dependence-based impact analysis technique for event-based systems and event-based components that communicate via messages. this paper motivates the problem, summarizes the open challenges and outlines proposed solution and evaluation strategies.
summarizing software concerns. while working on software concerns to perform evolution tasks, developers often encounter a lack of abstraction. they have to work with all the details of large subsets of code that constitute a concern at a low level of abstraction. in this paper we propose a framework to summarize software concerns in order to raise the level of abstraction and to subsequently improve the productivity of software developers. we use a combination of static analysis, information retrieval, and natural language processing techniques to extract and deduct knowledge about different parts of the concern and its interactions with other concerns. then we produce a description of the concern using natural language generation and summarization techniques.
analysing "people" problems in requirements engineering. the aim of this tutorial is to explain in an accessible manner the psychology of people in the context of misunderstandings, politics and social issues that affect software development. it focuses on user-stakeholder interaction techniques for analysis and interpretation of human behaviour, and how psychological knowledge can be used to improve the requirements engineering (re) process as well as interpreting the implications of human motivations and values for requirements and software systems architecture. soft issues, such as politics and people's feelings, are often cited as problems in the re process and as key causes of system failure. it is clear from the re literature that understanding user beliefs and values is vital for the success of software development. the london ambulance service is a canonical example of system failure caused, in part, by inadequate understanding of ambulance crews' motivations, values of self esteem and autonomy, and the emotional reaction to lack of involvement in the requirements process, leading to technology failure.
dynamic symbolic data structure repair. generic repair of complex data structures is a new and exciting area of research. existing approaches can integrate with good software engineering practices such as program assertions. but in practice there is a wide variety of assertions and not all of them satisfy the style rules imposed by existing repair techniques. i.e., a "badly" written assertion may render generic repair inefficient or ineffective. in this paper we build on the state of the art in generic repair and discuss how generic repair can work effectively with a wider range of correctness conditions. we motivate how dynamic symbolic techniques enable generic repair to support a wider range of correctness conditions and present dsdsr, a novel repair algorithm based on dynamic symbolic execution. we implement the algorithm for java and report initial empirical results to demonstrate the promise of our approach for generic repair.
change impact analysis from business rules. impact analysis is the identification of the potential consequences of a change, or estimating what needs to be modified to accomplish a change, including related costs and schedule estimates. in this work, we distinguish between two kinds of concerns related to impact analysis: (1) business-specific concerns, those related to stakeholders interested in checking if other business rules are impacted by the change and also need to be modified; and (2) software-specific concerns, those related to stakeholders interested in the impacted software artifacts that need to be modified. several traceability techniques have been studied and none of them supported impact analysis that dealt with business-specific concerns with reasonable values of precision and recall for the discovered impacts. our research work aims to support business-specific concerns during impact analysis, by proposing and evaluating a traceability technique that resorts on a new traceability model defined over business rules, with expected precision and recall values of 100%.
combinatorial test design in practice. combinatorial testing is a specification based sampling technique that provides a systematic way to select combinations of program inputs or features for testing. it has been applied over the years to test input data, configurations, web forms, protocols, graphical user interfaces and for testing software product lines. this tutorial introduces the fundamentals of combinatorial testing, including both practical and theoretical foundations, to provide a comprehensive introduction that is relevant to both test practitioners and software engineering researchers. the tutorial will present an overview of combinatorial test design (ctd) and describe some state of the art research advances and domains where ctd has been applied. it will present the theoretical underpinnings of ctd and explain a few algorithmic techniques used to generate ctd samples, as well as describe recent work on practical extensions to these algorithms that allow for a broader use of ctd. a session devoted to modeling test problems using ctd will follow, with attendees obtaining hands-on experience using several realistic problems.
an analysis of the effects of company culture, education and experience on confirmation bias levels of software developers and testers. in this paper, we present a preliminary analysis of factors such as company culture, education and experience, on confirmation bias levels of software developers and testers. confirmation bias is defined as the tendency of people to verify their hypotheses rather than refuting them and thus it has an effect on all software testing.
eliminating dead-code from xquery programs. one of the challenges in web software development is to help achieving a good level of quality in terms of code size and runtime performance, for increasingly popular domain specific languages such as xquery. we present an ide equipped with static analysis features for assisting the programmer. these features are capable of identifying and eliminating dead code automatically. the tool is based on newly developed formal programming language verification techniques [4, 3], which are now mature enough to be introduced in the process of software development.
cost effectiveness analysis in software engineering. the tutorial presented an approach that leverages well-known economic and financial concepts for evaluating the cost effectiveness of software development processes and techniques. software engineering studies often report separately on the costs and benefits of a phenomenon of interest, and rarely adequately address the combined bottom line implications. in particular, tensions between quality and productivity are hard to reconcile, making objective, high-level insights elusive. to address this need, the tutorial focused on quantitative methods for synthesizing co-dependent cost-benefit effects and analyzing the resulting behaviors.
new processes for new horizons: the incremental commitment model. the wide variety of software-intensive systems needed to support the new horizons of evolving technology, system and software complexity, high dependability, global interoperability, emergent requirements, and adaptability to rapid change make traditional and current one-size-fits-all process models infeasible. this tutorial presents the process framework, principles, practices, and case studies for a new model developed and being used to address these challenges. it has a series of risk-driven decision points that enable projects to converge on whatever combination of agile, plan-driven, formal, legacy-oriented, reuse-oriented, or adaptive processes that best fit a project's situation. the tutorial discusses the decision table for common special cases; exit ramps for terminating non-viable projects; support of concurrent engineering of requirements, solutions and plans; and evidence-based commitment milestones for synchronizing the concurrent engineering. the tutorial will include case studies and exercises for participants' practice and discussion.
a research demonstration of code bubbles. today's integrated development environments (ides) are hampered by their dependence on files and file-based editing. we propose a novel user interface that is based on collections of lightweight editable fragments, called bubbles, which when grouped together form concurrently visible working sets. we describe the design of a prototype ide user interface for java based on working sets.
developing and evaluating the code bubbles metaphor. today's integrated development environments (ides) are hampered by their dependence on files and file-based editing. a novel user interface that is based on collections of lightweight editable fragments, called bubbles, which when grouped together form concurrently visible working sets is proposed. an overview of this interface, as well as a summary of the results of a quantitative and a qualitative evaluation of the interface is presented.