Search For:

Displaying 1-48 out of 48 total
Workshop on Mining Unstructured Data (MUD) because
Found in: Reverse Engineering, Working Conference on
By Nicolas Bettenburg, Bram Adams
Issue Date:October 2010
pp. 277-278
In software development, the knowledge of developers, architects and end users is spread out across dozens of development artifacts. Historically, structured development artifacts such as source code have been the primary focus of software engineering rese...
 
A Large Scale Empirical Study on User-Centric Performance Analysis
Found in: Software Testing, Verification, and Validation, 2008 International Conference on
By Shahed Zaman,Bram Adams,Ahmed E. Hassan
Issue Date:April 2012
pp. 410-419
Measuring the software performance under load is an important task in both test and production of a software development. In large scale systems, a large amount of metrics and usage logs are analyzed to measure the performance of the software. Most of thes...
 
Automated Verification of Load Tests Using Control Charts
Found in: Asia-Pacific Software Engineering Conference
By Thanh H.D. Nguyen,Bram Adams,Zhen Ming Jiang,Ahmed E. Hassan,Mohamed Nasser,Parminder Flora
Issue Date:December 2011
pp. 282-289
Load testing is an important phase in the software development process. It is very time consuming but there is usually little time for it. As a solution to the tight testing schedule, software companies automate their testing procedures. However, existing ...
 
An Exploratory Study of the Evolution of Communicated Information about the Execution of Large Software Systems
Found in: Reverse Engineering, Working Conference on
By Weiyi Shang,Zhen Ming Jiang,Bram Adams,Ahmed E. Hassan,Michael W. Godfrey,Mohamed Nasser,Parminder Flora
Issue Date:October 2011
pp. 335-344
A great deal of research in software engineering focuses on understanding the dynamic nature of software systems. Such research makes use of automated instrumentation and profiling techniques after fact, i.e., without considering domain knowledge. In this ...
 
Recovering a Balanced Overview of Topics in a Software Domain
Found in: Source Code Analysis and Manipulation, IEEE International Workshop on
By Matthew B. Kelly,Jason S. Alexander,Bram Adams,Ahmed E. Hassan
Issue Date:September 2011
pp. 135-144
Domain analysis is a crucial step in the development of product lines and software reuse in general, in which domain experts try to identify the commonalities and variability between different products of a particular domain. This identification is challen...
 
