Scispace (Formerly Typeset)
  1. Home
  2. Topics
  3. Software construction
  4. 2010
  1. Home
  2. Topics
  3. Software construction
  4. 2010
Showing papers on "Software construction published in 2010"
Journal Article•10.3758/BRM.42.4.1096•
PsyToolkit: A software package for programming psychological experiments using Linux

[...]

Gijsbert Stoet1•
University of Leeds1
01 Nov 2010-Behavior Research Methods
TL;DR: Four in-depth examples explain the basic functionality of PsyToolkit and explain the electronic hardware setup such that they can even be used with other software packages.
Abstract: PsyToolkit is a set of software tools for programming psychological experiments on Linux computers. Given that PsyToolkit is freely available under the Gnu Public License, open source, and designed such that it can easily be modified and extended for individual needs, it is suitable not only for technically oriented Linux users, but also for students, researchers on small budgets, and universities in developing countries. The software includes a high-level scripting language, a library for the programming language C, and a questionnaire presenter. The software easily integrates with other open source tools, such as the statistical software package R. PsyToolkit is designed to work with external hardware (including IoLab and Cedrus response keyboards and two common digital input/output boards) and to support millisecond timing precision. Four in-depth examples explain the basic functionality of PsyToolkit. Example 1 demonstrates a stimulus—response compatibility experiment. Example 2 demonstrates a novel mouse-controlled visual search experiment. Example 3 shows how to control light emitting diodes using PsyToolkit, and Example 4 shows how to build a light-detection sensor. The last two examples explain the electronic hardware setup such that they can even be used with other software packages.

957 citations

Book•
Basics of Software Engineering Experimentation

[...]

Natalia Juristo, Ana Moreno
3 Dec 2010
TL;DR: The Basics of Software Engineering Experimentation demonstrates to software engineers how Experimental Design and Analysis can be used to validate their beliefs and ideas.
Abstract: Basics of Software Engineering Experimentation is a practical guide to experimentation in a field which has long been underpinned by suppositions, assumptions, speculations and beliefs It demonstrates to software engineers how Experimental Design and Analysis can be used to validate their beliefs and ideas The book does not assume its readers have an in-depth knowledge of mathematics, specifying the conceptual essence of the techniques to use in the design and analysis of experiments and keeping the mathematical calculations clear and simple Basics of Software Engineering Experimentation is practically oriented and is specially written for software engineers, all the examples being based on real and fictitious software engineering experiments

861 citations

Encyclopedia of Software Engineering

[...]

John Mcmanus
24 Nov 2010
TL;DR: This reference resource covers various topics related to the development of software, the environments in which software operates, and how humans interact with these environments.
Abstract: Software engineering requires specialized knowledge of a broad spectrum of topics, including the construction of software; the platforms, applications and environments in which the software operates; as well as an understanding of the people who build and use the software. This reference resource covers various topics related to the development of software, the environments in which software operates, and how humans interact with these environments. … Articles in this set offer an overview of broad topics, including economics, human-centered computing, and the IEEE Computer Society.

668 citations

Journal Article•10.1109/MS.2009.161•
Recommendation Systems for Software Engineering

[...]

Martin P. Robillard1, Robert J. Walker2, Thomas Zimmermann3•
McGill University1, University of Calgary2, Microsoft3
01 Jul 2010-IEEE Software
TL;DR: The authors provide an overview of recommendation systems for software engineering: what they are, what they can do for developers, and what they might do in the future.
Abstract: Software development can be challenging because of the large information spaces that developers must navigate. Without assistance, developers can become bogged down and spend a disproportionate amount of their time seeking information at the expense of other value-producing tasks. Recommendation systems for software engineering (RSSEs) are software tools that can assist developers with a wide range of activities, from reusing code to writing effective bug reports. The authors provide an overview of recommendation systems for software engineering: what they are, what they can do for developers, and what they might do in the future.

483 citations

Guidelines for verifying and validating software requirements and design specifications

[...]

Barry Boehm
1 Jan 2010
TL;DR: These recommendation provide a good starting point for identifying and resolving software problems early in life cycle—when they're s relatively easy to handle.
Abstract: Definitions of the terms "verification" and "validation," and an explanation of their context in the software life-cycle; A description of the basic sequence of functions performed during software requirements and design VV An evaluation of the relative cost and effectiveness of the major software requirements and design VV An example V&V checklist for software system reliability and availability.

