Scispace (Formerly Typeset)
  1. Home
  2. Topics
  3. Software construction
  4. 2012
  1. Home
  2. Topics
  3. Software construction
  4. 2012
Showing papers on "Software construction published in 2012"
Journal Article•10.1002/ASI.22688•
SciMAT : A new science mapping analysis software tool

[...]

Manuel Cobo1, Antonio Gabriel López-Herrera1, Enrique Herrera-Viedma1, Francisco Herrera1•
University of Granada1
01 Aug 2012-Journal of the Association for Information Science and Technology
TL;DR: A new open-source software tool, SciMAT, which performs science mapping analysis within a longitudinal framework that provides different modules that help the analyst to carry out all the steps of the science mapping workflow.
Abstract: This article presents a new open-source software tool, SciMAT, which performs science mapping analysis within a longitudinal framework. It provides different modules that help the analyst to carry out all the steps of the science mapping workflow. In addition, SciMAT presents three key features that are remarkable in respect to other science mapping software tools: (a) a powerful preprocessing module to clean the raw bibliographical data, (b) the use of bibliometric measures to study the impact of each studied element, and (c) a wizard to configure the analysis. © 2012 Wiley Periodicals, Inc.

1,040 citations

Proceedings Article•10.1145/2351676.2351752•
GZoltar: an eclipse plug-in for testing and debugging

[...]

Jose Campos1, André Riboira1, Alexandre Perez1, Rui Abreu1•
University of Porto1
3 Sep 2012
TL;DR: A toolset for automatic testing and fault localization, dubbed GZoltar, which hosts techniques for (regression) test suite minimization and automatic fault diagnosis (namely, spectrum-based fault localization).
Abstract: Testing and debugging is the most expensive, error-prone phase in the software development life cycle. Automated testing and diagnosis of software faults can drastically improve the efficiency of this phase, this way improving the overall quality of the software. In this paper we present a toolset for automatic testing and fault localization, dubbed GZoltar, which hosts techniques for (regression) test suite minimization and automatic fault diagnosis (namely, spectrum-based fault localization). The toolset provides the infrastructure to automatically instrument the source code of software programs to produce runtime data. Subsequently the data was analyzed to both minimize the test suite and return a ranked list of diagnosis candidates. The toolset is a plug-and-play plug-in for the Eclipse IDE to ease world-wide adoption.

234 citations

WATEERFALLVs V-MODEL Vs AGILE: A COMPARATIVE STUDY ON SDLC

[...]

S. Balaji, M. Sundararajan Murugaiyan
1 Jan 2012
TL;DR: This comparative summarizes the steps an organization would have to go through in order to make the best possible choice when selecting the right software development life cycle (SDLC).
Abstract: Organizations that are developing software solution are faced with the difficult choice of picking the right software development life cycle (SDLC). The waterfall model is a sequential design process, often used in software development processes, in which progress is seen as flowing steadily downwards (like a waterfall) through the phases. The V-model represents a software development process which may be considered an extension of the waterfall model. Instead of moving down in a linear way, the process steps are bent upwards after the coding phase, to form the typical V shape Agile Modeling is a practice-based methodology for modelling and documentation of software-based systems. It is intended to be a collection of values, principles, and practices for modelling software that can be applied on a software development project in a more flexible manner than traditional Modelling methods. This comparative summarizes the steps an organization would have to go through in order to make the best possible choice.

233 citations

Journal Article•10.1155/2012/959013•
Robotics Middleware: A Comprehensive Literature Survey and Attribute-Based Bibliography

[...]

