2,847 papers · page 118 of 143
Zhifeng Lai, Shing-Chi Cheung, Wing Kwong Chan
NesC is a programming language for applications that run on top of networked sensor nodes. Such an application mainly uses an interrupt to trigger a sequence of operations, known as contexts, to perform its actions. However, a high degree of inter-context interleaving in an appli…
Axel van Lamsweerde
Getting the right software requirements under the right environment assumptions is a critical precondition for developing the right software. This task is intrinsically difficult. We need to produce a complete, adequate, consistent, and well-structured set of measurable requireme…
Wei Le, Mary Lou Soffa
Despite increasing efforts in detecting and managing software security vulnerabilities, the number of security attacks is still rising every year. As software becomes more complex, security vulnerabilities are more easily introduced into a system and more difficult to eliminate. …
Zhiqiang Lin, Xiangyu Zhang
Program input syntactic structure is essential for a wide range of applications such as test case generation, software debugging and network security. However, such important information is often not available (e.g., most malware programs make use of secret protocols to communica…
V. Benjamin Livshits, Emre Kiciman
Modern Web 2.0 applications, such as GMail, Live Maps, Face-book and many others, use a combination of Dynamic HTML, JavaScript and other Web browser technologies commonly referred to as AJAX to push application execution to the client web browser. This improves the responsivenes…
Andrew Meneely, Laurie A. Williams, Will Snipes, Jason A. Osborne
Software fails and fixing it is expensive. Research in failure prediction has been highly successful at modeling software failures. Few models, however, consider the key cause of failures in software: people. Understanding the structure of developer collaboration could explain a …
Shiva Nejati, Mehrdad Sabetzadeh, Marsha Chechik, Sebastián Uchitel, Pamela Zave
Synthesis of system configurations from a given set of features is an important and very challenging problem. This paper makes a step towards this goal by describing an efficient technique for synthesizing pipeline configurations of feature-based systems. We identify and formaliz…
Leon J. Osterweil, Lori A. Clarke, Aaron M. Ellison, Rodion M. Podorozhny, Alexander E. Wise, Emery R. Boose, Julian L. Hadley
This paper describes our experiences in exploring the applicability of software engineering approaches to scientific data management problems. Specifically, this paper describes how process definition languages can be used to expedite production of scientific datasets as well as …
Chang-Seo Park, Koushik Sen
Atomicity is an important specification that enables programmers to understand atomic blocks of code in a multi-threaded program as if they are sequential. This significantly simplifies the programmer's job to reason about correctness. Several modern multithreaded programming lan…
Suzette Person, Matthew B. Dwyer, Sebastian G. Elbaum, Corina S. Pasareanu
Detecting and characterizing the effects of software changes is a fundamental component of software maintenance. Version differencing information can be used to perform version merging, infer change characteristics, produce program documentation, and guide program re-validation. …
Martin Pinzger, Nachiappan Nagappan, Brendan Murphy
Software teams should follow a well defined goal and keep their work focused. Work fragmentation is bad for efficiency and quality. In this paper we empirically investigate the relationship between the fragmentation of developer contributions and the number of post-release failur…
Franco Raimondi, James Skene, Wolfgang Emmerich
If an organization depends on the service quality provided by another organization it often enters into a bilateral service level agreement (SLA), which mitigates outsourcing risks by associating penalty payments with poor service quality. Once these agreements are entered into, …
David S. Rosenblum, Alexander L. Wolf
In the mid 1990s the Internet began to emerge as a communication and application platform for the masses, enabled by infrastructures from CORBA to the World Wide Web. Consequently, software engineering researchers began to address the many challenges and opportunities of engineer…
Michele Sama, David S. Rosenblum, Zhimin Wang, Sebastian G. Elbaum
Applications running on mobile devices are heavily context-aware and adaptive, leading to new analysis and testing challenges as streams of context values drive these applications to undesired configurations that are not easily exposed by existing validation techniques. We addres…
Anita Sarma, David F. Redmiles, André van der Hoek
In this paper, we present results from our empirical evaluations of a workspace awareness tool that we designed and implemented to augment the functionality of software configuration management systems. Particularly, we performed two user experiments directed at understanding the…
Gautam Shroff
In recent years the term Web 2.0 has been used to describe the transformation of the internet from a world of publishers and readers to one of collaborators where everyone is a creator of content, and 'communities' bind participants in an ecosystem. We have also seen the success …
Jeffrey Stylos, Brad A. Myers
To better understand what makes Application Programming Interfaces (APIs) hard to use and how to improve them, recent research has begun studying programmers' strategies and use of APIs. It was found that method placement --- on which class or classes a method is placed --- can h…
Fang Yu, Chao Wang, Aarti Gupta, Tevfik Bultan
We propose a novel method for modular verification of web service compositions. We first use symbolic fixpoint computations to derive conditions on the incoming messages and relations among the incoming and outgoing messages of individual BPEL web services. These pre- and post-co…
Mithun Acharya, Tao Xie, Jian Pei, Jun Xu
A software system interacts with third-party libraries through various APIs. Using these library APIs often needs tofollow certain usage patterns. Furthermore, ordering rules (specifications) exist between APIs, and these rules govern the secure and robust operation of the system…
Jonathan Aldrich, Michael Barnett, Dimitra Giannakopoulou, Gary T. Leavens, Natasha Sharygina
SAVCBS is a workshop for research and experience reports on the specification and verification of component-based systems.