480 citations

Journal Article•10.1145/1764810.1764814•
Software development lifecycle models

[...]

Nayan B. Ruparelia1•
Hewlett-Packard1
11 May 2010-ACM Sigsoft Software Engineering Notes
TL;DR: The waterfall model is considered before the other models because it has had a profound effect on software development, and has additionally influenced many SDLC models prevalent today.
Abstract: This history column article provides a tour of the main software development life cycle (SDLC) models. (A lifecycle covers all the stages of software from its inception with requirements definition through to fielding and maintenance.) System development lifecycle models have drawn heavily on software and so the two terms can be used interchangeably in terms of SDLC, especially since software development in this respect encompasses software systems development. Because the merits of selecting and using an SDLC vary according to the environment in which software is developed as well as its application, I discuss three broad categories for consideration when analyzing the relative merits of SDLC models. I consider the waterfall model before the other models because it has had a profound effect on software development, and has additionally influenced many SDLC models prevalent today. Thereafter, I consider some of the mainstream models and finish with a discussion of what the future could hold for SDLC models.

416 citations

Proceedings Article•10.1145/1806799.1806817•
Software traceability with topic modeling

[...]

Hazeline U. Asuncion1, Arthur U. Asuncion1, Richard N. Taylor1•
University of California, Irvine1
1 May 2010
TL;DR: An automated technique that combines traceability with a machine learning technique known as topic modeling is proposed that automatically records traceability links during the software development process and learns a probabilistic topic model over artifacts.
Abstract: Software traceability is a fundamentally important task in software engineering. The need for automated traceability increases as projects become more complex and as the number of artifacts increases. We propose an automated technique that combines traceability with a machine learning technique known as topic modeling. Our approach automatically records traceability links during the software development process and learns a probabilistic topic model over artifacts. The learned model allows for the semantic categorization of artifacts and the topical visualization of the software system. To test our approach, we have implemented several tools: an artifact search tool combining keyword-based search and topic modeling, a recording tool that performs prospective traceability, and a visualization tool that allows one to navigate the software architecture and view semantic topics associated with relevant artifacts and architectural components. We apply our approach to several data sets and discuss how topic modeling enhances software traceability, and vice versa.

374 citations

A Comparison Between Five Models Of Software Engineering

[...]

Nabil Mohammed, Ali Munassar, A. Govardhan
1 Jan 2010
TL;DR: 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.
Abstract: 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.

358 citations

Journal Article•10.1016/J.JSS.2009.06.051•
From integration to composition: On the impact of software product lines, global development and ecosystems

[...]

Jan Bosch1, Petra M. Bosch-Sijtsema2•
Intuit1, Helsinki University of Technology2
01 Jan 2010-Journal of Systems and Software
TL;DR: Five approaches to software development are presented, organized from integration-centric to composition-oriented and the areas of applicability are described.

277 citations

Search Based Software Engineering: Techniques, Taxonomy, Tutorial.

[...]

Mark Harman1, Phil McMinn2, Jerffeson Teixeira de Souza, Shin Yoo1•
University College London1, University of Sheffield2
1 Jan 2010
TL;DR: This tutorial will present the reader with a step-by-step guide to the application of SBSE techniques to Software Engineering, and assumes neither previous knowledge nor experience with Search Based Optimisation.
Abstract: The aim of Search Based Software Engineering (SBSE) research is to move software engineering problems from human-based search to machine-based search, using a variety of techniques from the metaheuristic search, operations research and evolutionary computation paradigms. The idea is to exploit humans' creativity and machines' tenacity and reliability, rather than requiring humans to perform the more tedious, error prone and thereby costly aspects of the engineering process. SBSE can also provide insights and decision support. This tutorial will present the reader with a step-by-step guide to the application of SBSE techniques to Software Engineering. It assumes neither previous knowledge nor experience with Search Based Optimisation. The intention is that the tutorial will cover sufficient material to allow the reader to become productive in successfully applying search based optimisation to a chosen Software Engineering problem of interest.

264 citations

Proceedings Article•10.1145/1712605.1712624•
Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms

[...]

