3,458 papers · page 137 of 173
Derek Rayside, Lucy Mendel
We introduce object ownership profiling, a technique forfinding and fixing memory leaks in object-oriented programs. Object ownership profiling is the first memory profiling technique that reports both a hierarchy of allocated objects along with size and time information aggregat…
Steven P. Reiss
Coding style is an important aspect of software development. We present a system that uses machine learning to deduce the coding style from a corpus of code and then applies this knowledge to convert arbitrary code to the learned style. We use a broad definition of coding style t…
Raúl A. Santelices, Mary Jean Harrold
Structural testing of software requires monitoring the software's execution to determine which program entities are executed by a test suite. Such monitoring can add considerable overhead to the execution of the program, adversely affecting the cost of running a test suite. Thus,…
Anita Sarma, Gerald Bortis, André van der Hoek
Workspace awareness techniques have been proposed to enhance the effectiveness of software configuration management systems in coordinating parallel work. These techniques share information regarding ongoing changes, so potential conflicts can be detected during development, inst…
David Schuler, Valentin Dallmeier, Christian Lindig
Code theft is a threat for companies that consider code asa core asset. A birthmark can help them to prove codetheft by identifying intrinsic properties of a program. Twoprograms with the same birthmark are likely to share a com-mon origin. Birthmarking works in particular for co…
Bran Selic
Automation is the most successful technological means for achieving dramatic improvements in both productivity and quality. The displacement of manual manufacturing methods by automated processes is at the core of the Industrial Revolution and accounts for much of what we usually…
Koushik Sen
Multithreaded concurrent programs often exhibit wrong behaviors due to unintended interferences among the concurrent threads. Such errors are often hard to find because they typically manifest under very specific thread schedules. Traditional testing, which pays no attention to t…
Koushik Sen
Concolic testing automates test input generation by combining the concrete and symbolic (concolic) execution of the code under test. Traditional test input generation techniques use either (1) concrete execution or (2) symbolic execution that builds constraints and is followed by…
Chiyoung Seo, Sam Malek, Nenad Medvidovic
In this paper we define and evaluate a framework for estimating the energy consumption of Java-based software systems. Our primary objective in devising the framework is to enable an engineer to make informed decisions when adapting a system's architecture, such that the energy c…
Maryam Shiri, Jameleddine Hassine, Juergen Rilling
Software systems have become more complex, with myriad features and multiple functionalities. A major challenge in developing and maintaining such complex software is to identify potential conflicts among its features. Feature interaction analysis becomes progressively more diffi…
Yannis Smaragdakis, Christoph Csallner, Ranjith Subramanian
We explore the automatic generation of test data that respect constraints expressed in the Object-Role Modeling(ORM) language. ORM is a popular conceptual modelinglanguage, primarily targeting database applications, withsignificant uses in practice. The general problem of evenche…
Douglas R. Smith
The ASE conference series is rooted in the 1981 Knowledge-Based Software Assistant (KBSA) document [1] and the ensuing US Air Force Rome Labs research program. KBSA addressed automated tool support for the entire software lifecycle, including project management, requirements, spe…
Adam M. Smith, Joshua Geiger, Gregory M. Kapfhammer, Mary Lou Soffa
This paper presents a tool that (i) constructs tree-based models of a program's behavior during testing and (ii) employs these trees while reordering and reducing a test suite. Using either a dynamic call tree or a calling context tree, the test reduction component identifies a s…
Yuanyuan Song
Although self-adaptivity is emerging as an important system property, designers still lack principled and systematic methods for developing, reasoning about, and synthesizing specifications, architectures, and implementations for such systems. I exploit recent work on design stru…
Robert Tairas, Jeff Gray, Ira D. Baxter
It has been observed by many practitioners that software applications frequently contain redundant code fragments. This redundancy is often caused by the common programming practice of replicating (or cloning) existing code and then customizing code fragments to handle new demand…
Kunal Taneja, Danny Dig, Tao Xie
Software developers often do not build software from scratch but reuse software libraries. In theory, the APIs of a library should be stable, but in practice they do change and thus require changes in software that reuses the library. Our previous study of five reusable component…
Suresh Thummalapenta, Tao Xie
Programmers commonly reuse existing frameworks or libraries to reduce software development efforts. One common problem in reusing the existing frameworks or libraries is that the programmers know what type of object that they need, but do not know how to get that object with a sp…
Oksana Tkachuk, Sreeranga P. Rajan
To be effective, software model checking needs powerful reduction techniques. In this paper, we present an experimental study that demonstrates effectiveness of environment generation combined with slicing as a model generation and reduction technique. Automatic environments were…
Naoyasu Ubayashi, Akihiro Sakai, Tetsuo Tamai
Aspect-oriented programming (AOP) separates crosscutting concerns from primary concerns. These concerns are woven together by a weaver. Although AOP provides an effective module mechanism, it is not necessarily easy for a programmer to understand the overall behavior of a woven p…
Jüri Vain, Kullo Raiend, Andres Kull, Juhan P. Ernits
We describe a model-based construction of an online tester for black-box testing of the implementation under test(IUT). The external behaviour of the IUT is modelled as an output observable nondeterministic EFSM with the assumption that all transition paths are feasible. A test p…