Search For:

Displaying 1-20 out of 20 total
Strong Preservation by Model Deformation
Found in: 2012 Sixth International Symposium on Theoretical Aspects of Software Engineering (TASE)
By Roberto Giacobazzi,Isabella Mastroeni,Durica Nikolic
Issue Date:July 2012
pp. 33-40
Reliable and secure system design requires an increasing number of methods, algorithms, and tools for automatic program manipulation. Any program change corresponds to a transformation that affects the semantics at some given level of abstraction. We call ...
 
Toward Digital Asset Protection
Found in: IEEE Intelligent Systems
By Christian Collberg,Jack Davidson,Roberto Giacobazzi,Yuan Xiang Gu,Amir Herzberg,Fei-Yue Wang
Issue Date:November 2011
pp. 8-13
The goal of software protection (SP) research is to make software safe from malicious attacks by preventing adversaries from tampering, reverse engineering, and illegally redistributing software. The Digital Asset Protection Association (DAPA) was launched...
 
Abstract Interpretation in Code Security
Found in: Software Engineering and Formal Methods, IEEE International Conference on
By Roberto Giacobazzi
Issue Date:November 2008
pp. 3
In this tutorial we will consider abstract non-interference as a formal model for reasoning about language based security. Abstract non-interference generalises standard non-interference by modelling the information leaked as abstract properties of concret...
 
Hiding Information in Completeness Holes: New Perspectives in Code Obfuscation and Watermarking
Found in: Software Engineering and Formal Methods, IEEE International Conference on
By Roberto Giacobazzi
Issue Date:November 2008
pp. 7-18
In this paper we show how abstract interpretation, and more specifically completeness, provides anadequate model for reasoning about code obfuscation and watermarking. The idea is that makinga program obscure, or equivalently hiding information in it, corr...
 
Control Code Obfuscation by Abstract Interpretation
Found in: Software Engineering and Formal Methods, IEEE International Conference on
By Mila Dalla Preda, Roberto Giacobazzi
Issue Date:September 2005
pp. 301-310
Control code obfuscation is intended to prevent malicious reverse engineering of software by masking the program control flow. These obfuscating transformations often rely on the existence of opaque predicates, that support the design of transformations th...
 