Anne Martens1, Heiko Koziolek2, Steffen Becker, Ralf Reussner1•
Karlsruhe Institute of Technology1, Ladenburg Thalmann2
28 Jan 2010
TL;DR: This work proposes an automated approach to search the design space for good solutions by applying a multi-criteria genetic algorithm to software architectures modelled with the Palladio Component Model and can be extended to other quantitative quality criteria of software architectures.
Abstract: Quantitative prediction of quality properties (i.e. extra-functional properties such as performance, reliability, and cost) of software architectures during design supports a systematic software engineering approach. Designing architectures that exhibit a good trade-off between multiple quality criteria is hard, because even after a functional design has been created, many remaining degrees of freedom in the software architecture span a large, discontinuous design space. In current practice, software architects try to find solutions manually, which is time-consuming, can be error-prone and can lead to suboptimal designs. We propose an automated approach to search the design space for good solutions. Starting with a given initial architectural model, the approach iteratively modifies and evaluates architectural models. Our approach applies a multi-criteria genetic algorithm to software architectures modelled with the Palladio Component Model. It supports quantitative performance, reliability, and cost prediction and can be extended to other quantitative quality criteria of software architectures. We validate the applicability of our approach by applying it to an architecture model of a component-based business information system and analyse its quality criteria trade-offs by automatically investigating more than 1200 alternative design candidates.
Journal Article•10.1007/S10458-009-9099-4•
ASPECS: an agent-oriented software process for engineering complex systems

[...]

Massimo Cossentino1, Nicolas Gaud1, Vincent Hilaire1, Stéphane Galland1, A. Koukam1 •
Universite de technologie de Belfort-Montbeliard1
01 Mar 2010-Autonomous Agents and Multi-Agent Systems
TL;DR: This paper introduces an agent-oriented software process for engineering complex systems called ASPECS, based on a holonic organisational metamodel and provides a step-by-step guide from requirements to code allowing the modelling of a system at different levels of details using a set of refinement methods.
Abstract: Holonic multiagent systems (HMAS) offer a promising software engineering approach for developing complex open software systems. However the process of building Multi-Agent Systems (MAS) and HMAS is mostly different from the process of building more traditional software systems as it introduces new design and development challenges. This paper introduces an agent-oriented software process for engineering complex systems called ASPECS. ASPECS is based on a holonic organisational metamodel and provides a step-by-step guide from requirements to code allowing the modelling of a system at different levels of details using a set of refinement methods. This paper details the entire ASPECS development process and provides a set of methodological guidelines for each process activity. A complete case study is also used to illustrate the design process and the associated notations. ASPECS uses UML as a modelling language. Because of the specific needs of agents and holonic organisational design, the UML semantics and notation are used as reference points, but they have been extended by introducing new specific profiles.
Journal Article•10.1145/1713254.1713257•
Cloud9: a software testing service

[...]

Liviu Ciortea1, Cristian Zamfir1, Stefan Bucur1, Vitaly Chipounov1, George Candea1 •
École Polytechnique Fédérale de Lausanne1
27 Jan 2010-Operating Systems Review
TL;DR: To the authors' knowledge, Cloud9 is the first symbolic execution engine that scales to large clusters of machines, thus enabling thorough automated testing of real software in conveniently short amounts of time.
Abstract: Cloud9 aims to reduce the resource-intensive and laborintensive nature of high-quality software testing. First, Cloud9 parallelizes symbolic execution (an effective, but still poorly scalable test automation technique) to large shared-nothing clusters. To our knowledge, Cloud9 is the first symbolic execution engine that scales to large clusters of machines, thus enabling thorough automated testing of real software in conveniently short amounts of time. Preliminary results indicate one to two orders of magnitude speedup over a state-of-the-art symbolic execution engine. Second, Cloud9 is an on-demand software testing service: it runs on compute clouds, like Amazon EC2, and scales its use of resources over a wide dynamic range, proportionally with the testing task at hand.
Proceedings Article•10.1145/1815961.1816026•
Relax: an architectural framework for software recovery of hardware faults

[...]