Identifying performance deviations in thread pools
Found in: Software Maintenance, IEEE International Conference on
By Mark D. Syer,Bram Adams,Ahmed E. Hassan
Issue Date:September 2011
pp. 83-92
Large-scale software systems handle increasingly larger workloads by implementing highly concurrent and distributed design patterns. The thread pool pattern uses pools of pre-existing and reusable threads to limit thread lifecycle over-head (thread creatio...
 
Industrial Case Study on Supporting the Comprehension of System Behaviour under Load
Found in: International Conference on Program Comprehension
By Mark D. Syer, Bram Adams, Ahmed E. Hassan
Issue Date:June 2011
pp. 215-216
Large-scale software systems achieve concurrency on enormous scales using a number of different design patterns. Many of these design patterns are based on pools of pre-existing and reusable threads that facilitate incoming service requests. Thread pools l...
 
A Lightweight Approach to Uncover Technical Artifacts in Unstructured Data
Found in: International Conference on Program Comprehension
By Nicolas Bettenburg, Bram Adams, Ahmed E. Hassan, Michel Smidt
Issue Date:June 2011
pp. 185-188
Developer communication through email, chat, or issue report comments consists mostly of largely unstructured data, i.e., natural language text, mixed with technical artifacts such as project-specific jargon, abbreviations, source code patches, stack trace...
 
Pinpointing the Subsystems Responsible for the Performance Deviations in a Load Test
Found in: Software Reliability Engineering, International Symposium on
By Haroon Malik, Bram Adams, Ahmed E. Hassan
Issue Date:November 2010
pp. 201-210
Large scale systems (LSS) contain multiple subsystems that interact across multiple nodes in sometimes unforeseen and complicated ways. As a result, pinpointing the subsystems that are the source of performance degradation for a load test in LSS can be fru...
 
Studying the Impact of Clones on Software Defects
Found in: Reverse Engineering, Working Conference on
By Gehan M.K. Selim, Liliane Barbour, Weiyi Shang, Bram Adams, Ahmed E. Hassan, Ying Zou
Issue Date:October 2010
pp. 13-21
There are numerous studies that examine whether or not cloned code is harmful to software systems. Yet, few of them study which characteristics of cloned code in particular lead to software defects. In our work, we use survival analysis to understand the i...
 
Predicting Re-opened Bugs: A Case Study on the Eclipse Project
Found in: Reverse Engineering, Working Conference on
By Emad Shihab, Akinori Ihara, Yasutaka Kamei, Walid M. Ibrahim, Masao Ohira, Bram Adams, Ahmed E. Hassan, Ken-ichi Matsumoto
Issue Date:October 2010
pp. 249-258
Bug fixing accounts for a large amount of the software maintenance resources. Generally, bugs are reported, fixed, verified and closed. However, in some cases bugs have to be re-opened. Re-opened bugs increase maintenance costs, degrade the overall user-pe...
 
A Case Study of Bias in Bug-Fix Datasets
Found in: Reverse Engineering, Working Conference on
By Thanh H.D. Nguyen, Bram Adams, Ahmed E. Hassan
Issue Date:October 2010
pp. 259-268
Software quality researchers build software quality models by recovering traceability links between bug reports in issue tracking repositories and source code files. However, all too often the data stored in issue tracking repositories is not explicitly ta...
 
Validating the Use of Topic Models for Software Evolution
Found in: Source Code Analysis and Manipulation, IEEE International Workshop on
By Stephen W. Thomas, Bram Adams, Ahmed E. Hassan, Dorothea Blostein
Issue Date:September 2010
pp. 55-64
Topics are collections of words that co-occur frequently in a text corpus. Topics have been found to be effective tools for describing the major themes spanning a corpus. Using such topics to describe the evolution of a software system’s source code promis...
 
Studying the impact of dependency network measures on software quality
Found in: Software Maintenance, IEEE International Conference on
By Thanh H. D. Nguyen, Bram Adams, Ahmed E. Hassan
Issue Date:September 2010
pp. 1-10
Dependency network measures capture various facets of the dependencies among software modules. For example, betweenness centrality measures how much information flows through a module compared to the rest of the network. Prior studies have shown that these...
 
Revisiting common bug prediction findings using effort-aware models
Found in: Software Maintenance, IEEE International Conference on
By Yasutaka Kamei, Shinsuke Matsumoto, Akito Monden, Ken-ichi Matsumoto, Bram Adams, Ahmed E. Hassan
Issue Date:September 2010
pp. 1-10
Bug prediction models are often used to help allocate software quality assurance efforts (e.g. testing and code reviews). Mende and Koschke have recently proposed bug prediction models that are effort-aware. These models factor in the effort needed to revi...
 
Using Load Tests to Automatically Compare the Subsystems of a Large Enterprise System
Found in: Computer Software and Applications Conference, Annual International
By Haroon Malik, Bram Adams, Ahmed E. Hassan, Parminder Flora, Gilbert Hamann
Issue Date:July 2010
pp. 117-126
Enterprise systems are load tested for every added feature, software updates and periodic maintenance to ensure that the performance demands on system quality, availability and responsiveness are met. In current practice, performance analysts manually anal...
 
Prioritizing Unit Test Creation for Test-Driven Maintenance of Legacy Systems
Found in: Quality Software, International Conference on
By Emad Shihab, Zhen Ming Jiang, Bram Adams, Ahmed E. Hassan, Robert Bowerman
Issue Date:July 2010
pp. 132-141
Test-Driven Development (TDD) is a software development practice that prescribes writing unit tests before writing implementation code. Recent studies have shown that TDD practices can significantly reduce the number of pre-release defects. However, most T...
 
Mining Performance Regression Testing Repositories for Automated Performance Analysis
Found in: Quality Software, International Conference on
By King Chun Foo, Zhen Ming Jiang, Bram Adams, Ahmed E. Hassan, Ying Zou, Parminder Flora
Issue Date:July 2010
pp. 32-41
Performance regression testing detects performance regressions in a system under load. Such regressions refer to situations where software performance degrades compared to previous releases, although the new version behaves correctly. In current practice, ...
 
Identifying crosscutting concerns using historical code changes
Found in: Software Engineering, International Conference on
By Bram Adams,Zhen Ming Jiang,Ahmed E. Hassan
Issue Date:May 2010
pp. 305-314
Detailed knowledge about implemented concerns in the source code is crucial for the cost-effective maintenance and successful evolution of large systems. Concern mining techniques can automatically suggest sets of related code fragments that likely contrib...
 
Automatic Comparison of Load Tests to Support the Performance Analysis of Large Enterprise Systems
Found in: Software Maintenance and Reengineering, European Conference on
By Haroon Malik, Zhen Ming Jiang, Bram Adams, Ahmed E. Hassan, Parminder Flora, Gilbert Hamann
Issue Date:March 2010
pp. 222-231
Load testing is crucial to uncover functional and performance bugs in large-scale systems. Load tests generate vast amounts of performance data, which needs to be compared and analyzed in limited time across tests. This helps performance analysts to unders...
 
A Study of the Time Dependence of Code Changes
Found in: Reverse Engineering, Working Conference on
By Omar Alam, Bram Adams, Ahmed E. Hassan
Issue Date:October 2009
pp. 21-30
Much of modern software development consists of building on older changes. Older periods provide the structure (e.g., functions and data types) on which changes in future periods will build. Given a particular period in the lifetime of a project, one can d...
 
An Empirical Study on Inconsistent Changes to Code Clones at Release Level
Found in: Reverse Engineering, Working Conference on
By Nicolas Bettenburg, Weyi Shang, Walid Ibrahim, Bram Adams, Ying Zou, Ahmed E. Hassan
Issue Date:October 2009
pp. 85-94
Current research on code clones tries to address the question whether or not code clones are harmful for the quality of software. As most of these studies are based on the fine-grained analysis of inconsistent changes at the revision level, they capture mu...
 
MapReduce as a general framework to support research in Mining Software Repositories (MSR)
Found in: Mining Software Repositories, International Workshop on
By Weiyi Shang, Zhen Ming Jiang, Bram Adams, Ahmed E. Hassan
Issue Date:May 2009
pp. 21-30
Researchers continue to demonstrate the benefits of Mining Software Repositories (MSR) for supporting software development and research activities. However, as the mining process is time and resource intensive, they often create their own distributed platf...
 
A Large-Scale Empirical Study on Software Reuse in Mobile Apps
Found in: IEEE Software
By Israel J. Mojica,Bram Adams,Meiyappan Nagappan,Steffen Dienst,Thorsten Berger,Ahmed E. Hassan
Issue Date:March 2014
pp. 78-86
In less than five years, the number of mobile apps has grown exponentially, with more than 1 million available in the largest mobile app stores. One explanation for this growth could be the adoption of well-proven software engineering practices--in particu...
 
On Rapid Releases and Software Testing
Found in: 2013 IEEE International Conference on Software Maintenance (ICSM)
By Mika V. Mantyla,Foutse Khomh,Bram Adams,Emelie Engstrom,Kai Petersen
Issue Date:September 2013
pp. 20-29
Large open and closed source organizations like Google, Facebook and Mozilla are migrating their products towards rapid releases. While this allows faster time-to-market and user feedback, it also implies less time for testing and bug fixing. Since initial...
 
ACRE: An Automated Aspect Creator for Testing C++ Applications
Found in: 2013 17th European Conference on Software Maintenance and Reengineering (CSMR)
By Etienne Duclos,Sebastien Le Digabel,Yann-Gael Gueheneuc,Bram Adams
Issue Date:March 2013
pp. 121-130
We present ACRE, an Automated aspect creator, to use aspect-oriented programming (AOP) to perform memory, invariant and interferences testing for software programs written in C++. ACRE allows developers without knowledge in AOP to use aspects to test their...
 
The Evolution of the R Software Ecosystem
Found in: 2013 17th European Conference on Software Maintenance and Reengineering (CSMR)
By Daniel M. German,Bram Adams,Ahmed E. Hassan
Issue Date:March 2013
pp. 243-252
Software ecosystems form the heart of modern companies' collaboration strategies with end users, open source developers and other companies. An ecosystem consists of a core platform and a halo of user contributions that provide value to a company or projec...
 
On the Relationship between Program Evolution and Fault-Proneness: An Empirical Study
Found in: 2013 17th European Conference on Software Maintenance and Reengineering (CSMR)
By Fehmi Jaafar,Salima Hassaine,Yann-Gael Gueheneuc,Sylvie Hamel,Bram Adams
Issue Date:March 2013
pp. 15-24
Over the years, many researchers have studied the evolution and maintenance of object-oriented source code in order to understand the possibly costly erosion of the software. However, many studies thus far did not link the evolution of classes to faults. S...
 
An empirical study of build system migrations in practice: Case studies on KDE and the Linux kernel
Found in: 2012 IEEE International Conference on Software Maintenance (ICSM)
By Roman Suvorov,Meiyappan Nagappan,Ahmed E. Hassan,Ying Zou,Bram Adams
Issue Date:September 2012
pp. 160-169
As the build system, i.e. the infrastructure that constructs executable deliverables out of source code and other resources, tries to catch up with the ever-evolving source code base, its size and already significant complexity keep on growing. Recently, t...
 
Regaining Lost Knowledge through Dynamic Analysis and Aspect Orientation
Found in: Software Maintenance and Reengineering, European Conference on
By Andy Zaidman, Serge Demeyer, Bram Adams, Kris De Schutter, Ghislain Hoffman, Bernard De Ruyck
Issue Date:March 2006
pp. 91-102
This paper describes our experiences of applying dynamic analysis solutions on an industrial legacy application written in C, with the help of Aspect Orientation (AO). We use a number of dynamic analysis techniques that can help in alleviating the problem ...
 
Replicating and Re-evaluating the Theory of Relative Defect-Proneness
Found in: IEEE Transactions on Software Engineering
By Mark Syer,Meiyappan Nagappan,Bram Adams,Ahmed Hassan
Issue Date:February 2015
pp. 1
A good understanding of the factors impacting defects in software systems is essential for software practitioners, because it helps them prioritize quality improvement efforts (e.g., testing and code reviews). Defect prediction models are typically built u...
 
On the Relationship between the Number of Ad Libraries in an Android App and its Rating
Found in: IEEE Software
By Israel Mojica Ruiz,Meiyappan Nagappan,Bram Adams,Thorsten Berger,Steffen Dienst,Ahmed Hassan
Issue Date:May 2014
pp. 1
One of the most popular ways to monetize a free app is by including advertisements in the app. There are several advertising (ad) companies that provide these ads to the app developers through ad libraries that need to be integrated in the app. However, th...
 
A Large Scale Empirical Study on Software Reuse in Mobile Apps
Found in: IEEE Software
By Israel Mojica Ruiz,Bram Adams,Meiyappan Nagappan,Steffen Dienst,Thorsten Berger,Ahmed Hassan
Issue Date:November 2013
pp. 1
Mobile apps are software products developed to run on mobile devices. In less than five years, the number of apps has grown exponentially to more than one million in the largest mobile app stores. One possible explanation for this exponential growth could ...
 
On the effect of program exploration on maintenance tasks
Found in: 2013 20th Working Conference on Reverse Engineering (WCRE)
By Zephyrin Soh,Foutse Khomh,Yann-Gael Gueheneuc,Giuliano Antoniol,Bram Adams
Issue Date:October 2013
pp. 391-400
When developers perform a maintenance task, they follow an exploration strategy (ES) that is characterised by how they navigate through the program entities. Studying ES can help to assess how developers understand a program and perform a change task. Vari...
   
Message from the chairs
Found in: 2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM)
By Jurgen Vinju,Bram Adams,Juergen Rilling,Foutse Khomh
Issue Date:September 2013
pp. iv
On behalf of the SCAM 2013 Conference and Program Committee, we would like to welcome you to the capital of Dutch industrial design, i.e., Eindhoven, the Netherlands, for the 13 th IEEE International Working Conference on Source Code Analysis and Manipulat...
   