Modelling Prolog control
Found in: Proceedings of the 19th ACM SIGPLAN-SIGACT symposium on Principles of programming languages (POPL '92)
By Giorgio Levi, Michael Codish, Roberto Barbuti, Roberto Giacobazzi
Issue Date:January 1992
pp. 95-104
The goal of this paper is to construct a semantic basis for the abstract interpretaion of Prolog programs. Prolog is a well-known logic programming language which applies a depth-first search strategy in order to provide a practical approximation of Horn c...
     
A general framework for semantics-based bottom-up abstract interpretation of logic programs
Found in: ACM Transactions on Programming Languages and Systems (TOPLAS)
By Giorgio Levi, Roberto Barbuti, Roberto Giacobazzi
Issue Date:January 1988
pp. 133-181
The theory of abstract interpretation provides a formal framework to develop advanced dataflow analysis tools. The idea is to define a nonstandard semantics which is able to compute, in finite time, an approximated model of the program. In this paper, we d...
     
Analyzing program dependencies for malware detection
Found in: Proceedings of ACM SIGPLAN on Program Protection and Reverse Engineering Workshop 2014 (PPREW'14)
By Isabella Mastroeni, Mila Dalla Preda, Roberto Giacobazzi
Issue Date:January 2014
pp. 1-7
Metamorphic malware continuously modify their code, while preserving their functionality, in order to foil misuse detection. The key for defeating metamorphism relies in a semantic characterization of the embedding of the malware into the target program. I...
     
Fast location of similar code fragments using semantic 'juice'
Found in: Proceedings of the 2nd ACM SIGPLAN Program Protection and Reverse Engineering Workshop (PPREW '13)
By Arun Lakhotia, Mila Dalla Preda, Roberto Giacobazzi
Issue Date:January 2013
pp. 1-6
Abstraction of semantics of blocks of a binary is termed as 'juice.' Whereas the denotational semantics summarizes the computation performed by a block, its juice presents a template of the relationships established by the block. BinJuice is a tool for ext...
     
Obfuscation by partial evaluation of distorted interpreters
Found in: Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation (PEPM '12)
By Neil D. Jones, Roberto Giacobazzi, Isabella Mastroeni
Issue Date:January 2012
pp. 63-72
How to construct a general program obfuscator? We present a novel approach to automatically generating obfuscated code P2 from any program P whose source code is given. Start with a (program-executing) interpreter interp for the language in which P is writ...
     
Making abstract domains condensing
Found in: ACM Transactions on Computational Logic (TOCL)
By Francesca Scozzari, Francesco Ranzato, Roberto Giacobazzi
Issue Date:January 2005
pp. 33-60
In this article, we show that reversible analyses of logic languages by abstract interpretation can be performed without loss of precision by systematically refining abstract domains. This is obtained by adding to the abstract domain the minimal amount of ...
     
Compositionality in the puzzle of semantics
Found in: Proceedings of the 2002 ACM SIGPLAN workshop on Partial evaluation and semantics-based program manipulation (PEPM '02)
By Isabella Mastroeni, Roberto Giacobazzi
Issue Date:January 2002
pp. 253-263
In this paper we study the connection between the structure of relational abstract domains for program analysis and compositionality of the underlying semantics. Both can be systematically designed as solution of the same abstract domain equation involving...
     
A characterization of symmetric semantics by domain complementation
Found in: Proceedings of the 2nd international ACM SIGPLAN conference on on Principles and practice of declarative programming (PPDP '00)
By Isabella Mastroeni, Roberto Giacobazzi
Issue Date:September 2000
pp. 115-126
Ownership types provide a statically enforceable way of specifying object encapsulation and enable local reasoning about program correctness in object-oriented languages. However, a type system that enforces strict object encapsulation is too constraining:...
     
Goal independency and call patterns in the analysis of logic programs
Found in: Proceedings of the 1994 ACM symposium on Applied computing (SAC '94)
By Maurizio Gabbrielli, Roberto Giacobazzi
Issue Date:March 1994
pp. 394-399
This paper describes the effects of program restructuring in a dataflow environment. Previous studies showed that dataflow programs can exhibit locality and that a memory hierarchy is feasible in a dataflow environment. This study shows that the order in w...
     
Abstract filters: improving bottom-up execution of logic programs by two-phase abstract interpretation
Found in: Proceedings of the 1994 ACM symposium on Applied computing (SAC '94)
By Byeong-Mo Chang, Kwang-Moo Choe, Roberto Giacobazzi
Issue Date:March 1994
pp. 388-393
This paper describes the effects of program restructuring in a dataflow environment. Previous studies showed that dataflow programs can exhibit locality and that a memory hierarchy is feasible in a dataflow environment. This study shows that the order in w...
     
Compositional analysis of modular logic programs
Found in: Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages (POPL '93)
By Michael Codish, Roberto Giacobazzi, Saumya K. Debray
Issue Date:March 1993
pp. 451-464
This paper describes a semantic basis for a compositional approach to the analysis of logic programs. A logic program is viewed as consisting of a set of modules, each module defining a subset of the program's predicates. Analyses are constructed by consid...
     
A unifying view of abstract domain design
Found in: ACM Computing Surveys (CSUR)
By Francesco Ranzato, Gilberto File, Roberto Giacobazzi
Issue Date:March 1988
pp. 333-336
As organizations implement systematic software reuse programs to improve productivity and quality, they must be able to measure their progress and identify the most effective reuse strategies. This is done with reuse metrics and models. In this article we ...
     
Making abstract interpretations complete
Found in: Journal of the ACM (JACM)
By Francesca Scozzari, Francesco Ranzato, Roberto Giacobazzi
Issue Date:January 1988
pp. 361-416
Completeness is an ideal, although uncommon, feature of abstract interpretations, formalizing the intuition that, relatively to the properties encoded by the underlying abstract domains, there is no loss of information accumulated in abstract computations....
     
A logical model for relational abstract domains
Found in: ACM Transactions on Programming Languages and Systems (TOPLAS)
By Francesca Scozzari, Roberto Giacobazzi
Issue Date:January 1988
pp. 1067-1109
In this article we introduce the notion of Heyting completion in abstract interpretation. We prove that Heyting completion provides a model for Cousot's reduced cardinal power of abstract domains and that it supplies a logical basis to specify relational d...
     
Complementation in abstract interpretation
Found in: ACM Transactions on Programming Languages and Systems (TOPLAS)
By Agostino Cortesi, Catuscia Palamidessi, Francesco Ranzato, Gilberto File, Roberto Giacobazzi
Issue Date:January 1988
pp. 7-47
Reduced product of abstract domains is a rather well-known operation for domain composition in abstract interpretation. In this article, we study its inverse operation, introducing a notion of domain complementation in abstract interpretation. Complementat...
     
 1