Ayssam Elkady, Tarek M. Sobh
07 May 2012-Journal of Robotics
TL;DR: A literature survey and attribute-based bibliography of the current state of the art in robotic middleware design is presented to assist roboticmiddleware researchers in evaluating the strengths and weaknesses of current approaches and their appropriateness for their applications.
Abstract: Autonomous robots are complex systems that require the interaction between numerous heterogeneous components (software and hardware). Because of the increase in complexity of robotic applications and the diverse range of hardware, robotic middleware is designed to manage the complexity and heterogeneity of the hardware and applications, promote the integration of new technologies, simplify software design, hide the complexity of low-level communication and the sensor heterogeneity of the sensors, improve software quality, reuse robotic software infrastructure across multiple research efforts, and to reduce production costs. This paper presents a literature survey and attribute-based bibliography of the current state of the art in robotic middleware design. The main aim of the survey is to assist robotic middleware researchers in evaluating the strengths and weaknesses of current approaches and their appropriateness for their applications. Furthermore, we provide a comprehensive set of appropriate bibliographic references that are classified based on middleware attributes.

227 citations

Proceedings Article•10.5555/2337223.2337273•
Graph-based analysis and prediction for software evolution

[...]

Pamela Bhattacharya1, Marios Iliofotou1, Iulian Neamtiu1, Michalis Faloutsos1•
University of California, Riverside1
2 Jun 2012
TL;DR: This work shows how a graph-based characterization of a software system can be used to capture its evolution and facilitate development, by helping to estimate bug severity, prioritize refactoring efforts, and predict defect-prone releases.
Abstract: We exploit recent advances in analysis of graph topology to better understand software evolution, and to construct predictors that facilitate software development and maintenance. Managing an evolving, collaborative software system is a complex and expensive process, which still cannot ensure software reliability. Emerging techniques in graph mining have revolutionized the modeling of many complex systems and processes. We show how we can use a graph-based characterization of a software system to capture its evolution and facilitate development, by helping us estimate bug severity, prioritize refactoring efforts, and predict defect-prone releases. Our work consists of three main thrusts. First, we construct graphs that capture software structure at two different levels: (a) the product, i.e., source code and module level, and (b) the process, i.e., developer collaboration level. We identify a set of graph metrics that capture interesting properties of these graphs. Second, we study the evolution of eleven open source programs, including Firefox, Eclipse, MySQL, over the lifespan of the programs, typically a decade or more. Third, we show how our graph metrics can be used to construct predictors for bug severity, high-maintenance software parts, and failure-prone releases. Our work strongly suggests that using graph topology analysis concepts can open many actionable avenues in software engineering research and practice.

214 citations

Journal Article•10.1007/S10009-012-0253-Y•
Software diversity: state of the art and perspectives

[...]

Ina Schaefer1, Rick Rabiser, Dave Clarke2, Lorenzo Bettini3, David Benavides4, Goetz Botterweck5, Animesh Pathak6, Salvador Trujillo, Karina Villela7 •
Braunschweig University of Technology1, Katholieke Universiteit Leuven2, University of Turin3, University of Seville4, University of Limerick5, French Institute for Research in Computer Science and Automation6, Fraunhofer Society7
01 Oct 2012-International Journal on Software Tools for Technology Transfer
TL;DR: This introductory article to the special section “Software Diversity—Modeling, Analysis and Evolution” provides an overview of the current state of the art in diverse systems development and discusses challenges and potential solutions.
Abstract: Diversity is prevalent in modern software systems to facilitate adapting the software to customer requirements or the execution environment. Diversity has an impact on all phases of the software development process. Appropriate means and organizational structures are required to deal with the additional complexity introduced by software variability. This introductory article to the special section "Software Diversity--Modeling, Analysis and Evolution" provides an overview of the current state of the art in diverse systems development and discusses challenges and potential solutions. The article covers requirements analysis, design, implementation, verification and validation, maintenance and evolution as well as organizational aspects. It also provides an overview of the articles which are part of this special section and addresses particular issues of diverse systems development.

189 citations

Proceedings Article•10.1145/2372251.2372256•
What works for whom, where, when, and why?: on the role of context in empirical software engineering

[...]