Will my patch make it? And how fast? Case study on the Linux kernel
Found in: 2013 10th IEEE Working Conference on Mining Software Repositories (MSR 2013)
By Yujuan Jiang,Bram Adams,Daniel M. German
Issue Date:May 2013
pp. 101-110
The Linux kernel follows an extremely distributed reviewing and integration process supported by 130 developer mailing lists and a hierarchy of dozens of Git repositories for version control. Since not every patch can make it and of those that do, some pat...
   
Exploring the Development of Micro-apps: A Case Study on the BlackBerry and Android Platforms
Found in: Source Code Analysis and Manipulation, IEEE International Workshop on
By Mark D. Syer,Bram Adams,Ying Zou,Ahmed E. Hassan
Issue Date:September 2011
pp. 55-64
The recent meteoric rise in the use of smart phones and other mobile devices has led to a new class of applications, i.e., micro-apps, that are designed to run on devices with limited processing, memory, storage and display resources. Given the rapid succe...
 
An industrial study on the risk of software changes
Found in: Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering (FSE '12)
By Ahmed E. Hassan, Bram Adams, Emad Shihab, Zhen Ming Jiang
Issue Date:November 2012
pp. 1-11
Modelling and understanding bugs has been the focus of much of the Software Engineering research today. However, organizations are interested in more than just bugs. In particular, they are more concerned about managing risk, i.e., the likelihood that a co...
     
An empirical study of build maintenance effort
Found in: Proceeding of the 33rd international conference on Software engineering (ICSE '11)
By Ahmed E. Hassan, Bram Adams, Shane McIntosh, Thanh H.D. Nguyen, Yasutaka Kamei
Issue Date:May 2011
pp. 141-150
The build system of a software project is responsible for transforming source code and other development artifacts into executable programs and deliverables. Similar to source code, build system specifications require maintenance to cope with newly impleme...
     
Modeling the evolution of topics in source code histories
Found in: Proceeding of the 8th working conference on Mining software repositories (MSR '11)
By Ahmed E. Hassan, Bram Adams, Dorothea Blostein, Stephen W. Thomas
Issue Date:May 2011
pp. 173-182
Studying the evolution of topics (collections of co-occurring words) in a software project is an emerging technique to automatically shed light on how the project is changing over time: which topics are becoming more actively developed, which ones are dyin...
     
Security versus performance bugs: a case study on Firefox
Found in: Proceeding of the 8th working conference on Mining software repositories (MSR '11)
By Ahmed E. Hassan, Bram Adams, Shahed Zaman
Issue Date:May 2011
pp. 93-102
A good understanding of the impact of different types of bugs on various project aspects is essential to improve software quality research and practice. For instance, we would expect that security bugs are fixed faster than other types of bugs due to their...
     
An experience report on scaling tools for mining software repositories using MapReduce
Found in: Proceedings of the IEEE/ACM international conference on Automated software engineering (ASE '10)
By Ahmed E. Hassan, Bram Adams, Weiyi Shang
Issue Date:September 2010
pp. 275-284
The need for automated software engineering tools and techniques continues to grow as the size and complexity of studied systems and analysis techniques increase. Software engineering researchers often scale their analysis techniques using specialized one-...
     
Understanding the impact of code and process metrics on post-release defects: a case study on the Eclipse project
Found in: Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM '10)
By Ahmed E. Hassan, Bram Adams, Emad Shihab, Walid M. Ibrahim, Zhen Ming Jiang
Issue Date:September 2010
pp. 1-10
Research studying the quality of software applications continues to grow rapidly with researchers building regression models that combine a large number of metrics. However, these models are hard to deploy in practice due to the cost associated with collec...
     
Can we refactor conditional compilation into aspects?
Found in: Proceedings of the 8th ACM international conference on Aspect-oriented software development (AOSD '09)
By Ahmed E. Hassan, Bram Adams, Herman Tromp, Wolfgang De Meuter
Issue Date:March 2009
pp. 94-104
Systems software uses conditional compilation to manage crosscutting concerns in a very fine-grained and efficient way, but at the expense of tangled and scattered conditional code. Refactoring of conditional compilation into aspects gets rid of these issu...
     
Towards a DSAL for object layout in virtual machines
Found in: Proceedings of the 2008 AOSD workshop on Domain-specific aspect languages (DSAL '08)
By Bram Adams, Michael Haupt, Stijn Timbermont
Issue Date:April 2008
pp. 1-4
High-level language virtual machine implementations offer a challenging domain for modularization, not only because they are inherently complex, but also because efficiency is not likely to be traded for modularity. The central data structure used througho...
     
Aspect mining in the presence of the C preprocessor
Found in: Proceedings of the 2008 AOSD workshop on Linking aspect technology and evolution (LATE '08)
By Bart Van Rompaey, Bram Adams, Celina Gibbs, Yvonne Coady
Issue Date:March 2008
pp. 1-6
In systems software, the C preprocessor is heavily used to manage variability and improve efficiency. It is the primary tool to model crosscutting concerns in a very fine-grained way, but leads to extremely tangled and scattered preprocessor code. In this ...
     
cHALO, stateful aspects in C
Found in: Proceedings of the 2008 AOSD workshop on Aspects, components, and patterns for infrastructure software (ACP4IS '08)
By Bram Adams, Charlotte Herzeel, Kris Gybels
Issue Date:March 2008
pp. 1-6
History-based pointcut languages are a very expressive and powerful means to obtain robust pointcuts. To implement them in an efficient way, people have proposed various optimisations and program history retention strategies, especially for Java-based aspe...
     
An aspect for idiom-based exception handling: (using local continuation join points, join point properties, annotations and type parameters)
Found in: Proceedings of the 5th workshop on Engineering properties of languages and aspect technologies (SPLAT '07)
By Bram Adams, Kris De Schutter
Issue Date:March 2007
pp. 1-es
The last couple of years, various idioms used in the 15 MLOC C code base of ASML, the world's biggest lithography machine manufacturer, have been unmasked as crosscutting concerns. However, finding a scalable aspect-based implementation for them did not su...
     
 1