3,458 papers · page 122 of 173
Chang Hwan Peter Kim, Don S. Batory, Sarfraz Khurshid
A Software Product Line (SPL) is a family of programs where each program is defined by a unique combination of features. Developing a set of programs with commonalities and variabilities in this way can significantly reduce both the time and cost of software development. However,…
Suntae Kim, Dae-Kyoo Kim, Sooyong Park
In this paper, we present a prototype tool that supports the systematic development of software architectures driven by quality requirements using architectural tactics. The tool allows one to configure architectural tactics based on quality requirements and compose the configure…
KyungHee Kim, Tuba Yavuz-Kahveci, Beverly A. Sanders
According to Java's relaxed memory model, programs that contain data races need not be sequentially consistent. Executions that are not sequentially consistent may exhibit surprising behavior such as operations on a thread occurring in a different order than indicated by the sour…
Ekrem Kocaguneli, Gregory Gay, Tim Menzies, Ye Yang, Jacky W. Keung
Collecting the data required for quality prediction within a development team is time-consuming and expensive. An alternative to make predictions using data that crosses from other projects or even other companies. We show that with/without relevancy filtering, imported data perf…
Axel van Lamsweerde
The effectiveness of MDE relies on our ability to build high-quality models. This task is intrinsically difficult. We need to produce sufficiently complete, adequate, consistent, and well-structured models from incomplete, imprecise, and sparse material originating from multiple,…
Julia Lawall, David Lo
Named constants are used heavily in operating systems code, both as internal flags and in interactions with devices. Decision making within an operating system thus critically depends on the correct usage of these values. Nevertheless, compilers for the languages typically used i…
Dominic Letarte
A new representation for inter-procedural analysis is presented. The representation only uses regular graph theory with guarded edges and variables for easy integration with model checkers but is limited to binary lattice inter-procedural analysis only.
Wanchun Li, Mary Jean Harrold, Carsten Görg
Web applications can suffer from poor reliability, and AJAX technology makes Web sites even more error-prone. Failures of a Web application, particularly user-visible failures, impact users' satisfaction and may drive users away from using the Web site. Conventional testing techn…
Guangtai Liang, Ling Wu, Qian Wu, Qianxiang Wang, Tao Xie, Hong Mei
In order to improve ineffective warning prioritization of static analysis tools, various approaches have been proposed to compute a ranking score for each warning. In these approaches, an effective training set is vital in exploring which factors impact the ranking score and how.…
Xuanzhe Liu, Qi Zhao, Gang Huang, Zhi Jin, Hong Mei
The Web is currently moving towards a platform with rich services. A notable trend is that end-users create mashups composing services with short, iterative development life cycles as well as updating with evolving needs. However, the large number of services and the high complex…
David Lo, Shahar Maoz
Specification mining takes execution traces as input and extracts likely program invariants, which can be used for comprehension, verification, and evolution related tasks. In this work we integrate scenario-based specification mining, which uses data-mining algorithms to suggest…
Mircea Lungu, Romain Robbes, Michele Lanza
In large software systems, knowing the dependencies between modules or components is critical to assess the impact of changes. To recover the dependencies, fact extractors analyze the system as a whole and build the dependency graph, parsing the system down to the statement level…
Nicolas Mangano, Alex Baker, Mitch Dempsey, Emily Oh Navarro, André van der Hoek
Despite the availability of a host of software design notations and associated tools, software developers are known to frequently turn to the whiteboard when faced with a specific design problem. There, they typically engage in an informal form of software design that relies heav…
Senthil Mani, Vibha Singhal Sinha, Pankaj Dhoolia, Saurabh Sinha
Model transforms are a class of applications that convert a model to another model or text. The inputs to such transforms are often large and complex; therefore, faults in the models that cause a transformation to generate incorrect output can be difficult to identify and fix. In…
Rémi Mélisson, Philippe Merle, Daniel Romero, Romain Rouvoy, Lionel Seinturier
SCA (Service Component Architecture) is an OASIS standard for describing service-oriented middleware architectures. In particular, SCA promotes a disciplined way for designing distributed architectures based on a component model and an Architecture Description Language (ADL). How…
Lionel Montrieux, Jan Jürjens, Charles B. Haley, Yijun Yu, Pierre-Yves Schobbens, Hubert Toussaint
S.357-358
Brice Morin, Tejeddine Mouelhi, Franck Fleurey, Yves Le Traon, Olivier Barais, Jean-Marc Jézéquel
Security is a key-challenge for software engineering, especially when considering access control and software evolutions. No satisfying solution exists for maintaining the alignment of access control policies with the business logic. Current implementations of access control rely…
Do Thi Bich Ngoc, Mizuhito Ogawa
This paper proposes a counterexample-guided narrowing approach, which mutually refines analyses and testing if (possibly spurious) counterexamples are found. A prototype tool CANAT for checking roundoff errors between floating point and fixed point numbers is reported with prelim…
Alexander Nöhrer, Alexander Egyed
Decision models are widely used in software engineering to describe and restrict decision-making (e.g., deriving a product from a product-line). Since decisions are typically interdependent, conflicts during decision-making are inevitably reached when invalid combinations of deci…
Corina S. Pasareanu, Neha Rungta
Symbolic Pathfinder (SPF) combines symbolic execution with model checking and constraint solving for automated test case generation and error detection in Java programs with unspecified inputs. In this tool, programs are executed on symbolic inputs representing multiple concrete …