Marc de Kruijf1, Shuou Nomura1, Karthikeyan Sankaralingam1•
University of Wisconsin-Madison1
19 Jun 2010
TL;DR: This paper considers whether exposing hardware fault information to software and allowing software to control fault recovery simplifies hardware design and helps technology scaling, and describes Relax, an architectural framework for software recovery of hardware faults.
Abstract: As technology scales ever further, device unreliability is creating excessive complexity for hardware to maintain the illusion of perfect operation. In this paper, we consider whether exposing hardware fault information to software and allowing software to control fault recovery simplifies hardware design and helps technology scaling. The combination of emerging applications and emerging many-core architectures makes software recovery a viable alternative to hardware-based fault recovery. Emerging applications tend to have few I/O and memory side-effects, which limits the amount of information that needs checkpointing, and they allow discarding individual sub-computations with small qualitative impact. Software recovery can harness these properties in ways that hardware recovery cannot. We describe Relax, an architectural framework for software recovery of hardware faults. Relax includes three core components: (1) an ISA extension that allows software to mark regions of code for software recovery, (2) a hardware organization that simplifies reliability considerations and provides energy efficiency with hardware recovery support removed, and (3) software support for compilers and programmers to utilize the Relax ISA. Applying Relax to counter the effects of process variation, our results show a 20% energy efficiency improvement for PARSEC applications with only minimal source code changes and simpler hardware.
Proceedings Article•10.1145/1806799.1806872•
Summarizing software artifacts: a case study of bug reports

[...]

Sarah Rastkar1, Gail C. Murphy1, Gabriel Murray1•
University of British Columbia1
1 May 2010
TL;DR: It is found that existing conversation-based generators can produce better results than random generators and that a generator trained specifically on bug reports can perform statistically better than existing conversationThe generation of summaries for bug reports is considered.
Abstract: Many software artifacts are created, maintained and evolved as part of a software development project. As software developers work on a project, they interact with existing project artifacts, performing such activities as reading previously filed bug reports in search of duplicate reports. These activities often require a developer to peruse a substantial amount of text. In this paper, we investigate whether it is possible to summarize software artifacts automatically and effectively so that developers could consult smaller summaries instead of entire artifacts. To provide focus to our investigation, we consider the generation of summaries for bug reports. We found that existing conversation-based generators can produce better results than random generators and that a generator trained specifically on bug reports can perform statistically better than existing conversation-based generators. We demonstrate that humans also find these generated summaries reasonable indicating that summaries might be used effectively for many tasks.
Journal Article•10.1016/J.COSREV.2010.06.001•
Survey: A survey on search-based software design

[...]

Outi Raiha1•
Tampere University of Technology1
01 Nov 2010-Computer Science Review
TL;DR: The basics of the most popular meta-heuristic algorithms are presented as background to the search-based viewpoint, and the choices regarding critical decisions, when used in meta- heuristic search algorithms, are emphasized and discussed in detail.
Book•
Managing Software Engineering Knowledge

[...]

Aybueke Aurum, Jeffery Ross, Wohlin Claes, Meliha Handzic
1 Dec 2010
TL;DR: This chapter discusses Knowledge Management in Software Engineering, e-R&D: Effectively Managing and Using R&D Knowledge, and Knowledge Infrastructure for Project Management.
Abstract: 1 Why Is It Important to Manage Knowledge?.- 1 Managing Software Engineers and Their Knowledge.- 2 An Investigation into Software Development Process Knowledge.- 3 Usage of Intranet Tools for Knowledge Management in a Medium-Sized Software Consulting Company.- 2 Supporting Structures for Managing Software Engineering Knowledge.- 4 Knowledge Management for Software Organizations.- 5 A Dynamic Model of Software Engineering Knowledge Creation.- 6 Evaluating an Approach to Sharing Software Engineering Knowledge to Facilitate Learning.- 7 Eliciting and Maintaining Knowledge for Requirements Evolution.- 8 Emergent Knowledge in Web Development.- 3 Application of Knowledge Management in Software Engineering.- 9 Case-Based Reasoning and Software Engineering.- 10 A Process for Identifying Relevant Information for a Repository: A Case Study for Testing Techniques.- 11 A Knowledge Management Framework to Support Software Inspection Planning.- 12 Lessons Learned in Software Quality Assurance.- 13 Making Software Engineering Competence Development Sustained through Systematic Experience Management.- 4 Practical Guidelines for Managing Software Engineering Knowledge.- 14 Practical Guidelines for Learning-Based Software Product Development.- 15 In-Project Learning by Goal-oriented Measurement.- 16 e-R&D: Effectively Managing and Using R&D Knowledge.- 17 Knowledge Infrastructure for Project Management.
Quality Models in Software Engineering Literature: An Analytical and Comparative Study

[...]

