Protecting software through obfuscation: Can it keep pace with progress in code analysis?

S Schrittwieser, S Katzenbeisser, J Kinder… - Acm computing surveys …, 2016 - dl.acm.org
Software obfuscation has always been a controversially discussed research area. While
theoretical results indicate that provably secure obfuscation in general is impossible, its …

A brief survey of program slicing

B Xu, J Qian, X Zhang, Z Wu, L Chen - ACM SIGSOFT Software …, 2005 - dl.acm.org
Program slicing is a technique to extract program parts with respect to some special
computation. Since Weiser first proposed the notion of slicing in 1979, hundreds of papers …

A survey of software refactoring

T Mens, T Tourwé - IEEE Transactions on software engineering, 2004 - ieeexplore.ieee.org
We provide an extensive overview of existing research in the field of software refactoring.
This research is compared and discussed based on a number of different criteria: the …

Automated software transplantation

ET Barr, M Harman, Y Jia, A Marginean… - Proceedings of the 2015 …, 2015 - dl.acm.org
Automated transplantation would open many exciting avenues for software development:
suppose we could autotransplant code from one system into another, entirely unrelated …

Identification of extract method refactoring opportunities for the decomposition of methods

N Tsantalis, A Chatzigeorgiou - Journal of Systems and Software, 2011 - Elsevier
The extraction of a code fragment into a separate method is one of the most widely
performed refactoring activities, since it allows the decomposition of large and complex …

Conditioned program slicing

G Canfora, A Cimitile, A De Lucia - Information and Software Technology, 1998 - Elsevier
Slicing is a technique to decompose programs based on the analysis of the control and data
flow. In the original Weiser's definition, a slice consists of any subset of program statements …

Program slicing: Methods and applications

A De Lucia - Proceedings first ieee international workshop on …, 2001 - ieeexplore.ieee.org
Program slicing is a viable method to restrict the focus of a task to specific sub-components
of a program. Examples of applications include debugging, testing, program …

Enabling reuse-based software development of large-scale systems

RW Selby - IEEE Transactions on Software Engineering, 2005 - ieeexplore.ieee.org
Software reuse enables developers to leverage past accomplishments and facilitates
significant improvements in software productivity and quality. Software reuse catalyzes …

[图书][B] The compiler design handbook: optimizations and machine code generation

YN Srikant, P Shankar - 2002 - taylorfrancis.com
The widespread use of object-oriented languages and Internet security concerns are just the
beginning. Add embedded systems, multiple memory banks, highly pipelined units …

Systematizing pragmatic software reuse

R Holmes, RJ Walker - ACM Transactions on Software Engineering and …, 2013 - dl.acm.org
Many software reuse tasks involve reusing source code that was not designed in a manner
conducive to those tasks, requiring that ad hoc modifications be applied. Such pragmatic …