3,458 papers · page 126 of 173
Reid Holmes, Tristan Ratchford, Martin P. Robillard, Robert J. Walker
Planning a complex software modification task imposes a high cognitive burden on developers, who must juggle navigating the software, understanding what they see with respect to their task, and deciding how their task should be performed given what they have discovered. Pragmatic…
Tom Janssen, Rui Abreu, Arjan J. C. van Gemund
Locating software components which are responsible for observed failures is the most expensive, error-prone phase in the software development life cycle. Automated diagnosis of software faults can improve the efficiency of the debugging process, and is therefore an important proc…
Graham Jenson
Software components are encapsulated units of execution which express dependencies through explicitly stated requirements and capabilities. These are used within component repositories to resolve sub-systems of deployable components. The main problem with this dependency resoluti…
Bo Jiang, Zhenyu Zhang, Wing Kwong Chan, T. H. Tse
Regression testing assures changed programs against unintended amendments. Rearranging the execution order of test cases is a key idea to improve their effectiveness. Paradoxically, many test case prioritization techniques resolve tie cases using the random selection approach, an…
M. Shaban Jokhio
Web services, the reusable software components, have brought automation to Internet computing. However, since they are currently described syntactically using XML standards, i.e., SOAP, WSDL and UDDI, the automation of web services tasks, e.g., web service discovery, selection, c…
Massila Kamalrudin
Handling inconsistency in software requirements is a complicated task which has attracted the interest of many groups of researchers. Formal and semi-formal specifications often have inconsistencies in the depicted requirements that need to be managed and resolved. This is partic…
David Kawrykow, Martin P. Robillard
Software projects often rely on third-party libraries made accessible through Application Programming Interfaces (APIs). We have observed many cases where APIs are used in ways that are not the most effective. We developed a technique and tool support to automatically detect such…
Raffi Khatchadourian, Phil Greenwood, Awais Rashid, Guoqing Xu
Pointcut fragility is a well-documented problem in Aspect-Oriented Programming; changes to the base-code can lead to join points incorrectly falling in or out of the scope of pointcuts. We present an automated approach that limits fragility problems by providing mechanical assist…
Yuhoon Ki, Meongchul Song
As software systems become larger and more complex, automated software engineering tools play a crucial role for effective software development management, which is a key factor to lead quality software systems. In this work, we present TRICA, an open source-based software develo…
Jinhan Kim, Sanghoon Lee, Seung-won Hwang, Sunghun Kim
Code examples play an important role to explain the usage of Application Programming Interfaces (APIs), but most API documents do not provide sufficient code examples. For example, for the JDK 5 documents (JavaDocs), only 2% of APIs have code examples. In this paper, we propose a…
KyungHee Kim, Tuba Yavuz-Kahveci, Beverly A. Sanders
Most approaches to reasoning about multithreaded programs, including model checking, make the implicit assumption that the system being considered is sequentially consistent. This is, however, invalid in most modern computer architectures and results in unsound reasoning for prog…
Daniel Kroening, Natasha Sharygina, Stefano Tonetta, Aliaksei Tsitovich, Christoph M. Wintersteiger
Practical software verification is dominated by two major classes of techniques. The first is model checking, which provides total precision, but suffers from the state space explosion problem. The second is abstract interpretation, which is usually much less demanding, but often…
Felipe Lalanne, Stéphane Maag, Edgardo Montes de Oca, Ana R. Cavalli, Wissam Mallouli, Arnaud Gonguet
Although the adoption of the IP Multimedia Subsystem (IMS) keeps growing, IMS applications are often integrated to the system without being formally tested. In this work, we are interested in the IMS Push over Cellular (PoC) service, an OMA standard. We propose a conformance pass…
Kim Lauenroth, Klaus Pohl, Simon Toehning
In product line engineering individual products are derived from the domain artifacts of the product line. The reuse of the domain artifacts is constraint by the product line variability. Since domain artifacts are reused in several products, product line engineering benefits fro…
Steven Lauterburg, Mirco Dotta, Darko Marinov, Gul A. Agha
The actor programming model offers a promising model for developing reliable parallel and distributed code. Actors provide flexibility and scalability: local execution may be interleaved, and distributed nodes may operate asynchronously. The resulting nondeterminism is captured b…
Yves Ledru, Alexandre Petrenko, Sergiy Boroday
Test case prioritisation aims at finding an ordering which enhances a certain property of an ordered test suite. Traditional techniques rely on the availability of code or a specification of the program under test. In this paper, we propose to use string distances on the text of …
Bryan Lemon, Aaron Riesbeck, Tim Menzies, Justin Price, Joseph D'Alessandro, Rikard Carlsson, Tomi Prifiti, Fayola Peters + 2 more
This paper augments Boehm-Turner's model of agile and plan-based software development augmented with an AI search algorithm. The AI search finds the key factors that predict for the success of agile or traditional plan-based software developments. According to our simulations and…
Nuo Li, Tao Xie, Nikolai Tillmann, Jonathan de Halleux, Wolfram Schulte
Test coverage such as branch coverage is commonly measured to assess the sufficiency of test inputs. To reduce tedious manual efforts in generating high-covering test inputs, various automated techniques have been proposed. Some recent effective techniques include Dynamic Symboli…
Sotirios Liaskos, Sheila A. McIlraith, John Mylopoulos
The analysis of stakeholder requirements is a critical aspect of software engineering. A common way of specifying stakeholder requirements is in terms of a hierarchy of goals whose AND/OR decomposition captures a family of software solutions that comply with the goals. In this pa…
Yu Lin, Xucheng Tang, Yuting Chen, Jianjun Zhao
Adaptive Random Testing (ART) is a testing technique which is based on an observation that a test input usually has the same potential as its neighbors in detection of a specific program defect. ART helps to improve the efficiency of random testing in that test inputs are selecte…