Rafa E. Al-Qutaish
1 Jan 2010
TL;DR: This paper will discuss the contents of the following quality models: McCall’s quality model, Boehm's quality model , Dromey'squality model, FURPS quality model and ISO 9126 quality model; and find the key differences between them.
Abstract: The quality of the software is critical and essential in different types of organizations. In some types of software, poor quality of the software product in sensitive systems (such as: real-time systems, control systems, etc.) may lead to loss of human life, permanent injury, mission failure, or financial loss. In software engineering literature, there are a number of quality models in which they contain a number of quality characteristics (or factors, as called in some models). These quality characteristics could be used to reflect the quality of the software product from the view of that characteristic. Selecting which one of the quality models to use is a real challenge. In this paper, we will discuss the contents of the following quality models: McCall’s quality model, Boehm’s quality model, Dromey's quality model, FURPS quality model and ISO 9126 quality model. In addition, we will focus on a comparison between these quality models, and find the key differences between them. [Journal of American Science 2010; 6(3):166-175]. (ISSN: 1545-1003).
Journal Article•10.1016/J.INFSOF.2009.07.002•
Characterizing software architecture changes: A systematic review

[...]

Byron J. Williams1, Jeffrey C. Carver2•
Mississippi State University1, University of Alabama2
01 Jan 2010-Information & Software Technology
TL;DR: A systematic literature review of software architecture change characteristics was presented and the results were used to create the Software Architecture Change Characterization Scheme (SACCS), which is to identify the characteristics of a software change that will have an impact on the high-level software architecture.
Abstract: With today's ever increasing demands on software, software developers must produce software that can be changed without the risk of degrading the software architecture. One way to address software changes is to characterize their causes and effects. A software change characterization mechanism allows developers to characterize the effects of a change using different criteria, e.g. the cause of the change, the type of change that needs to be made, and the part of the system where the change must take place. This information then can be used to illustrate the potential impact of the change. This paper presents a systematic literature review of software architecture change characteristics. The results of this systematic review were used to create the Software Architecture Change Characterization Scheme (SACCS). This report addresses key areas involved in making changes to software architecture. SACCS's purpose is to identify the characteristics of a software change that will have an impact on the high-level software architecture.
Book•
Software Metrics and Software Metrology

[...]

Alain Abran
28 Jun 2010
TL;DR: This book looks at the classical metrology concepts from science and engineering using them as criteria to propose an approach to analyze the design of current software measures and then design new software measures.
Abstract: Most of the software measures currently proposed to the industry bring few real benefits to either software managers or developers. This book looks at the classical metrology concepts from science and engineering, using them as criteria to propose an approach to analyze the design of current software measures and then design new software measures (illustrated with the design of a software measure that has been adopted as an ISO measurement standard). The book includes several case studies analyzing strengths and weaknesses of some of the software measures most often quoted. It is meant for software quality specialists and process improvement analysts and managers.
Proceedings Article•10.1145/1882362.1882389•
Software engineering in an uncertain world

[...]

David Garlan1•
Carnegie Mellon University1
7 Nov 2010
TL;DR: It is argued that the reality of today's software systems requires us to consider uncertainty as a first-class concern in the design, implementation, and deployment of those systems.
Abstract: In this paper, we argue that the reality of today's software systems requires us to consider uncertainty as a first-class concern in the design, implementation, and deployment of those systems. We further argue that this induces a paradigm shift, and a number of research challenges that must be addressed.
Journal Article•10.1155/2010/620836•
Software test automation in practice: empirical observations

[...]

Jussi Kasurinen1, Ossi Taipale1, Kari Smolander1•
Lappeenranta University of Technology1
01 Jan 2010-Advances in Software Engineering
TL;DR: Based on the study, the applicability of test automation is still limited and its adaptation to testing contains practical difficulties in usability, and the limitations and difficulties are analyzed.
Abstract: The objective of this industry study is to shed light on the current situation and improvement needs in software test automation. To this end, 55 industry specialists from 31 organizational units were interviewed. In parallel with the survey, a qualitative study was conducted in 12 selected software development organizations. The results indicated that the software testing processes usually follow systematic methods to a large degree, and have only little immediate or critical requirements for resources. Based on the results, the testing processes have approximately three fourths of the resources they need, and have access to a limited, but usually sufficient, group of testing tools. As for the test automation, the situation is not as straightforward: based on our study, the applicability of test automation is still limited and its adaptation to testing contains practical difficulties in usability. In this study, we analyze and discuss these limitations and difficulties.
Journal Article•10.1016/J.SCICO.2009.09.004•
The Small Project Observatory: Visualizing software ecosystems