Tore Dybå1, D. I. K. Sjiberg1, Daniela S. Cruzes2•
University of Oslo1, Norwegian University of Science and Technology2
19 Sep 2012
TL;DR: An overview of how context affects empirical research and how empirical software engineering research can be better `contextualized' in order to provide a better understanding of what works for whom, where, when, and why is provided.
Abstract: Context is a central concept in empirical software engineering. It is one of the distinctive features of the discipline and it is an in-dispensable part of software practice. It is likely responsible for one of the most challenging methodological and theoretical problems: study-to-study variation in research findings. Still, empirical software engineering research is mostly concerned with attempts to identify universal relationships that are independent of how work settings and other contexts interact with the processes important to software practice. The aim of this paper is to provide an overview of how context affects empirical research and how empirical software engineering research can be better 'contextualized' in order to provide a better understanding of what works for whom, where, when, and why. We exemplify the importance of context with examples from recent systematic reviews and offer recommendations on the way forward.

157 citations

Proceedings Article•
Competition on Software Verification (SV-COMP)

[...]

Dirk Beyer1•
University of Passau1
1 Jan 2012
TL;DR: The verification community has performed competitions in various areas in the past, and SV-COMP'12 is the first competition of verification tools that take software programs as input and run a fully automatic verifying of a given safety property.
Abstract: This report describes the definitions, rules, setup, procedure, and results of the 1st International Competition on Software Verification. The verification community has performed competitions in various areas in the past, and SV-COMP'12 is the first competition of verification tools that take software programs as input and run a fully automatic verifica- tion of a given safety property. This year's competition is organized as a satellite event of the International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS).

149 citations

Journal Article•10.1109/MC.2012.332•
Building Dynamic Software Product Lines

[...]

Mike Hinchey1, Sooyong Park2, Klaus Schmid3•
University of Limerick1, Sogang University2, University of Hildesheim3
01 Oct 2012-IEEE Computer
TL;DR: Dynamic software product lines extend existing product line engineering approaches by moving their capabilities to runtime, helping to ensure that system adaptations lead to desirable properties.
Abstract: Dynamic software product lines extend existing product line engineering approaches by moving their capabilities to runtime, helping to ensure that system adaptations lead to desirable properties.

132 citations

Journal Article•10.1145/2110356.2110360•
Improving Software Diagnosability via Log Enhancement

[...]

Ding Yuan1, Jing Zheng2, Soyeon Park2, Yuanyuan Zhou2, Stefan Savage2 •
University of Illinois at Urbana–Champaign1, University of California, San Diego2
01 Feb 2012-ACM Transactions on Computer Systems
TL;DR: A tool, LogEnhancer, is described that automatically “enhances” existing logging code to aid in future post-failure debugging and can dramatically reduce the set of potential root failure causes that must be considered while imposing negligible overheads.
Abstract: Diagnosing software failures in the field is notoriously difficult, in part due to the fundamental complexity of troubleshooting any complex software system, but further exacerbated by the paucity of information that is typically available in the production setting. Indeed, for reasons of both overhead and privacy, it is common that only the run-time log generated by a system (e.g., syslog) can be shared with the developers. Unfortunately, the ad-hoc nature of such reports are frequently insufficient for detailed failure diagnosis. This paper seeks to improve this situation within the rubric of existing practice. We describe a tool, LogEnhancer that automatically “enhances” existing logging code to aid in future post-failure debugging. We evaluate LogEnhancer on eight large, real-world applications and demonstrate that it can dramatically reduce the set of potential root failure causes that must be considered while imposing negligible overheads.

127 citations

Proceedings Article•10.1109/RE.2012.6345838•
How do software architects consider non-functional requirements: An exploratory study

[...]

David Ameller1, Claudia P. Ayala1, Jordi Cabot2, Xavier Franch1•
Polytechnic University of Catalonia1, École des mines de Nantes2
24 Sep 2012
TL;DR: This paper presents some of the findings of an empirical study based on 13 interviews with software architects that addresses questions such as: who decides the NFRs, what types of N FRs matter to architects, how are NFR's documented, and how areNFRs validated.
Abstract: Dealing with non-functional requirements (NFRs) has posed a challenge onto software engineers for many years. Over the years, many methods and techniques have been proposed to improve their elicitation, documentation, and validation. Knowing more about the state of the practice on these topics may benefit both practitioners' and researchers' daily work. A few empirical studies have been conducted in the past, but none under the perspective of software architects, in spite of the great influence that NFRs have on daily architects' practices. This paper presents some of the findings of an empirical study based on 13 interviews with software architects. It addresses questions such as: who decides the NFRs, what types of NFRs matter to architects, how are NFRs documented, and how are NFRs validated. The results are contextualized with existing previous work.
Journal Article•10.1109/TSE.2011.3•
An Extensible Framework for Improving a Distributed Software System's Deployment Architecture

[...]

Sam Malek1, Nenad Medvidovic2, Marija Mikic-Rakic3•
George Mason University1, University of Southern California2, Google3
01 Jan 2012-IEEE Transactions on Software Engineering
TL;DR: In this article, the authors present and evaluate a framework aimed at finding the most appropriate deployment architecture for a distributed software system with respect to multiple, possibly conflicting QoS dimensions, and provide a set of tailorable algorithms for improving a system's deployment.
Abstract: A distributed system's allocation of software components to hardware nodes (i.e., deployment architecture) can have a significant impact on its quality of service (QoS). For a given system, there may be many deployment architectures that provide the same functionality, but with different levels of QoS. The parameters that influence the quality of a system's deployment architecture are often not known before the system's initial deployment and may change at runtime. This means that redeployment of the software system may be necessary to improve the system's QoS properties. This paper presents and evaluates a framework aimed at finding the most appropriate deployment architecture for a distributed software system with respect to multiple, possibly conflicting QoS dimensions. The framework supports formal modeling of the problem and provides a set of tailorable algorithms for improving a system's deployment. We have realized the framework on top of a visual deployment architecture modeling and analysis environment. The framework has been evaluated for precision and execution-time complexity on a large number of simulated distributed system scenarios, as well as in the context of two third-party families of distributed applications.
Proceedings Article•10.1109/MINES.2012.202•
Software Vulnerability Discovery Techniques: A Survey

[...]

Bingchang Liu1, Liang Shi1, Zhuhua Cai1, Min Li1•
Xiamen University1
2 Nov 2012
TL;DR: This paper has done research on software vulnerability techniques, including static analysis, Fuzzing, penetration testing and vulnerability discovery models as an example of software vulnerability analysis methods which go hand in hand with vulnerability discovery techniques.
Abstract: Software vulnerabilities are the root cause of computer security problem. How people can quickly discover vulnerabilities existing in a certain software has always been the focus of information security field. This paper has done research on software vulnerability techniques, including static analysis, Fuzzing, penetration testing. Besides, the authors also take vulnerability discovery models as an example of software vulnerability analysis methods which go hand in hand with vulnerability discovery techniques. The ending part of the paper analyses the advantages and disadvantages of each technique introduced here and talks about the future direction of this field.
10.5555/2663779.2663789•
Initial explorations on design pattern energy usage

[...]

Cagri Sahin1, Furkan Cayci1, Irene Lizeth Manotas Gutierrez1, James Clause1, Fouad Kiamilev1, Lori Pollock1, Kristina Winbladh1 •
University of Delaware1
3 Jun 2012
TL;DR: In this article, the authors present an approach for mapping software design to power consumption and present empirical results of the approach on different software implementations, comparing the power profiles of software using design patterns against software not using design pattern as a way to explore how high-level design decisions affect an application's energy usage.
Abstract: As the use of computers has grown, so too has concern about the amount of power they consume. Data centers, for example, are limited in scalability as they struggle with soaring energy costs from many large companies relying on fast, reliable, and round-the-clock computing services. On large-scale computing clusters, like data centers, even a small drop in power consumption can have large effects. Across computing contexts, reducing power consumed by computers has become a major focus. In this paper, we present a new approach for mapping software design to power consumption and present empirical results of the approach on different software implementations. In particular, we compare the power profiles of software using design patterns against software not using design patterns as a way to explore how high-level design decisions affect an application's energy usage. We show how mappings between software design and power consumption profiles can provide software designers and developers with useful information about the power behavior of the software they are developing. The goal is for software engineers to use this information in designing and developing more energy efficient solutions.
Proceedings Article•10.1145/2362536.2362545•
A survey on software product line testing

[...]

Jihyun Lee1, Sungwon Kang2, Danhyung Lee2•
Daejeon University1, KAIST2
2 Sep 2012
TL;DR: This paper surveys the current software product line testing approaches by defining a reference SPL testing processes and identifying, based on them, key research perspectives that are important in SPL testing.
Abstract: Software product line (SPL) testing consists of two separate but closely related test engineering activities: domain testing and application testing. Various software product line testing approaches have been developed over the last decade, and surveys have been conducted on them. However, thus far none of them deeply addressed the questions of what researches have been conducted in order to overcome the challenges posed by the two separate testing activities and their relationships. Thus, this paper surveys the current software product line testing approaches by defining a reference SPL testing processes and identifying, based on them, key research perspectives that are important in SPL testing. Through this survey, we identify the researches that addressed the challenges and also derive open research opportunities from each perspective.
Book•
Ontology-Driven Software Development

[...]

Jeff Z. Pan, Steffen Staab, Uwe Amann, Jrgen Ebert, Yuting Zhao 
22 Dec 2012
TL;DR: This book is helpful for undergraduate students and professionals who are interested in studying how ontologies and related semantic reasoning can be applied to the software development process and for postgraduate students, professionals and researchers who are going to embark on their research in areas related to ontology or software engineering.
Abstract: This book is about a significant step forward in software development. It brings state-of-the-art ontology reasoning into mainstream software development and its languages. Ontology Driven Software Development is the essential, comprehensive resource on enabling technologies, consistency checking and process guidance for ontology-driven software development (ODSD). It demonstrates how to apply ontology reasoning in the lifecycle of software development, using current and emerging standards and technologies. You will learn new methodologies and infrastructures, additionally illustrated using detailed industrial case studies. The book will help you: Learn how ontology reasoning allows validations of structure models and key tasks in behavior models. Understand how to develop ODSD guidance engines for important software development activities, such as requirement engineering, domain modeling and process refinement. Become familiar with semantic standards, such as the Web Ontology Language (OWL) and the SPARQL query language. Make use of ontology reasoning, querying and justification techniques to integrate software models and to offer guidance and traceability supports. This book is helpful for undergraduate students and professionals who are interested in studying how ontologies and related semantic reasoning can be applied to the software development process. In addition, itwill also be useful for postgraduate students, professionals and researchers who are going to embark on their research in areas related to ontology or software engineering.
Proceedings Article•10.1109/AERO.2012.6187340•
Open source software framework for applications in aeronautics and space

[...]

Doreen Seider1, Markus Litz1, Andreas Schreiber1, Philipp M. Fischer1, Andreas Gerndt1 •
German Aerospace Center1
3 Mar 2012
TL;DR: This work presents RCE and shows how its software components are reused in two aerospace applications, allowing the integration of different domain-specific tools from local and remote locations into one overall calculation.
Abstract: The DLR developed the open source software framework RCE to support the collaborative and distributed work in the shipyard industry. From a technology side of view a software from the shipbuilding field has many requirements in common with aerospace software projects. Accordingly, RCE has become the basis for further projects within the DLR. Over the last years of usage a subset of frequently used software components could be derived and are provided by the RCE framework. In particular, the workflow engine, allowing the integration of different domain-specific tools from local and remote locations into one overall calculation has become important for various projects. We present RCE and show how its software components are reused in two aerospace applications.
Book Chapter•10.1007/978-3-642-28756-5_38•
Competition on software verification

[...]

Dirk Beyer1•
University of Passau1
24 Mar 2012
TL;DR: The first International Competition on Software Verification (SV-COMP'12) as discussed by the authors was organized as a satellite event of the International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS).
Abstract: This report describes the definitions, rules, setup, procedure, and results of the 1st International Competition on Software Verification. The verification community has performed competitions in various areas in the past, and SV-COMP'12 is the first competition of verification tools that take software programs as input and run a fully automatic verification of a given safety property. This year's competition is organized as a satellite event of the International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS).
Proceedings Article•10.1145/2371401.2371404•
Family-based deductive verification of software product lines

[...]

Thomas Thüm1, Ina Schaefer, Sven Apel2, Martin Hentschel•
Otto-von-Guericke University Magdeburg1, University of Passau2
26 Sep 2012
TL;DR: This work presents a family-based approach of deductive verification to prove the correctness of a software product line efficiently and shows that the theorem prover KeY can be used off-the-shelf for this task, without any modifications.
Abstract: A software product line is a set of similar software products that share a common code base. While software product lines can be implemented efficiently using feature-oriented programming, verifying each product individually does not scale, especially if human effort is required (e.g., as in interactive theorem proving). We present a family-based approach of deductive verification to prove the correctness of a software product line efficiently. We illustrate and evaluate our approach for software product lines written in a feature-oriented dialect of Java and specified using the Java Modeling Language. We show that the theorem prover KeY can be used off-the-shelf for this task, without any modifications. Compared to the individual verification of each product, our approach reduces the verification time needed for our case study by more than 85%.
Journal Article•10.1016/J.IJPROMAN.2011.08.004•
Impact propagation and risk assessment of requirement changes for software development projects based on design structure matrix

[...]

Yun Fu1, Minqiang Li1, Fuzan Chen1•
Tianjin University1
01 Apr 2012-International Journal of Project Management
TL;DR: A probabilistic model based on design structure matrix (DSM) is established to evaluate the risk of change propagation from requirements to software architecture and helps software project managers make a choice between different architecture candidates based on requirement changes.
Book Chapter•10.1007/978-3-642-31095-9_40•
Evolutionary search-based test generation for software product line feature models

[...]

Faezeh Ensan1, Ebrahim Bagheri2, Dragan Gašević2•
University of British Columbia1, Athabasca University2
25 Jun 2012
TL;DR: In this paper, an evolutionary testing approach based on Genetic Algorithms is proposed to explore the configuration space of a software product line feature model in order to automatically generate test suites, which is able to generate test suite of O(n) size complexity as opposed to O(2n).
Abstract: Product line-based software engineering is a paradigm that models the commonalities and variabilities of different applications of a given domain of interest within a unique framework and enhances rapid and low cost development of new applications based on reuse engineering principles. Despite the numerous advantages of software product lines, it is quite challenging to comprehensively test them. This is due to the fact that a product line can potentially represent many different applications; therefore, testing a single product line requires the test of its various applications. Theoretically, a product line with n software features can be a source for the development of 2n application. This requires the test of 2n applications if a brute-force comprehensive testing strategy is adopted. In this paper, we propose an evolutionary testing approach based on Genetic Algorithms to explore the configuration space of a software product line feature model in order to automatically generate test suites. We will show through the use of several publicly-available product line feature models that the proposed approach is able to generate test suites of O(n) size complexity as opposed to O(2n) while at the same time form a suitable tradeoff balance between error coverage and feature coverage in its generated test suites.
Proceedings Article•10.1109/ICSM.2012.6405316•
Sustainability guidelines for long-living software systems

[...]

Zoya Durdik1, Benjamin Klatt1, Heiko Koziolek2, Klaus Krogmann1, Johannes Stammel1, Roland Weiss2 •
Center for Information Technology1, Ladenburg Thalmann2
23 Sep 2012
TL;DR: A catalog of “software sustainability guidelines” to support project managers, software architects, and developers during system design, development, operation, and maintenance is created and how selected techniques from them were applied in two industrial case studies are described.
Abstract: Economically sustainable software systems must be able to cost-effectively evolve in response to changes in their environment, their usage profile, and business demands. However, in many software development projects, sustainability is treated as an afterthought, as developers are driven by time-to-market pressure and are often not educated to apply sustainability-improving techniques. While software engineering research and practice has suggested a large amount of such techniques, a holistic overview is missing and the effectiveness of individual techniques is often not sufficiently validated. On this behalf we created a catalog of “software sustainability guidelines” to support project managers, software architects, and developers during system design, development, operation, and maintenance. This paper describes how we derived these guidelines and how we applied selected techniques from them in two industrial case studies. We report several lessons learned about sustainable software development.
Patent•
Application software installation method and application software installation apparatus

[...]

Qifei Wang1•
Huawei1
12 Dec 2012
TL;DR: In this paper, an application software installation method and an application installation apparatus are used to solve problems of operation complexity and high implementation difficulty in an existing installation process of application software, which includes mounting mirror data of a virtual machine, and mapping the mirror data as one virtual disk in a local file system.
Abstract: An application software installation method and an application software installation apparatus are used to solve problems of operation complexity and high implementation difficulty in an existing installation process of application software. The method includes: mounting mirror data of a virtual machine, and mapping the mirror data as one virtual disk in a local file system; updating a registry file in a virtual disk according to registry change record data in an application software package; and updating a file structure in the virtual disk according to the file change record data and the file in the application software package, thereby implementing installation of the application software in the virtual machine. In the process of installing the application software, a user of the virtual machine does not need to perform complex operations, thereby reducing software installation difficulty.
Proceedings Article•10.1109/VLHCC.2012.6344485•
An exploratory study of blind software developers

[...]

Sean Mealin1, Emerson Murphy-Hill1•
North Carolina State University1
12 Nov 2012
TL;DR: The first exploratory empirical study, where eight interviews with blind software developers were conducted to identify aspects of software development that are a challenge, suggests that visually impaired software developers face challenges, for instance, when using screen readers to look up information when writing code.
Abstract: As a research community, we currently know very little about the challenges faced by blind software developers. Without knowing what those challenges are, the community cannot effectively address these challenges. In this paper, we describe the first exploratory empirical study, where we conducted eight interviews with blind software developers to identify aspects of software development that are a challenge. Our results suggest that visually impaired software developers face challenges, for instance, when using screen readers to look up information when writing code. We discuss a variety of implications, including that blind software developers need additional support in discovering relevant software development tools.
Book•
Fundamentals of Dependable Computing for Software Engineers

[...]

John Knight
12 Jan 2012
TL;DR: Fundamentals of Dependable Computing for Software Engineers presents the essential elements of computer system dependability and provides a framework for engineers to reason and make decisions about software and its dependability.
Abstract: Fundamentals of Dependable Computing for Software Engineers presents the essential elements of computer system dependability. The book describes a comprehensive dependability-engineering process and explains the roles of software and software engineers in computer system dependability. Readers will learn: Why dependability matters What it means for a system to be dependable How to build a dependable software system How to assess whether a software system is adequately dependable The author focuses on the actions needed to reduce the rate of failure to an acceptable level, covering material essential for engineers developing systems with extreme consequences of failure, such as safety-critical systems, security-critical systems, and critical infrastructure systems. The text explores the systems engineering aspects of dependability and provides a framework for engineers to reason and make decisions about software and its dependability. It also offers a comprehensive approach to achieve software dependability and includes a bibliography of the most relevant literature. Emphasizing the software engineering elements of dependability, this book helps software and computer engineers in fields requiring ultra-high levels of dependability, such as avionics, medical devices, automotive electronics, weapon systems, and advanced information systems, construct software systems that are dependable and within budget and time constraints.
Journal Article•10.1049/IET-SEN.2011.0066•
Survey on software testing practices

[...]

Jihyun Lee1, Sungwon Kang2, Danhyung Lee2•
Daejeon University1, KAIST2
05 Jul 2012-IET Software
TL;DR: A survey with a wide variety of companies and experts that are involved in software testing in order to identify the current practices and opportunities for improvement of STMTs revealed five important findings.
Abstract: To develop high-quality software, it is essential to use software testing methods and tools (STMTs) effectively and efficiently. The authors conducted a survey with a wide variety of companies and experts that are involved in software testing in order to identify the current practices and opportunities for improvement of STMTs. The survey results revealed five important findings regarding the current practices of STMTs and opportunities for improvement: low usage rate of STMTs, difficulties owing to alack of STMTs, use of testing tools in a limited manner, demand for interoperability support between methods and tools of software development and testing, and need for guidance to evaluate STMTs or to describe the capabilities of STMTs. These findings and other related results from the survey will be useful for improving STMTs practices and developing software testing tools.
Book•
The Correctness-by-Construction Approach to Programming

[...]

Derrick G. Kourie, Bruce W. Watson
10 Apr 2012
TL;DR: The principal purpose of this book is to change the way software developers approach their task at programming-in-the-small level, with a view to improving code quality.
Abstract: The focus of this book is on bridging the gap between two extreme methods for developing software On the one hand, there are texts and approaches that are so formal that they scare off all but the most dedicated theoretical computer scientists On the other, there are some who believe that any measure of formality is a waste of time, resulting in software that is developed by following gut feelings and intuitions Kourie and Watson advocate an approach known as correctness-by-construction, a technique to derive algorithms that relies on formal theory, but that requires such theory to be deployed in a very systematic and pragmatic way First they provide the key theoretical background (like first-order predicate logic or refinement laws) that is needed to understand and apply the method They then detail a series of graded examples ranging from binary search to lattice cover graph construction and finite automata minimization in order to show how it can be applied to increasingly complex algorithmic problems The principal purpose of this book is to change the way software developers approach their task at programming-in-the-small level, with a view to improving code quality Thus it coheres with both the IEEEs Guide to the Software Engineering Body of Knowledge (SWEBOK) recommendations, which identifies themes covered in this book as part of the software engineers arsenal of tools and methods, and with the goals of the Software Engineering Method and Theory (SEMAT) initiative, which aims to refound software engineering based on a solid theory
Proceedings Article•10.1109/SNPD.2012.40•
Software Effort Estimation in the Early Stages of the Software Life Cycle Using a Cascade Correlation Neural Network Model

[...]

Ali Bou Nassif1, Luiz Fernando Capretz1, Danny Ho•
University of Western Ontario1
8 Aug 2012
TL;DR: A novel model to predict software effort from use case diagrams using a cascade correlation neural network approach that can be used with promising results as an alternative approach to predictSoftware effort is proposed.
Abstract: Software cost estimation is a crucial element in project management. Failing to use a proper cost estimation method might lead to project failures. According to the Standish Chaos Report, 65% of software projects are delivered over budget or after the delivery deadline. Conducting software cost estimation in the early stages of the software life cycle is important and this would be helpful to project managers to bid on projects. In this paper, we propose a novel model to predict software effort from use case diagrams using a cascade correlation neural network approach. The proposed model was evaluated based on the MMER and PRED criteria using 214 industrial and 26 educational projects against a multiple linear regression model and the Use Case Point model. The results show that the proposed cascade correlation neural network can be used with promising results as an alternative approach to predict software effort.
Book•10.1007/978-3-642-28872-2•
Moving from Specifications to Contracts in Component-Based Design

[...]

Sebastian Bauer, Alexandre David, Rolf Hennicker, Kim Guldstrand Larsen, Axel Legay, Ulrik Nyman, Andrzej Wasowski1 •
IT University of Copenhagen1
01 Jan 2012-Lecture Notes in Computer Science
TL;DR: We study the relation between specifications of component behaviors and contracts providing means to specify assumptions on environments as well as component guarantees.
Journal Article•10.1016/J.JSS.2011.08.031•
Design patterns selection: An automatic two-phase method

[...]

Seyed Mohammad Hossein Hasheminejad1, Saeed Jalili1•
Tarbiat Modares University1
01 Feb 2012-Journal of Systems and Software
TL;DR: The proposed method is based on a text classification approach that aims to show an appropriate way to suggest the right design pattern(s) to developers for solving each given design problem.
...

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