4,951 papers · page 93 of 248
Henning Femmer, Dharmalingam Ganesan, Mikael Lindvall, David McComas
Exchangeability between software components such as operating systems, middleware, databases, and hardware components is a common requirement in many software systems. One way to enable exchangeability is to promote indirect use through a common interface and an implementation fo…
Filomena Ferrucci, Mark Harman, Jian Ren, Federica Sarro
Software Engineering and development is well-known to suffer from unplanned overtime, which causes stress and illness in engineers and can lead to poor quality software with higher defects. In this paper, we introduce a multi-objective decision support approach to help balance pr…
Antonio Filieri, Corina S. Pasareanu, Willem Visser
Software reliability analysis tackles the problem of predicting the failure probability of software. Most of the current approaches base reliability analysis on architectural abstractions useful at early stages of design, but not directly applicable to source code. In this paper …
Brian Fitzgerald, Klaas-Jan Stol, Ryan O'Sullivan, Donal O'Brien
Agile development methods are growing in popularity with a recent survey reporting that more than 80% of organizations now following an agile approach. Agile methods were seen initially as best suited to small, co-located teams developing non-critical systems. The first two const…
Xavier Franch
Software requirements reuse becomes a fundamental activity for those IT organizations that conduct requirements engineering processes in similar settings. One strategy to implement this reuse is by exploiting a catalogue of software requirement patterns (SRPs). In this tutorial, …
Xavier Franch, Nazim H. Madhavji, Bill Curtis, Larry Votta
The quality of empirical studies is critical for the success of the Software Engineering (SE) discipline. More and more SE researchers are conducting empirical studies involving the software industry. While there are established empirical procedures, relatively little is known ab…
Lyle Franklin, Alex Gyori, Jan Lahoda, Danny Dig
Java 8 introduces two functional features: lambda expressions and functional operations like map or filter that apply a lambda expression over the elements of a Collection. Refactoring existing code to use these new features enables explicit but unobtrusive parallelism and makes …
Steven Fraser, Judith Bishop, Barry W. Boehm, Pradeep Kathail, Philippe Kruchten, Ipek Ozkaya, Alexandra Szynkarski
The term “Technical Debt” was coined over 20 years ago by Ward Cunningham in a 1992 OOPSL A experience report to de scribe the tr ade-offs between delivering the most appropriate — albeit likely immature — product, in the shortest time possible. Since then the repercussions of go…
Sören Frey, Florian Fittkau, Wilhelm Hasselbring
Migrating existing enterprise software to cloud platforms involves the comparison of competing cloud deployment options (CDOs). A CDO comprises a combination of a specific cloud environment, deployment architecture, and runtime reconfiguration rules for dynamic resource scaling. …
Joshua Garcia, Ivo Krka, Chris Mattmann, Nenad Medvidovic
Undocumented evolution of a software system and its underlying architecture drives the need for the architecture's recovery from the system's implementation-level artifacts. While a number of recovery techniques have been proposed, they suffer from known inaccuracies. Furthermore…
Pranav Garg, Franjo Ivancic, Gogul Balakrishnan, Naoto Maeda, Aarti Gupta
In industry, software testing and coverage-based metrics are the predominant techniques to check correctness of software. This paper addresses automatic unit test generation for programs written in C/C++. The main idea is to improve the coverage obtained by feedback-directed rand…
François Gauthier, Ettore Merlo
Access control models implement mechanisms to restrict access to sensitive data from unprivileged users. Access controls typically check privileges that capture the semantics of the operations they protect. Semantic smells and errors in access control models stem from privileges …
Carlo Ghezzi, Leandro Sales Pinto, Paola Spoletini, Giordano Tamburrelli
Modern software systems are often characterized by uncertainty and changes in the environment in which they are embedded. Hence, they must be designed as adaptive systems. We propose a framework that supports adaptation to non-functional manifestations of uncertainty. Our framewo…
Indradeep Ghosh, Nastaran Shafiei, Guodong Li, Wei-Fan Chiang
In this paper we present JST, a tool that automatically generates a high coverage test suite for industrial strength Java applications. This tool uses a numeric-string hybrid symbolic execution engine at its core which is based on the Symbolic Java PathFinder platform. However, i…
Paul Givens, Aleksandar Chakarov, Sriram Sankaranarayanan, Tom Yeh
In this paper, we present a promising approach to systematically testing graphical user interfaces (GUI) in a platform independent manner. Our framework uses standard computer vision techniques through a python-based scripting language (Sikuli script) to identify key graphical el…
Stefania Gnesi, Nico Plat
Despite their significant advantages, formal methods are not widely used in industrial software development. FormaliSE is a workshop with the main goal to promote integration between the formal methods and the software engineering communities with the purpose to examine the link …
Amruta Gokhale, Vinod Ganapathy, Yogesh Padmanaban
Software developers often need to port applications written for a source platform to a target platform. In doing so, a key task is to replace an application's use of methods from the source platform API with corresponding methods from the target platform API. However, this task i…
Lorenzo Gomez, Iulian Neamtiu, Tanzirul Azim, Todd D. Millstein
Touchscreen-based devices such as smartphones and tablets are gaining popularity, but their rich input capabilities pose new development and testing complications. To alleviate this problem, we present an approach and tool named Reran that permits record-and-replay for the Androi…
John B. Goodenough, Charles B. Weinstock, Ari Z. Klein
Assurance cases provide a structured method of explaining why a system has some desired property, e.g., that the system is safe. But there is no agreed approach for explaining what degree of confidence one should have in the conclusions of such a case. In this paper, we use the p…
Ian Gorton, Yan Liu, Heiko Koziolek, Anne Koziolek, Mazeiar Salehie
The 2nd International Workshop on Software Engineering Challenges for the Smart Grid focuses on understanding and identifying the unique challenges and opportunities for SE to contribute to and enhance the design and development of the smart grid. In smart grids, the geographical…