[...]

Mircea Lungu1, Michele Lanza1, Tudor Gîrba2, Romain Robbes1•
University of Lugano1, University of Bern2
01 Apr 2010-Science of Computer Programming
TL;DR: The Small Project Observatory is presented, a prototype tool which aims to support the analysis of software ecosystems through interactive visualization and exploration and distill lessons learned during the tool-building experience.
Patent•
Methods and systems for generating cross-mapping of vendor software in a cloud computing environment

[...]

James Michael Ferris, Gerry Edward Riveros
28 May 2010
TL;DR: In this paper, a compatibility service can determine the compatibility of different software programs provided by different vendors in a cloud and which of the identified software programs are compatible, based on a record of the compatible software programs and provide identification, tracking, and mapping services based on the record.
Abstract: A compatibility service can determine the compatibility of different software programs provide by different vendors in a cloud. The compatibility service can identify the software programs provided by different vendors in the cloud and which of the identified software programs are compatible. The compatibility service can generate and store a record of the compatible software programs and provide identification, tracking, and mapping services based on the record.
Proceedings Article•10.1145/1882362.1882446•
Validity concerns in software engineering research

[...]

Hyrum K. Wright1, Miryung Kim1, Dewayne E. Perry1•
University of Texas at Austin1
7 Nov 2010
TL;DR: It is concluded that researchers in empirical software engineering must consider the external validity concerns that arise from using only several well-known open source software projects, and that discussion of data source selection is an important discussion topic in software engineering research.
Abstract: Empirical studies that use software repository artifacts have become popular in the last decade due to the ready availability of open source project archives. In this paper, we survey empirical studies in the last three years of ICSE and FSE proceedings, and categorize these studies in terms of open source projects vs. proprietary source projects and the diversity of subject programs used in these studies. Our survey has shown that almost half (49%) of recent empirical studies used solely open source projects. Existing studies either draw general conclusions from these results or explicitly disclaim any conclusions that can extend beyond specific subject software.We conclude that researchers in empirical software engineering must consider the external validity concerns that arise from using only several well-known open source software projects, and that discussion of data source selection is an important discussion topic in software engineering research. Furthermore, we propose a community research infrastructure for software repository benchmarks and sharing the empirical analysis results, in order to address external validity concerns and to raise the bar for empirical software engineering research that analyzes software artifacts.
Proceedings Article•10.1145/1882362.1882448•
Software bloat analysis: finding, removing, and preventing performance problems in modern large-scale object-oriented applications

[...]

Guoqing Xu1, Nick Mitchell2, Matthew Arnold2, Atanas Rountev1, Gary Sevitsky2 •
Ohio State University1, IBM2
7 Nov 2010
TL;DR: It is argued that, in the modern era when Moore's dividend becomes less obvious, performance optimization is more of a software engineering problem than ever and should receive much more attention in the future.
Abstract: Generally believed to be a problem belonging to the compiler and architecture communities, performance optimization has rarely gained attention in mainstream software engineering research. However, due to the proliferation of large-scale object-oriented software designed to solve increasingly complex problems, performance issues stand out, preventing applications from meeting their performance requirements. Many such issues result from design principles adopted widely in the software research community, such as the idea of software reuse and design patterns. We argue that, in the modern era when Moore's dividend becomes less obvious, performance optimization is more of a software engineering problem than ever and should receive much more attention in the future. We explain why this is the case, review what has been achieved in software bloat analysis, present challenges, and provide a road map for future work.
Book•10.1002/9780470606834•
Software Metrics and Software Metrology: Abran/Software Metrics

[...]

Alain Abran
24 May 2010
Book•
Collaborative Software Engineering

[...]

