The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
We develop T2API, a context-sensitive, graph-based statisticaltranslation approach that takes as input an English description of aprogramming task and synthesizes the corresponding API code templatefor the task. We train T2API to statistically learn the alignmentsbetween English and APIs and determine the relevant API elements. Thetraining is done on StackOverflow, which is a bilingual corpus onwhich...
Several automated program repair techniques have been proposed to reduce the time and effort spent in bug-fixing. While these repair tools are designed to be generic such that they could address many software faults, different repair tools may fix certain types of faults more effectively than other tools. Therefore, it is important to compare more objectively the effectiveness of different repair...
As software systems become more complex, the number of test cases required for effective testing becomes intractable. Cache misses have been identified as a major factor that affects software execution time. In our current work we target the instruction locality problem in the context of testing.
A key open question in the area of software modeling is which costs and benefits it brings to software development and maintenance. For answering this question, better empirical studies into software modeling are needed. In this paper I focus on what I believe are the pitfalls in- and prospects for such types of studies. This paper is an abstract for an invited keynote at the Modeling in Software...
This paper presents our results from identifying anddocumenting false positives generated by static code analysistools. By false positives, we mean a static code analysis toolgenerates a warning message, but the warning message isnot really an error. The goal of our study is to understandthe different kinds of false positives generated so we can (1)automatically determine if an error message is truly...
Research collaborations provide opportunities for both practitioners and researchers: practitioners need solutions for difficult business challenges and researchers are looking for hard problems to solve and publish. Nevertheless, research collaborations carry the risk that practitioners focus on quick solutions too much and that researchers tackle theoretical problems, resulting in products which...
With the aim of identifying good structures and examples for papers in the software engineering field, we conducted a study of the type of papers accepted along four decades in the Research Track of the International Conference on Software Engineering (ICSE). We used for this purpose a categorization scheme for Software Engineering papers that was obtained by merging, extending and revising a few...
This paper briefly proposes a technique to detect energy inefficient fragments in the source code of a software system. Test cases are executed to obtain energy consumption measurements, and a statistical method, based on spectrum-basedfault localization, is introduced to relate energy consumption to the system's source code. The result of our technique is an energy ranking of source code fragments...
How do professional software engineers debug computer programs? In an experiment with 27 real bugs that existed in several widely used programs, we invited 12 professional software engineers, who together spent one month on localizing, explaining, and fixing these bugs. This did not only allow us to study the various tools and strategies used to debug the same set of errors. We could also determine...
This paper briefly presents a new approach for helping developers identify energy hot spots in their applications. Using tests cases, and statistical methods based on Spectrum-based Fault Localization, high energy consumption is related to the system's source code and a ranking of possible energy leaks are pointed. This technique is both language independent, and context level independent. Initial...
Recent research in software engineering supports the "happy-productive" thesis, and the desire of flourishing happiness among programmers is often expressed by industry practitioners. Recent literature has suggested that a cost-effective way to foster happiness and productivity among workers could be to limit unhappiness of developers due to its negative impact. However, possible negative...
Feature-oriented software development (FOSD) has recently emerged as a promising approach for developing a collection of similar software products from a shared set of software assets. A well-recognized issue in FOSD is the analysis of feature interactions: cases where the integration of multiple features would alter the behavior of one or several of them. Existing approaches to detecting feature...
With the goal of helping software engineering researchers understand how to improve their papers, Mary Shaw presented "Writing Good Software Engineering Research Papers" in 2003. Shaw analyzed the abstracts of the papers submitted to the 2002 International Conference of Software Engineering (ICSE) to determine trends in research question type, contribution type, and validation approach....
In order for the conduct of collaborative research projects and their outcomes to be valuable for both research and practice it is necessary to successfully address a number of socio-technical challenges in the field of software engineering. Collaborative research involving researchers and practitioners related to software systems have utilised a variety of different research approaches. Adoption...
Random testing has been controversial throughout the history. In the early 70s opinions about random testing were divided: Girard and Rault (1973) call it a valuable test case generation scheme [11]. This is confirmed by Thayer, Lipow and Nelson (1978) in their book on software reliability [21] they say it is the necessary final step in the testing activities. However, Glenford Myers (1979) in his...
Clone detection within large inter-project source-code repositories has numerous rich applications. CloneWorks is a fast and flexible clone detector for large-scale near-miss clone detection experiments. CloneWorks gives the user full control over the processing of the source code before clone detection, enabling the user to target any clone type or perform custom clone detection experiments. Scalable...
The existing software release planning models aim to find a subset of software requirements with the highest value on the assumption that the value of a selected subset of requirements equals to the Accumulated Value (AV) of that subset. This assumption however, does not hold due to the Value-related Dependencies among software requirements. To address this, we have formulated an integer programming...
With the rise of smart and autonomous systems, self-adaptation plays a significant role in the capabilities of software-intensive systems. When developing and operating self-adaptive systems, a growing amount of information is required. This information forms the basis to systems' evolution and adaptation at run time, but is also used at design time to evolve and maintain the systems. To support development...
Agile software development principles enable companies to successfully and quickly deliver software by meeting their customers' expectations while focusing on high quality. Many companies working with pure software systems have adopted these principles, but implementing them in companies dealing with non-pure software products is challenging. We identified a set of goals and practices to support large-scale...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.