Ivan Mistrk1, John Grundy1, Andr Hoek, Jim Whitehead•
Swinburne University of Technology1
10 Mar 2010
TL;DR: This book delivers a comprehensive state-of-the-art overview and empirical results for researchers in academia and industry in areas like software process management, empirical software engineering, and global software development.
Abstract: Collaboration among individuals from users to developers is central to modern software engineering. It takes many forms: joint activity to solve common problems, negotiation to resolve conflicts, creation of shared definitions, and both social and technical perspectives impacting all software development activity. The difficulties of collaboration are also well documented. The grand challenge is not only to ensure that developers in a team deliver effectively as individuals, but that the whole team delivers more than just the sum of its parts. The editors of this book have assembled an impressive selection of authors, who have contributed to an authoritative body of work tackling a wide range of issues in the field of collaborative software engineering. The resulting volume is divided into four parts, preceded by a general editorial chapter providing a more detailed review of the domain of collaborative software engineering. Part 1 is on "Characterizing Collaborative Software Engineering", Part 2 examines various "Tools and Techniques", Part 3 addresses organizational issues, and finally Part 4 contains four examples of "Emerging Issues in Collaborative Software Engineering". As a result, this book delivers a comprehensive state-of-the-art overview and empirical results for researchers in academia and industry in areas like software process management, empirical software engineering, and global software development. Practitioners working in this area will also appreciate the detailed descriptions and reports which can often be used as guidelines to improve their daily work.
Proceedings Article•10.1145/1882362.1882397•
Software intelligence: the future of mining software engineering data

[...]

Ahmed E. Hassan1, Tao Xie2•
Queen's University1, North Carolina State University2
7 Nov 2010
TL;DR: This position paper summarizes the state of practice and research of SI, and lays out future research directions for mining software engineering data to enable SI.
Abstract: Mining software engineering data has emerged as a successful research direction over the past decade. In this position paper, we advocate Software Intelligence (SI) as the future of mining software engineering data, within modern software engineering research, practice, and education. We coin the name SI as an inspiration from the Business Intelligence (BI) field, which offers concepts and techniques to improve business decision making by using fact-based support systems. Similarly, SI offers software practitioners (not just developers) up-to-date and pertinent information to support their daily decision-making processes. SI should support decision-making processes throughout the lifetime of a software system not just during its development phase.The vision of SI has yet to become a reality that would enable software engineering research to have a strong impact on modern software practice. Nevertheless, recent advances in the Mining Software Repositories (MSR) field show great promise and provide strong support for realizing SI in the near future. This position paper summarizes the state of practice and research of SI, and lays out future research directions for mining software engineering data to enable SI.
Proceedings Article•10.1145/1806799.1806824•
An exploratory study of the evolution of software licensing

[...]

Massimiliano Di Penta1, Daniel M. German2, Yann-Gaël Guéhéneuc3, Giuliano Antoniol3•
University of Sannio1, University of Victoria2, École Polytechnique de Montréal3
1 May 2010
TL;DR: This work proposes an approach to automatically track changes occurring in the licensing terms of a system and reports an empirical study of the licensing evolution of six different FOSS systems, showing that licensing underwent frequent and substantial changes.
Abstract: Free and open source software systems (FOSS) are distributed and made available to users under different software licenses, mentioned in FOSS code by means of licensing statements. Various factors, such as changes in the legal landscape, commercial code licensed as FOSS, or code reused from other FOSS systems, lead to evolution of licensing, which may affect the way a system or part thereof can be subsequently used. Therefore, it is crucial to monitor licensing evolution. However, manually tracking the licensing evolution of thousands of files is a daunting task. After presenting several cases of the effects of licensing evolution, we propose an approach to automatically track changes occurring in the licensing terms of a system. Then, we report an empirical study of the licensing evolution of six different FOSS systems. Results show that licensing underwent frequent and substantial changes.
...

Tools

SciSpace AgentBiomedical AgentSciSpace RecruitSciSpace for EnterpriseAgent GalleryChat with PDFLiterature ReviewAI WriterFind TopicsParaphraserCitation GeneratorExtract DataAI DetectorCitation Booster

Learn

ResourcesLive Workshops

SciSpace

CareersSupportBrowse PapersPricingSciSpace Affiliate ProgramCancellation & Refund PolicyTermsPrivacyData Sources

Directories

PapersTopicsJournalsAuthorsConferencesInstitutionsCitation StylesWriting templates

Extension & Apps

SciSpace Chrome ExtensionSciSpace Mobile App

Contact

support@scispace.com
SciSpace

© 2026 | PubGenius Inc. | Suite # 217 691 S Milpitas Blvd Milpitas CA 95035, USA

soc2
Secured by Delve